转载

Jboot 2.0.1 发布,新增基于 Fescar 的分布式事务支持

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
正文到此结束
Loading...