You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2011/03/28 19:34:49 UTC
svn commit: r1086307 -
/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java
Author: cwiklik
Date: Mon Mar 28 17:34:49 2011
New Revision: 1086307
URL: http://svn.apache.org/viewvc?rev=1086307&view=rev
Log:
UIMA-2105 destroys listener on a temp reply queue after broker failure
Modified:
uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java
Modified: uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java?rev=1086307&r1=1086306&r2=1086307&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java (original)
+++ uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java Mon Mar 28 17:34:49 2011
@@ -225,7 +225,7 @@ public class UimaDefaultMessageListenerC
UIMAFramework.getLogger(CLASS_NAME).logrb(Level.WARNING, this.getClass().getName(),
"handleTempQueueFailure", JmsConstants.JMS_LOG_RESOURCE_BUNDLE,
"UIMAJMS_jms_listener_failed_WARNING",
- new Object[] { endpoint.getDestination(), getBrokerUrl(), t });
+ new Object[] { getDestination(), getBrokerUrl(), t });
}
// Check if the failure is due to the failed connection. Spring (and ActiveMQ) dont seem to
// provide
@@ -241,7 +241,13 @@ public class UimaDefaultMessageListenerC
t instanceof javax.jms.IllegalStateException
&& t.getMessage().equals("The Consumer is closed")) {
if (controller != null && controller instanceof AggregateAnalysisEngineController) {
- String delegateKey = ((AggregateAnalysisEngineController) controller)
+ // If endpoint not set, this is a temp reply queue listener.
+ if ( endpoint == null ) {
+ destroy();
+ return;
+ }
+
+ String delegateKey = ((AggregateAnalysisEngineController) controller)
.lookUpDelegateKey(endpoint.getEndpoint());
try {
if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.INFO)) {
@@ -885,6 +891,11 @@ public class UimaDefaultMessageListenerC
"UIMAJMS_jms_listener_failed_WARNING",
new Object[] { endpointName, getBrokerUrl(), arg0 });
}
+
+ if ( getDestination() != null && ((ActiveMQDestination)getDestination()).isTemporary() ) {
+ handleTempQueueFailure(arg0);
+ }
+
}
public void setTargetEndpoint(Endpoint anEndpoint) {