【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

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

关注

评论

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

【LeetCode】只出现一次的数字Java题解

Albert

算法 LeetCode 11月月更

params传参与body传参区别

源字节1号

软件开发 前端开发 后端开发 小程序开发

技术内幕 | StarRocks 支持 Apache Hudi 原理解析

StarRocks

#数据库

新双机热备软件排名看这里!

行云管家

高可用 双机热备

先楫半导体HPM6700系列正式合入OpenHarmony社区主干

Geek_2d6073

你知道IPC二级和IPC三级有什么区别吗?两者对PCB产品的影响又是什么呢?

华秋PCB

PCB ipc PCB设计

用javascript分类刷leetcode3.动态规划(图文视频讲解)

Geek_07a724

JavaScript LeetCode

JavaScript刷LeetCode心得

js2030code

JavaScript LeetCode

前端安全问题及防护思路

FinFish

网络安全 安全 安全架构 移动安全 前端安全

软件测试面试真题 | 测试一个你完全不熟悉的系统,你会怎么办?

测试人

软件测试 面试题 自动化测试 测试开发

桌面端运行小程序的简易实操

FinFish

跨端开发 跨端运行 桌面应用 桌面应用开发

堡垒机小知识科普-行云管家

行云管家

网络安全 信息安全 堡垒机 等保2.0

HarmonyOS线上Codelabs系列挑战赛第二期:调用三方库,制作酷炫的视觉效果

HarmonyOS开发者

HarmonyOS

使用 C++ 部署深度学习模型快速上手方案

MegEngineBot

c++ 深度学习 开源 MegEngine 模型部署

linux(centos)中部署docker(步骤超全,含带一些发展史和一些概念)

A-刘晨阳

Docker Linux 运维 11月月更

让数据流动起来,RocketMQ Connect 技术架构解析

阿里巴巴云原生

阿里云 RocketMQ 云原生

DAO社区治理代币投票挖矿系统开发合约定制

开发微hkkf5566

TDSQL携手金蝶云·苍穹,发布“国产数据库联合解决方案”

腾讯云数据库

数据库 腾讯云 tdsql 金蝶 腾讯云数据库

沉浸式视听体验:全景声技术是如何实现的?

阿里云视频云

阿里云 音视频 音频

零基础转行Web前端培训机构怎么选

小谷哥

docker如何在容器外执行容器内命令

A-刘晨阳

Docker Linux 运维 11月月更

AR Engine光照估计能力,让虚拟物体在现实世界更具真实感

HMS Core

AR HMS Core

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

如何把 ThinkPHP 5 的项目迁移到阿里云函数计算来应对流量洪峰?

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

干货|分析PostgreSql单表60w数据却占用55g空间

i查拉图斯特拉如是说

数据库 postgresql db 11月月更

JavaScript刷LeetCode-字符串类解题技巧

Geek_07a724

JavaScript LeetCode

软件测试面试真题 | UI自动化测试如何通过子元素定位父元素?

测试人

软件测试 面试题 自动化测试

Java培训机构应该怎么去学习开发技术

小谷哥

HarmonyOS 3开启新一轮升级,3年前的nova 6也能更新!

Geek_2d6073

Go语言入门16—锁

良猿

Go golang 后端 11月月更

关于DAO社区代币挖矿治理dapp系统开发

开发微hkkf5566

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