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的同学。
<dependency> <groupId>io.jboot</groupId> <artifactId>jboot</artifactId> <version>2.0.1</version> </dependency>
@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