写点什么

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

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

关注

评论

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

如何建设IT运维流程与体系

穿过生命散发芬芳

运维体系 三周年连更

系统稳定性建设之我见(64/100)

hackstoic

质量管理 系统稳定性

Java - 泛型

乌龟哥哥

三周年连更

CefSharp自定义缓存实现

沙漠尽头的狼

dpdk l2fwd如何初始化每个逻辑核的port/queue的

linux大本营

队列 DPDK DPDK开发

6G 通信技术和 5G 通信技术的区别

汪子熙

通讯协议 通讯 三周年连更

扎最深的寨,打最持久的仗——一知智能AI商业化攻略访谈录

B Impact

一键生成通用的微服务(gRPC)项目代码,让你的开发效率翻倍提升

vison

Go 微服务 gRPC 代码自动生成

概述产品设计通用七原则

阿泽🧸

产品设计 三周年连更

写一个完整的SHOW TABLE STATUS 语句返回的所有表的状态信息对应的结构体

linux大本营

数据库 存储 结构体 C++

nvim 配置c++环境

linux大本营

vim C++

一文带你了解实战常用JavaScript API

程序员海军

JavaScript 三周年连更

UDP报头是通过结构体位段实现的吗

linux大本营

网络协议 udp UDP协议

重载++运算符分别实现i++和++i

linux大本营

运算符 数据结构与算法

解析下rte_pktmbuf_pool_create参数含义

linux大本营

DPDK DPDK开发

共话数字化新技术、新趋势 华为云开发者日东莞站成功举办

极客天地

京韵、京城、京味:从一台服务器看数字北京

脑极体

算力

Golang new 和 make 函数

宇宙之一粟

Go make new 三周年连更

打工人逃不开「单人单岗」

Java 架构 程序人生 职场

Django笔记十七之group by 分组用法总结

Hunter熊

Python django count 分组查询 sum

dpdk中,如何建立portid/queue的配置和逻辑核心的关系

linux大本营

队列 DPDK DPDK开发

2022-04-26:给定一个数组componets,长度为A, componets[i] = j,代表i类型的任务需要耗时j 给定一个二维数组orders,长度为M, orders[i][0]代表i

福大大架构师每日一题

golang 算法

数据存储与访问——文件存储读写

芯动大师

application 三周年连更 SharedPreference

Go sync.Once:简约而不简单的并发利器

陈明勇

Go golang 高并发 三周年连更 sync.Once

linux dbus客户端和服务器示例代码

linux大本营

c++ Linux dbus

Go并发编程的秘密武器:内存模型和同步原语

Jack

openbmc 中如何使用D-bus

linux大本营

dbus openBMC

minikube 初体验环境搭建

IT蜗壳-Tango

三周年连更

基于Flutter实现Windows平台离线大模型对话应用实战

轻口味

flutter AI windows 跨平台 三周年连更

第五期(2022-2023)传统行业云原生技术落地调研报告——金融篇

York

容器 DevOps 微服务 云原生 金融

linux dbus代码举例

linux大本营

Linux C++

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