写点什么

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

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

关注

评论

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

看了我常用的IDEA插件,同事也开始悄悄安装了

Java你猿哥

Java 程序员 ssm IDEA 架构师

软件测试如何自我提升

FunTester

火山引擎数智平台协助洞察美图类APP新增长 付费用户转化超过124%

字节跳动数据平台

大数据 增长 产品增长 企业号 4 月 PK 榜 美图

阿里独家「操作系统和计算机网络」,GitHub标星超百万

Java 程序员 计算机网络 操作系统

火山引擎DataLeap推出全链路智能监控报警平台

字节跳动数据平台

数据中台 SLA 数据监控 企业号 4 月 PK 榜

从零学习SDK(5)SDK文档的学习和参考

MobTech袤博科技

三维设计新帮手|Blender怎么入门?

Finovy Cloud

blender 3D软件

深度学习基础入门篇[四]:激活函数介绍:tanh、sigmoid、ReLU、PReLU、ELU、softplus、softmax、swish等

汀丶人工智能

人工智能 机器学习 深度学习 激活函数

selenium源码通读·4 |webdriver/common分析

Python 源码 测试 自动化测试 selenium

PC GWP-ASan方案原理 | 堆破坏问题排查实践

字节跳动终端技术

问题排查 PC

GitHub数据库榜单第一:Redis核心原理实践

Java 数据库 redis 缓存

Kubernetes 多集群网络方案系列 1 -- Submariner 介绍

Se7en

一次goroutine 泄漏排查案例

蓝胖子的编程梦

golang 性能 协程 pprof 线上故障

阿里内部热捧“Spring全线笔记”,不止是全家桶,太完整了

Java你猿哥

spring Spring Cloud Spring Boot Spring MVC

Nautilus Chain 上首个 DEX PoseiSwap 通证经济学模型解析

股市老人

博睿学院 | 本周四:OpenTelemetry技术在数据标准化中应用实践

博睿数据

可观测性 智能运维 博睿数据 前沿技术 博睿学院

商汤版ChatGPT「商量」来了!开放API,基于千亿参数大模型,体验实录在此

Openlab_cosmoplat

开源社区 ChatGPT

深度剖析Redis九种数据结构实现原理

Java 数据库 redis 缓存

低代码是什么意思

优秀

低代码

数据开发提效有秘诀!离线开发BatchWorks 六大典型场景拆解

袋鼠云数栈

大数据 离线开发

手把手教你,从零开始搭建Spring Cloud Alibaba!这份笔记太牛了

Java你猿哥

spring Spring Cloud ssm 架构师

Netty服务开发及性能优化

Java Netty

软件测试/测试开发丨Pytest 结合 Allure 生成测试报告

测试人

软件测试 自动化测试 测试开发 pytest Allure

Spring Cloud微服务网关Zuul过滤链和整合OAuth2+JWT入门实战

Java Spring Cloud OAuth2 JWT Zuul

重磅官宣,OpenHarmony开发者大会来了!

OpenHarmony开发者

OpenHarmony

一站式指标平台 Kyligence Zen 功能详解

Kyligence

数据分析 指标平台

selenium源码通读·5 |webdriver/common/action_chains.py-ActionChains类分析

Python 源码 测试 自动化测试 selenium

OpenTelemetry 正在改变我们跟踪和设计应用的方式

NGINX开源社区

nginx 云原生

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