Redisson 在基于 NIO 的 Netty 框架上,充分利用了 Redis 键值数据库提供的一系列优势,在 Java 实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。
更新内容如下:
特性
- RExecutorService 任务 ID 注入
- 将带有 ttl 参数的 Submit() 方法添加到 RExecutorService
- 将带有 timeToLive 参数的 schedule() 方法添加到 RScheduledExecutorService
- 添加了 MyBatis 缓存实现
- 添加了 Spring Transaction Manager 的 doSuspend 和 doResume 方法的实现
- 添加了 WorkerOptions.taskTimeout 设置
- 添加了 RSemaphore.addPermits 方法
- 使用 WorkerOptions 对象定义 TaskFailureListener,TaskFinishedListener,TaskStartedListener 和 TaskSuccessListener 任务侦听器的能力
Bug 修复
- CommandDecoder 引发 NPE
- ReplicatedConnectionManager 触发使用 IP 地址而不是主机名的从站的重新激活
- 反应式/Rxjava2 事务无法解锁回滚或提交时的锁定
- Spring Transaction Manager 不处理 Redisson TransactionException
- RBuckets.get 为不存在的存储桶抛出 NPE
- RPermitExpirableSemaphore 不过期
- RedissonCacheStatisticsAutoConfiguration 应该以 CacheMeterBinderProvider 存在为条件
更新说明:https://github.com/redisson/redisson/releases/tag/redisson-3.12.0