Jboot发新版本了,具体地址:https://git.oschina.net/fuhai/jboot , 此版本没有新增功能,主要是bug修复的版本。 jboot 1.0-beta3 changes更新如下: 1、修复使用@Inject自动注入后,再使用JFinal的@Before(Tx.Class)会出现空指针的问题。 2、修复读取配置文件的时候,同一个Class对于不同的配置信息读取不到的问题。 3、修复多数据源的时候,读取数据源解析错误的问题。 4、修复readme文档编写错误的问题。 5、修复当有JbootAppListener{敏感词}的时候,JbootAppListenerManager无法初始化的问题。 多数据源支持使用如下: 1、配置住数据源 jboot.datasource.type= jboot.datasource.url= jboot.datasource.user= jboot.datasource.password= jboot.datasource.driverClassName= 2、配置其他数据源 jboot.datasource.a1.type= jboot.datasource.a1.url= jboot.datasource.a1.user= jboot.datasource.a1.password= jboot.datasource.a1.driverClassName= jboot.datasource.b2.type= jboot.datasource.b2.url= jboot.datasource.b2.user= jboot.datasource.b2.password= jboot.datasource.b2.driverClassName= jboot.datasource.xxx.type= jboot.datasource.xxx.url= jboot.datasource.xxx.user= jboot.datasource.xxx.password= jboot.datasource.xxx.driverClassName= 以上配置是配置了a1、b2、xxx 三个不同的数据源,在使用Jfinal(或Jboot)进行数据操作的时候,只需在model中使用use指定数据源即可,例如: UserModel user = new UserModel(); user.setUserName(“michael”); user.serPassword(“123456”); user.use(“a1”).save();//使用数据源a1进行保存 user.use(“b2”).save();//使用数据源b2进行保存 user.use(“xxx”).save();//使用数据源xxx进行保存 更多关于多数据源的使用,请参考Jfinal的帮助文档。 JbootRedisLock的分布式锁使用如下: 代码: JbootRedisLock lock = new JbootRedisLock("lockName"); lock.runIfAcquired(new Runnable(){ @Override public void run() { //do your something } }); 在分布式项目中,在并发高峰的时候,对于同一个lockName,只会有一个Runnable在执行,其他执行到这部分的时候,会直接跳过。 若想让其他分布式项目(或者并发线程)在这部分等待,则需要指定等待时间,初始化JbootRedisLock的代码修改如下: JbootRedisLock lock = new JbootRedisLock("lockName”,1000*10); lock.runIfAcquired(new Runnable(){ @Override public void run() { //do your something } }); 这个锁会等待10秒,在10秒内能获得锁就执行Runnable代码,得不到就跳过。 虽然jboot还没有发布1.0正式版,但是基于Jfinal多年稳定的框架基础上,bug已经非常之少,同时已经有很多的商业项目在使用jboot进行开发,遇到问题在QQ群反馈一般情况下也都会当天修复,所以小伙伴可以放心愉快的使用,你会感受到前所未有的快感。 Jboot,专为大型分布式项目和微服务而生,欢迎评论、批评和指导。 |