У меня есть проект, в котором я установил время ожидания 5 секунд (getRabbitTemplate (). SetReplyTimeout (5000))
, и я использую метод sendAndReceive для отправки сообщений: getXbidRabbitTemplate ()
SendAndReceive (exchange, routingkey, msg)
.
Сегодня произошла ошибка в соединении
(ShutdownSignalException)
, но в двух поставках не было TimeOut.Первая отгрузка произошла в 09-04-2019 07: 25: 33.980;и второе в 09-04-2019 07: 25: 36.902;
Я не получил ответа (или какой-либо ошибки) и вскоре после того, как произошла ошибка соединения (в 09-04-201907: 25: 52.939)
В других случаях мы обнаружили ошибку TimeOut, и единственное изменение конфигурации состоит в том, что мы удалили retryTemplate из конфигурации RabbitTemplate.
Так мы обнаруживаемthe TimeOut:
getRabbitTemplate().setReplyTimeout(5000);
mResponse = getRabbitTemplate().sendAndReceive(exchange, routingkey, msg);
if(mResponse == null)
{
// TIMEOUT
}
Я ожидал, что если в течение этих 5 секунд не будет получен ответ, я войду в часть TIMEOUT.Возможно ли, что если соединение разорвано и сообщение не достигло сервера, этот TIMEOUT не произойдет?