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 2009/02/27 20:59:26 UTC

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

Author: cwiklik
Date: Fri Feb 27 19:59:26 2009
New Revision: 748666

URL: http://svn.apache.org/viewvc?rev=748666&view=rev
Log:
UIMA-1292 Force Spring to silently recover the connection to a Broker that is missing on startup

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

Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java?rev=748666&r1=748665&r2=748666&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/UimaDefaultMessageListenerContainer.java Fri Feb 27 19:59:26 2009
@@ -80,7 +80,6 @@
 		setAcceptMessagesWhileStopping(false);
 		setExceptionListener(this);
     threadGroup = new ThreadGroup("ListenerThreadGroup_"+Thread.currentThread().getThreadGroup().getName());
-
 	}
 	public UimaDefaultMessageListenerContainer(boolean freeCasQueueListener)
 	{
@@ -158,7 +157,6 @@
       }
     } else if ( disableListener(t)) {
       handleQueueFailure(t);
-//      terminate(t);
     }
   }
   
@@ -271,15 +269,33 @@
 	  if ( controller != null && controller.isStopped()) {
 	    return;
 	  }
-	  t.printStackTrace();
-
-	  
 	  if ( endpoint == null ) {
-	    
-      super.handleListenerSetupFailure(t, false);
-      terminate(t);
+	    super.handleListenerSetupFailure(t, true);
+      String controllerId = ""; 
+      if (controller != null ) {
+        controllerId = "Uima AS Service:"+controller.getComponentName();
+      }
+      if ( UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.WARNING) ) {
+        UIMAFramework.getLogger(CLASS_NAME).logrb(Level.WARNING, this.getClass().getName(),
+                  "handleListenerSetupFailure", JmsConstants.JMS_LOG_RESOURCE_BUNDLE, "UIMAJMS_listener_connection_failure__WARNING",
+                  new Object[] {  controllerId, getBrokerUrl() });
+      }
+      System.out.println(controllerId+" Listener Unable to Connect to Broker:" +getBrokerUrl()+" Retrying ....");
+      // This code executes during initialization of the service. The Endpoint is not yet 
+      // available. The connection to a broker cannot be established. Keep trying until
+      // the broker becomes available.
+      refreshConnectionUntilSuccessful();
+      System.out.println(controllerId+" Listener Established Connection to Broker:" +getBrokerUrl());
+      if ( UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.WARNING) ) {
+        UIMAFramework.getLogger(CLASS_NAME).logrb(Level.WARNING, this.getClass().getName(),
+                  "handleListenerSetupFailure", JmsConstants.JMS_LOG_RESOURCE_BUNDLE, "UIMAJMS_listener_connection_recovered__WARNING",
+                  new Object[] {  controllerId, getBrokerUrl() });
+      }
       return;
 	  }
+
+	  // Connection failure that occurs AFTER the service initialized. 
+	  t.printStackTrace();
  
 	  synchronized( mux ) {
 	      if ( !failed ) {