- 删除泛型支持,聚合根id支持string类型
- 使用kotlin重构代码
bugfix
vert.x批量异常类型变更导致解析重复key失败
- 基础依赖升级
- 在冲突命令异常时,提高解析命令id成功率
- 少量的代码日志优化,EventStore配置信息精简
- 删除
application
和exception
消息队列,统一发送到event
队列 - 获取类名时修改为使用TypeNameProvider,取消实现的强依赖
- 聚合根的
EventHandler
重构,每次重新从Container
中获取 feature
: 支持自定义CoroutineDispatcher
,留出扩展点,可进行Wrap
支持trace
等信息传递
- 常规版本升级,支持
kotlin 1.6
- 修改测试最佳实践,默认配置有可能导致不必要的循环依赖
- 精简事件序列服务实现,冗余低效代码清理,提高可读性
- 整合测试用例,覆盖多选型场景
bugfix
: 发布事件时需要重新合并Command
的items
bugfix
: 修复InMemoryEventStore
写入失效的问题
- 重命名框架中接口格式,修改I开头的接口,更符合
Java
规范 CommandService
改名为CommandBus
,更符合Command
语义- 支持
CommandMessage
传入不同的聚合根id
基本类型
- 更新了
vert.x jdbc
驱动,支持传入自定义DataSource
,为支持ShardingDataSource
提供了便利 - 重构了
MySQL
PostgreSQL
MongoDB
驱动实现,重新抽象了EventStore
和PublishedVersionStore
的处理函数,简化代码 - 针对
Java
异步编程做了深度优化,支持CommandHandler
和EventHandler
中定义CompletableFuture
返回值,阻塞调用封装在协程中,避免使用#join() #get()
等阻塞代码,同时也支持kotlin suspend
- 重新定义了线程模型,消费
mailbox
消息时使用递归的方式实现,无阻塞调用 - 针对web组件,可以完美支持
webflux
,返回值使用Mono.fromFuture
包装既可 - 依赖基建版本升级,丰富了
test case
和压测case