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 2012/05/10 17:00:17 UTC

svn commit: r1336731 - in /uima/uima-as/trunk: uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngine_impl.java uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java

Author: cwiklik
Date: Thu May 10 15:00:16 2012
New Revision: 1336731

URL: http://svn.apache.org/viewvc?rev=1336731&view=rev
Log:
UIMA-2392 Modified uima-as client to delete its temp reply queue from a broker as part of its stop cleanup

Modified:
    uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngine_impl.java
    uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java

Modified: uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngine_impl.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngine_impl.java?rev=1336731&r1=1336730&r2=1336731&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngine_impl.java (original)
+++ uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngine_impl.java Thu May 10 15:00:16 2012
@@ -44,6 +44,8 @@ import org.apache.activemq.ActiveMQConne
 import org.apache.activemq.ActiveMQMessageConsumer;
 import org.apache.activemq.ActiveMQPrefetchPolicy;
 import org.apache.activemq.command.ActiveMQBytesMessage;
+import org.apache.activemq.command.ActiveMQDestination;
+import org.apache.activemq.command.ActiveMQTempDestination;
 import org.apache.activemq.command.ActiveMQTextMessage;
 import org.apache.uima.UIMAFramework;
 import org.apache.uima.UIMA_IllegalArgumentException;
@@ -226,6 +228,16 @@ public class BaseUIMAAsynchronousEngine_
     if ((sharedConnection = lookupConnection(brokerURI)) != null) {
       // Remove a client from registry
       sharedConnection.unregisterClient(this);
+      ActiveMQConnection amqc = (ActiveMQConnection)sharedConnection.getConnection();
+      // Delete client's temp reply queue from AMQ Broker 
+      if ( amqc != null && consumerDestination != null && 
+           consumerDestination instanceof ActiveMQTempDestination ) {
+        try {
+          amqc.deleteTempDestination((ActiveMQTempDestination)consumerDestination);
+        } catch( Exception e) {
+          e.printStackTrace();
+        }
+      }
       // The destroy method closes the JMS connection when
       // the number of
       // clients becomes 0, otherwise it is a no-op

Modified: uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java?rev=1336731&r1=1336730&r2=1336731&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java (original)
+++ uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java Thu May 10 15:00:16 2012
@@ -2884,6 +2884,9 @@ public abstract class BaseUIMAAsynchrono
       //  This loop attempts to recover broker connection every 5 seconds and ends when all clients 
       //  using this shared object terminate or a connection is recovered
       while( !stop ) {
+        if ( clientList.size() == 0 ) {
+          break; // no more active clients - break out of connection recovery
+        }
         try {
           //  Attempt a new connection to a broker
           create();