Я пытаюсь зарегистрировать BlockedListener
на AMQP CachingConnectionFactory
для обработки уведомлений о соединениях, входящих / выходящих из заблокированного состояния. К сожалению, я никогда не получаю никаких событий.
В моем клиенте Java я использую:
org.springframework.amqp:spring-rabbit:jar:2.1.11.RELEASE
com.rabbitmq:amqp-client:jar:5.4.3
Мой сервер Rabbit использует docker изображение rabbitmq:3-management
, которое сопоставляется с 3.8.2
и Erlang 22.2.4
Это фрагмент кода, который я использую для подключения к кролику и регистрации слушатель.
com.rabbitmq.client.ConnectionFactory rmqConnectionFactory = new com.rabbitmq.client.ConnectionFactory();
rmqConnectionFactory.useNio();
rmqConnectionFactory.setHost(rabbitmqHost);
rmqConnectionFactory.setUsername(rabbitmqUsername);
rmqConnectionFactory.setPassword(rabbitmqPassword);
rmqConnectionFactory.setPort(rabbitmqPort);
rmqConnectionFactory.setVirtualHost(rabbitmqVirtualHost);
CachingConnectionFactory cachingConnectionFactory = new CachingConnectionFactory(rmqConnectionFactory);
cachingConnectionFactory.addConnectionListener(new ConnectionListener() {
@Override
public void onCreate(Connection connection) {
log.info("New connection: {}", connection);
connection.getDelegate().addBlockedListener(new BlockedListener() {
@Override
public void handleBlocked(String s) {
log.warn("Connection {} entered a blocked state with message {}", connection, s);
}
@Override
public void handleUnblocked() {
log.info("Connection {} left a blocked state", connection);
}
});
}
});
Я получаю записи журнала от
log.info("New connection: {}", connection);
Но не от
log.warn("Connection {} entered a blocked state with message {}", connection, s);
или
log.info("Connection {} left a blocked state", connection);
Что такое Я пропал?