QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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:001922
用户头像

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

关注

评论

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

“他者”德意志(一):“进窄门”的德国AI

脑极体

备战金三银四,阿里,腾讯春招面试题解析,含Java岗988道题分享

Java 架构 面试

敏捷业务实践之计划游戏

Teobler

项目管理 敏捷 敏捷开发 敏捷开发管理

Selenium 自动化前的补充知识,Frame操作、多窗口切换、模糊定位、复合定位

梦想橡皮擦

Python 28天写作 2月春节不断更

让听见炮火的人来做决策,做决策的要好好听听炮火

数列科技杨德华

28天写作

区块链技术在各国政府管理中的运用

CECBC

区块链

小步发布、验收测试和完整团队

Teobler

项目管理 敏捷 敏捷开发 工程实践 敏捷开发管理

山东区块链赋能农产品溯源平台解决方案

源中瑞-龙先生

泰康和百度智能云为何相互需要?

吴俊宇

百度 保险数字化 泰康

“定义”

Nydia

滴滴开源 LogicFlow:专注流程可视化的前端框架

滴滴技术

首全网发!2021最新版美团面经刷题笔记,已霸榜GitHub

比伯

Java 编程 架构 面试 程序人生

Elasticsearch 一个 field 两个索引

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

使用 Tye 辅助开发 k8s 应用竟如此简单(六)

newbe36524

Docker Kubernetes 微服务 dotnet

28天瞎写的第二百四十四天:冥想的种类

树上

冥想 28天写作 正念

应云而生,幽灵的威胁 - 云原生应用交付与运维的思考

阿里巴巴云原生

云计算 容器 微服务 云原生 k8s

关于个人认知的一些碎碎念「Day 6」

道伟

心理学 认知 28天写作

一名叫谙忆的程序员在2021年的具体安排《打工人的那些事》

谙忆

产业数字金融的数字化与生态化

CECBC

金融

又长又细,万字长文带你解读Redisson分布式锁的源码

数据库 redis 架构

敏捷技术实践之TDD

Teobler

敏捷 敏捷开发 TDD 极限编程 测试驱动开发

1.2 Go语言从入门到精通:编写第一个Go程序

xcbeyond

28天写作 Go 语言

【Python】关于 Type Hints 你应该知道这些

zhujun

Python

视频号直播和 PageRank 算法 [待完善]

小匚

机器学习

【科技改变生活,区块链改变世界】欧科云链徐明星的区块链密码朋克世界

CECBC

区块链

敏捷团队实践

Teobler

项目管理 敏捷 敏捷开发 工程实践 敏捷开发管理

微信小程序开发笔记(一)

陈飞

小程序

爬虫知识记录之一

头号摄影师

爬虫

我凭借这份“2021全网最全Java面试清单”彻底征服阿里面试官

比伯

Java 编程 程序员 架构 面试

基于WASM的无侵入式全链路A/B Test实践

韩陆

基于SpringBoot实现文件的上传下载

Java鱼仔

springboot

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