业务:
通过activeMQ发送消息,发送不成功进行告警发送消息。
但是由于不成功一直重试机制导致获取不到异常信息。
private static final String BROKEURL = "failover:(tcp://1:61616,tcp://2:61616,tcp://3:61616)?randomize=false"
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKEURL);
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession( Boolean.TRUE, Session.AUTO_ACKNOWLEDGE );
Destination topic = session.createTopic( "TOPIC.UPLOAD.OTC" );
MessageProducer producer = session.createProducer( topic );
producer.setDeliveryMode( DeliveryMode.PERSISTENT );
connection.start();
TextMessage message = session.createTextMessage( messageContent );
producer.send( message );
session.commit();
session.close();
connection.close();
代码一致循环尝试重连,异常也不抛出,本地是抛出异常进行微信告警通知的。
log信息:
15:51:52.341 [ActiveMQ Task-1] ERROR o.a.a.t.f.Fail

博客讨论了在使用ActiveMQ发送消息时遇到的问题,由于重试机制导致无法获取异常信息。通过修改连接URL,增加`startupMaxReconnectAttempts`参数,成功捕获到了JMSException,从而能进行异常通知。这强调了正确配置重试策略在故障恢复中的重要性。
1244

被折叠的 条评论
为什么被折叠?



