Junx 工具包发布

本贴最后更新于 2314 天前,其中的信息可能已经时移世异

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>1.0.6</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
    2 引用
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3190 引用 • 8214 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...