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 2017/12/07 16:52:54 UTC
svn commit: r1817396 -
/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java
Author: cwiklik
Date: Thu Dec 7 16:52:54 2017
New Revision: 1817396
URL: http://svn.apache.org/viewvc?rev=1817396&view=rev
Log:
UIMA-5665 synchronize connection recovery so that only one listener retries until success.
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=1817396&r1=1817395&r2=1817396&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 Thu Dec 7 16:52:54 2017
@@ -167,6 +167,15 @@ public class UimaDefaultMessageListenerC
public void setTargetedListener() {
targetedListener = true;
}
+ private static boolean connectionClosedOrFailed(ActiveMQConnection connection) {
+ if (connection == null
+ || connection.isClosed()
+ || connection.isClosing()
+ || connection.isTransportFailed()) {
+ return true;
+ }
+ return false;
+ }
/**
* Overriden Spring's method that tries to recover from lost connection. We dont
@@ -189,6 +198,10 @@ public class UimaDefaultMessageListenerC
} catch( SharedConnectionNotInitializedException ee) {
// the onnectionClosedOrFailed(c) below will test for null
}
+ if ( !connectionClosedOrFailed(c) ) {
+ //System.out.println("............. Thread:"+Thread.currentThread().getId()+" Connection restored - returning");
+ return;
+ }
while (isRunning() && !terminating ) {
Connection tcon = null;
try {