写点什么

WSO2 MSF4J 增添对 Spring 和 Swagger 的支持

  • 2016-07-24
  • 本文字数:800 字

    阅读完需:约 3 分钟

WSO2 MSF4J 2.0 已增添了对 Spring、Swagger 定义生成、ExceptionMapper 以及 StreamingOutput 的支持。

WSO2 MSF4J 是一种通过 Java 构建微服务的开源框架。根据 WSO2 的介绍,该框架的内存痕迹可低至 25MB,启动时间不超过 400ms。该框架最近发布的 2.0 版包含诸多改进,例如:

  • 支持 Spring 注解和运行时。现在可通过 Spring bean 编写微服务、拦截器(Interceptor),以及异常映射器(Exception mapper)。
  • 可生成 Swagger 定义并支持 Swagger 注解。
  • 支持用 ExceptionMapper 将微服务的异常连接至 HTTP 响应。
  • 支持通过 StreamingOutput 让开发者控制如何将响应流回调用方。

WSO2 MSF4J 的一些主要功能包括:

  • 使用 Java 注解定义微服务 API
  • 支持 JAX-RS 和 JSR 250(注解)
  • 与其他 WSO2 开发、部署、监控和缩放工具集成
  • 与 WSO2 Data Analytics Server 集成
  • 与 WSO2 Identity Server 集成
  • 包含可出于多种目的(例如日志)捕获消息的 API 拦截器
  • 通过 WSO2 DevStudio 执行的开发可通过 Swagger API 定义生成微服务项目
  • 消息传输可通过 Netty 实现
  • 请求可通过唯一的消息 ID 进行追踪

若要使用 MSF4J 创建微服务,开发者需要通过注解 Java 类以定义 API 端点,并使用 Runner 进行部署。最基本的 HelloWorld 示例是这样的:

复制代码
@Path("/hello")
public class HelloService {
@GET
@Path("/{name}")
public String hello(@PathParam("name") String name) {
return "Hello " + name;
}
}

可这样部署:

复制代码
public class Application {
public static void main(String[] args) {
new MicroservicesRunner()
.deploy(new HelloService())
.start();
}
}

通过上述操作,下列 URL

curl http://localhost:8080/hello/world就可以生成“Hello World”的响应。

使用 WSO2 MSF4J 创建的微服务可使用 Maven 构建并部署到 Docker 容器中。

查看英文原文 WSO2 MSF4J Adds Support for Spring and Swagger

2016-07-24 19:002402
用户头像

发布了 283 篇内容, 共 124.0 次阅读, 收获喜欢 63 次。

关注

评论

发布
暂无评论
发现更多内容

B站收藏 12.5w+!GitHub 标星 6.6k+!这份文档拯救了我薄弱的计算机基础

Java架构师迁哥

百度智能云在AI云服务市场四度夺魁!

百度大脑

人工智能 云服务

内卷把我逼成了“扫地僧”把Github上所有面试题都整理了一遍,足足24W字!

Java架构师迁哥

敏捷项目管理是不是可以缩短项目周期,或者说“敏捷就是快”?

万事ONES

项目管理 敏捷开发 ONES 项目管理工具

百度智能云以端边云全面智能化的天工AIoT平台2.0打造智能物联网解决方案

百度大脑

人工智能 物联网

带老弟做项目,凉了

程序员鱼皮

Java c++ Python JavaScript 技术

5分钟速读之Rust权威指南(三十)多线程

wzx

rust

矩阵分解推荐算法(十八)

Databri_AI

推荐算法 矩阵运算

七种方式教你在SpringBoot初始化时搞点事情

L

Java

北鲲云:浅谈云计算与高性能计算的区别与联系

北鲲云

Vue源码学习 | 从源码中学习Javascript技巧

devpoint

JavaScript Vue 6月日更

压缩微指令长度方法

若尘

计算机组成原理 6月日更

高性能计算在人工智能(AI)智药中的应用

北鲲云

JSON 数据格式该怎么使用

网络安全学海

json 网络安全 安全 信息漏洞 渗透测试

快手严厉整治违规商业内容:必须构建平台良性生态链

石头IT视角

Kubernetes手记(22)- K8S包管理器

雪雷

6月日更

敏捷项目管理实践,如何正确使用故事点预估工作量?

万事ONES

项目管理 敏捷开发 ONES

【熬夜整理近百份大厂面经】2022校招提前批面经总结分享(腾讯、字节、阿里、百度、京东等招聘信息+必考点+简历书写)

学无止境的阿奔

c++ 程序员 面试 后端 秋招

AI云市场的繁盛之夏:AI花开果熟,百度抢先品尝第一口甜

脑极体

极光开发者周刊【No.0625】

极光GPTBots-极光推送

mysql的存储引擎知多少

卢卡多多

KV存储引擎 MySQL 数据库 6月日更

阿里实录:一个优秀的分布式系统该如何去设计?

Java架构师迁哥

【得物技术】得物社区实践

得物技术

dubbo dubbo-go 社区 Go 语言 融合

B 站游戏技术平台微服务通用网关实践

bilibili游戏技术

微服务 openresty APISIX 通用网关

做好项目管理,项目经理应当掌握哪些技能?

万事ONES

项目管理 ONES 项目经理

前端 JavaScript 获取字符串中重复次数最多的字符

编程三昧

JavaScript 大前端 数组 指针思想

极光统一消息系统UMS新版上线!多维数据统计分析助推运营增长

极光GPTBots-极光推送

Scrum | 你需要知道这些

Python研究所

项目管理 Scrum 敏捷

JavaScript学习(九)

空城机

JavaScript 大前端 6月日更

CHM源码阅读(jdk1.7)

周周

阿里内部不外传的50万字Java面试手册,首次开放,一天遭狂转10w次

Java架构师迁哥

WSO2 MSF4J增添对Spring和Swagger的支持_Java_Abel Avram_InfoQ精选文章