Ich kann Nachrichten von der Azure-Service-Bus-Warteschlange verbinden und konsumieren. Der folgende Fehler tritt jedoch zufällig während der Verarbeitung der Nachricht auf. Nach dem Auftreten des Fehlers sieht es so aus, als würden die Nachrichten entweder nicht mehr konsumiert oder an DLQ übergeben. Beim Neustart der Listener-Anwendung wird dieselbe Ausnahme angezeigt.Azure-Service-Bus-Warteschlange - Setup des JMS-Listener-Aufrufers für Zielausnahme fehlgeschlagen
ich mit Spring DefaultMessageListenerContainer mit Apache Qpid
2016-05-05 01: 49: 36,303 14716 WARN - [nerContainer-61] osjlDefaultMessageListenerContainer: Setup von JMS-Nachricht Zuhörer Aufrufer fehlgeschlagen für Ziel '[email protected]' - versuchen, wiederherzustellen. Ursache: Timeout wartet
befestigenUnknown Endpunkt Übertragung {handle = 0, deliveryId = 36, deliveryTag = P \ XB8) T \ XD9 \ xea% A \ x95 \ xe5Fj] \ x91 \ x00 \ x15, Message = 0, more = false, batable = true} Unbekannter Endpunkt Übertragung {handle = 0, deliveryId = 36, deliveryTag = \ xdc \ x9b \ x9d \ xf5 \ x817 \ x9bO \ x97. \ X19 \ xeam < \ x00 \ x81 , Message = 0, mehr = false, batchfähig = true}
javax.jms.IllegalStateException: Geschlossen bei org.apache.qpid.amqp_1_0.jms.impl.SessionImpl.checkClosed (SessionImpl.java:326) bei org.apache.qpid.amqp_1_0.jms.impl.SessionImpl.getTransacted (SessionImpl.java:22 2) bei org.springframework.jms.listener.AbstractMessageListenerContainer.commitIfNecessary (AbstractMessageListenerContainer.java:757) bei org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener (AbstractMessageListenerContainer.java:665) bei org.springframework .jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute (AbstractPollingMessageListenerContainer.java:315) bei org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute (AbstractPollingMessageListenerContainer.java:253) bei org.springframework.jms.listener.DefaultMessageListenerContainer $ AsyncMessageListenerInvoker .invokeListener (DefaultMessageLi stenerContainer.java:1158) bei org.springframework.jms.listener.DefaultMessageListenerContainer $ AsyncMessageListenerInvoker.run (DefaultMessageListenerContainer.java:1052) bei java.lang.Thread.run (Unknown Source)
AKTUALISIERT:
`public DefaultMessageListenerContainer messageListenerContainer() throws NamingException {
DefaultMessageListenerContainer messageListenerContainer = new DefaultMessageListenerContainer();
messageListenerContainer.setConnectionFactory(connectionFactory());
Destination queue = (Destination) context.lookup("STORAGE_NEW_QUEUE");
messageListenerContainer.setDestination(queue);
messageListenerContainer.setConcurrency(concurrency);
messageListenerContainer.setSessionAcknowledgeMode(Session.CLIENT_ACKNOWLEDGE);
messageListenerContainer.setCacheLevel(DefaultMessageListenerContainer.CACHE_SESSION);
messageListenerContainer.setErrorHandler(new EDIMessageErrorHandler());
MessageListenerAdapter adapter = new MessageListenerAdapter();
adapter.setDelegate(new EDIMessageListener());
adapter.setDefaultListenerMethod("onMessage");
messageListenerContainer.setMessageListener(adapter);
return messageListenerContainer;
}`
Bitte beraten Sie, was das Problem sein könnte.
Danke
F: Was sagen die Protokolle auf der Azure-Seite? Ihre Spring/QPid-Logs sagen lediglich "Ich habe versucht, die Kommunikation zu unterbrechen". Dies ist das "Ergebnis" des Problems. Sie müssen die * URSACHE * finden. Es sieht so aus, als müssten Sie sich 1) Ihren Azure-Dienst und 2) Ihre Netzwerkkommunikation zwischen AZure und QPid ansehen ... Abgesehen von den Logs und/oder dem Instrumentieren Ihres Azure-Dienstes möchten Sie vielleicht auch einen [Wireshark] (https://www.wireshark.org/download.html) verfolgen. – paulsm4
Entschuldigung für späte Antwort. Können Sie bitte beraten, wie ich Protokolle der Service Bus-Warteschlange auf Azure abrufen kann. Ich kann nur einen Link für Operationsprotokolle im Namespace sehen, die nicht verfügbar sind.Bitte beachten Sie, dass Message Listener auf Azure VM ausgeführt wird. Ich habe meine DMLC-Konfiguration aktualisiert. – pkumar
@pkumar Wo können Sie dieses Problem lösen? – anonymous