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();