Junx工具包发布

  |   0 评论   |   0 浏览

Junx

  Junx工具包,是辅助java应用程序开发的第三方开源工具包,所有代码开源,github地址详见:https://github.com/junxworks/junx

Maven引用示例

最新版本在http://mvnrepository.com/上搜索junxworks

<dependency>
	<groupId>io.github.junxworks</groupId>
	<artifactId>junx-core</artifactId>
	<version>xxxx</version>
</dependency>

  目前Junx工具包一共包含了junx-core、junx-cache、junx-event、junx-spel、junx-stat、junx-netty6个子模块。

junx-core

1、封装通用工具包utils
2、可伸缩的线程池StandardThreadExecutor(参考tomcat的线程池)
3、统一异常封装exception
4、简单的选择器Chooser,目前支持顺序选择、一致性哈希算法选择
5、支持生命周期管理的统一接口及其实现lifecycle
6、轻量级环形缓存ringfiber
7、轻量级进度跟踪器tracker

junx-cache

Cache是操作KV缓存的统一接口,目前支持Redis、Aerospike、EHCache。支持项目本地cache.properties配置与zookeeper集中配置。

junx-event

  轻量级进程内事件总线EventBus,基于发布->订阅模式实现,可以在进程内进行跨线程通信。目前事件总线实现了下面两种事件总线:
1、基于当前线程发布事件的SimpleEventBus。
2、支持异步发布事件的DisruptorEventBus。
  每个事件订阅者由一个事件通道EventChannel和一个事件处理类EventChannelHandler组成,事件从EventBus发布出来过后,经由EventChannel,再到具体的事件处理类EventChannelHandler。每个EventChannel实现都提供了不同的功能,目前主要提供:
1、SimpleEventChannel:当前线程执行事件处理。
2、ExecutorEventChannel:到指定线程池执行事件处理。
3、DisruptorEventChannel:基于Disruptor框架实现的单线程执行事件处理。
  业务实现EventChannelHandler即可,通过事件通道EventChannel与事件处理EventChannelHandler分离的设计方式,可以将业务执行与线程解耦,可以通过配置注入灵活配置业务执行方式。

junx-netty

  封装了通用的netty服务器启动类,支持心跳检测、长连接,业务只需要实现业务处理的ChannelInboundHandler接口,业务处理类必须是无状态的,可以多线程共享。服务器默认传输字节流,如果不满足需求,可以自己实现ChannelInitializer。实现了多连接池的管理类NettyChannelPoolManager,与连接池封装类NettyChannelPool。

junx-stat

  提供基于交易时间窗口的统计函数,目前支持求和、求均值、计数、唯一计数、相同计数、最大值、最小值、概率分布、区间概率分布、快照、状态等统计函数。

junx-spel

  提供基于SpringEL的表达式编译、表达式执行、扩展函数接口、内置函数等功能。


标题:Junx工具包发布
作者:michael
地址:https://blog.junxworks.cn/articles/2018/08/22/1534921023342.html