鉴于rocketmq-client版本迭代速度较快,而现release版本中stream-rocketmq使用的client版本比较老,很多rocketmq新特性也无法支持;
通过对issues的整理与内部讨论,现对stream-rocketmq做了一次重构,在使用上部分发生了变化,在修复bug的同时也增加了很多内容,如下:
1、剥离 RocketMQ Spring Boot Starter,主要方便自定义功能
2、修复RocketMQ消息失败的反馈
3、规范了内部部分bean的签名
4、支持批量消费
5、支持异步消息回调处理
6、支持MessageConverter机制
7、支持自定义CustomizedTraceTopic
8、支持自定义消费最大重试次数
9、支持Push模式下指定消费起始位
10、支持自定义延迟消息的延迟等级(定时消息需要自行通过header处理)
11、支持阿里云rocketmq对接(没有充分测试)
12、支持可能常用bean的自定义,需要在配置中指定beanName;如MessageConverter, AllocateMessageQueueStrategy,MessageQueueSelector, MessageListener, TransactionListener,SendCallback, SendMessageHook,ErrorAcknowledgeHandler
13、使用上主要体现在配置参数的变化,这次跨度比较大,就没有做兼容处理;因为剥离了rocketmq-boot则相关注解无法直接使用,需自行引入依赖
后续计划:
1、支持consumer多个订阅
2、对spring stream 原生配置参数将充分利用
3、兼容RocketMQ Spring Boot Starter
4、弱化现有的强依赖关系绑定,为后续的pop消费做准备
当前rc版本的更新,必定有很多不足的地方,欢迎各位大佬参与和指导,社区有你更精彩。