怎样集成 ActiveMQ 消息服务?
查看完整题解
参考回答
直接回答
先区分ActiveMQ Classic与Artemis,再选择相应Boot starter和兼容客户端,配置连接工厂与Broker地址,常用JmsTemplate发送、JmsListener接收。它们是消息接入工具,不会自动让数据库更新和消息发送成为一个跨系统原子事务。消息确认、重投与幂等仍需设计。
讲清原理
Boot可以按条件提供连接与监听基础设施,但生产Broker部署、持久化与访问权限仍是独立工作。队列和主题的消费语义不同,监听并发数与消息顺序也要一起考虑。
消费者处理成功但确认前进程退出,消息可能再次投递;处理失败则需受控重试与失败处置。不能把“监听方法只打印一次”当作消息永不重复的证明,也不直接相信不受信任的对象反序列化。
例子与易错点
需要订单事件可靠发送时,可评估本地事务事件记录与后续投递,而不是仅在服务方法上加Transactional。集成验收应包含Broker中断、重投、失败消息和幂等处理。
相关题:第 35 题、第 49 题、第 50 题。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。