Есть следующий маршрут верблюда.Apache Camel-Message Redelivery происходит до того, как один блок блокировки исполняется
@Override
public void configure() throws Exception {
onException(java.lang.Exception.class).useOriginalMessage()
.beanRef("discoveryService", "updateConnection")
.redeliveryPolicyRef("redeliverMessagePolicy");
from(ENDPOINT_URI).to(queueName);
}
с политикой Redelivery, определенной следующим образом в xml-
<redeliveryPolicyProfile id="redeliverMessagePolicy"
retryAttemptedLogLevel="WARN" maximumRedeliveries="8"
redeliveryDelay="${redeliveryDelay}" />
Однако, когда возникает исключение попытки Redelivery сделаны до того, как блок OnException выполняется (Некоторые свойства конфигурации обновляются в блоке OnException У вас есть отладочная точка в DiscoveryService внутри Onexception, она вызывается после попытки повторной доставки). Таким образом, текущее сообщение теряется без повторной доставки. Не знаю, почему это происходит. Использование ActiveMQ-верблюд версия 5.8.0 Thnks
Большое спасибо Клаус .. – Rehan