问题描述
我正在尝试记录在 RabbitMQ 中发送消息期间发生的任何信息或异常,为此我尝试在现有连接工厂中添加 ConnectionListener。
kRabbitTemplate.getConnectionFactory().addConnectionListener(new ConnectionListener() {
@Override
public void onCreate(Connection connection) {
System.out.println("Connection Created");
}
@Override
public void onShutDown(ShutdownSignalException signal) {
System.out.println("Connection Shutdown "+signal.getMessage());
}
});
kRabbitTemplate.convertAndSend(exchange,routingkey,empDTO);
为了测试异常场景,我从RabbitMQ控制台解绑甚至删除了队列。但我没有收到任何异常或任何关闭方法调用。
虽然,当我停止 RabbitMQ 服务时,我得到了
Exception in thread "Thread-5" org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect
但是这个异常不是来自我添加的监听器。
我想知道
- 为什么我没有从关闭方法中得到任何异常或调用
- 如何使用 ConnectionListner 和/或 ChannelListner 来记录消息传递的失败/成功。
- 我们可以使用 AMQP 附加程序吗?如果可以,我们该怎么做? (任何示例/教程)
- 确保消息发送的其他方法是什么?
注意:我不想使用发布者确认的方法。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)