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 2010/02/19 21:26:20 UTC

svn commit: r911967 - /incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java

Author: cwiklik
Date: Fri Feb 19 20:26:20 2010
New Revision: 911967

URL: http://svn.apache.org/viewvc?rev=911967&view=rev
Log:
UIMA-1743 ignore SharedConnectionNotInitializedException in closeConnection()

Modified:
    incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java

Modified: incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java?rev=911967&r1=911966&r2=911967&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java (original)
+++ incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java Fri Feb 19 20:26:20 2010
@@ -34,6 +34,7 @@
 import javax.jms.JMSException;
 import javax.jms.TemporaryQueue;
 
+import org.apache.activemq.ActiveMQConnection;
 import org.apache.activemq.ActiveMQConnectionFactory;
 import org.apache.activemq.ActiveMQPrefetchPolicy;
 import org.apache.activemq.command.ActiveMQDestination;
@@ -55,6 +56,7 @@
 import org.apache.uima.util.Level;
 import org.springframework.core.task.TaskExecutor;
 import org.springframework.jms.JmsException;
+import org.springframework.jms.listener.AbstractJmsListeningContainer;
 import org.springframework.jms.listener.DefaultMessageListenerContainer;
 import org.springframework.jms.support.destination.DestinationResolver;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
@@ -738,7 +740,17 @@
       setRecoveryInterval(0);
       setAcceptMessagesWhileStopping(false);
       setAutoStartup(false);
-      getSharedConnection().close();
+      if ( getSharedConnection() != null ) {
+        ActiveMQConnection amqc = (ActiveMQConnection)getSharedConnection();
+        if (amqc != null && amqc.isStarted()
+                && !amqc.isClosed()
+                && !amqc.isClosing()
+                && !amqc.isTransportFailed()) {
+          getSharedConnection().close();
+        }
+      }
+    } catch( AbstractJmsListeningContainer.SharedConnectionNotInitializedException e) {
+      //  Ignore this. This is thrown from Spring's getSharedConnection() 
     } catch (Exception e) {
       if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.WARNING)) {
         if ( controller != null ) {