Jboot 是一个基于 JFinal、JFinal-Undertow、Dubbo 等开发的微服务框架,帮助开发者降低微服务开发门槛。同时完美支持在 idea、eclipse 下多 maven 模块,对java代码、html、css、js 等资源文件进行热加载,爽爽的开发。
Jboot 2.0 第一个正式版的推出,经历了10+个版本超过三个月的迭代,同时基于 Jboot1.x 70+个版本的发布,已经非常稳定,可以适用于与任何商业版本。
Fescar 是阿里开发的微服务架构的分布式事务解决方案,Jboot 基于 Fescar 提供的分布式事务功能,前只支持 Dubbo 环境下的分布式事务自动回滚(晚点回添加对 Motan 等其他 RPC的支持),只需要在 Controller 或者 Service 的方法里添加 @FescarGlobalTransactional 注解 ,方法内部涉及到的多个 RPC 远程调用自动有了 分布式事务 的功能,非常的简单明了。
代码如下:
@RequestMapping("/your/mapping")
public class MyController extends JbootController {
@RPCInject
private Service1 service1;
@RPCInject
private Service2 service2;
@RPCInject
private Service3 service3;
@FescarGlobalTransactional
public void index() {
service1.doSomeThing(1);
service2.doSomeThing(2);
service3.doSomeThing(3);
renderText("....");
}
在以上代码中,由于 index()
方法添加了 @FescarGlobalTransactional
注解,其方法内部的 RPC 调用中,当任何一个 Service 发布错误的时候,其他 Service 自动进行回滚。
测试的 simple 在 https://gitee.com/fuhai/jboot/tree/master/src/test/java/io/jboot/test/fescar
这部分的代码提供和测试,@frank9527 都给与了非常大的支持和帮助,非常感谢,Jboot 发布了近 100 跟版本里,离不开每位像 @frank9527 的同学。
Jboot v2.0.1 更新内容如下:
- 新增:Fescar 分布式事务的支持,只需要一个 @FescarGlobalTransactional 注解即可完成分布式事务,感谢 @frank9527
- 新增:代码生成器的 remarks 生成的功能
- 优化:重构 FixedInterceptor,在其方法传入 Invocation 即可,而不是 FixedInvocation,方便拦截器在 Controller 和 Aop 层的复用。
- 修复:html、css、js 的热加载功能 当缺少commons-io的依赖会出错的问题
- 修复:@EnableCORS 开启跨域请求功能,在某些情况下不起作用的问题
Maven 依赖:
<dependency>
<groupId>io.jboot</groupId>
<artifactId>jboot</artifactId>
<version>2.0.1</version>
</dependency>
Hello World
@RequestMapping("/")
public class HelloworldController extends JbootController {
public void index(){
renderText("hello world");
}
public static void main(String[] args){
JbootApplication.run(args);
}
}
更多Jboot的功能,可以移步:https://gitee.com/fuhai/jboot
另外,JPress 是一个使用 Jboot 开发的类似 WordPress 的产品,更多了解请移步:http://www.jpress.io
转自 https://www.oschina.net/news/105414/jboot-2-0-1-released