jboot 1.0-beta2 发布,基于 Jfinal 类似 SpringBoot 的框架

Jboot又发新版本了,具体地址:https://git.oschina.net/fuhai/jboot

jboot 1.0-beta2 changes更新如下:

1、修复jboot shiro模块的相关bug,可以愉快的在项目中使用shiro了,而且可能是jfinal的shiro支持中最好用的一个。感谢@zhoujh
2、修复无法实例化JbootDbManager的bug。
3、修复JbootRedisLock基于Redis的分布式锁release出错的bug。
4、新增datasource poolName的配置支持。
5、新增多数据源的支持,非常非常简单的在Jfinal中使用多数据源。
6、新增CacheEvict和CachePut两个注解,方便通过配置设置缓存。
7、新增JbootAppListener监听器,方便监听Jboot和Jfinal的启动状态,对自己的程序进行初始化等工作。
8、新增Jfinal sql template 配置的支持,只需在jboot.properties进行配置,无需一行代码。

多数据源支持使用如下:

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,专为大型分布式项目和微服务而生,欢迎评论、批评和指导。

Read More:  

jboot 1.0-beta2 发布,基于 Jfinal 类似 SpringBoot 的框架