ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

消息中间件-ActiveMQ专题

2022-07-15 17:06:42  阅读:198  来源: 互联网

标签:专题 处理 ActiveMQ listener 消息 消息中间件 服务器 方法


常见问题及解决方案:

1 什么是ActiveMQ ?
activeMQ 是一种开源的,实现了 JMS1.1 规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。

2 ActiveMQ 服务器宕机怎么办?
尽量不要用非持久化消息,非要用的话,将临时文件限制尽可能的调大
3 丢消息怎么办?

用持久化消息,或者非持久化消息及时处理不要堆积,或者启动事务,启动事务后,
commit()方法会负责任的等待服务器的返回,也就不会关闭连接导致消息丢失了。

4 消息的不均匀消费

将 prefetch 设为 1,每次处理 1 条消息,处理完再去取,这样也慢不了多少
5 死信队列
如果你想在消息处理失败后,不被服务器删除,还能被其他消费者处理或重试,可以关闭AUTO_ACKNOWLEDGE,将 ack 交由程序自己处理
如果使用了 AUTO_ACKNOWLEDGE,消费消息有 2 种方法,一种是调用 consumer.receive()方法,该方法将阻塞直到获得并返回一条消息。
这种情况下,消息返回给方法调用者之后就自动被确认了。另一种方法是采用 listener 回调函数,在有消息到达时,会调用 listener 接口的 onMessage 方法。在这种情况下,在 onMessage 方法执行完毕后,消息才会被确认,此时只要在方法中抛出异常,该消息就不会被确认。

标签:专题,处理,ActiveMQ,listener,消息,消息中间件,服务器,方法
来源: https://www.cnblogs.com/yang66/p/16482007.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有