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/10/26 20:08:31 UTC

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

Author: cwiklik
Date: Mon Oct 26 19:08:31 2009
New Revision: 829902

URL: http://svn.apache.org/viewvc?rev=829902&view=rev
Log:
UIMA-1637 Modified to change service state using ServiceState enum. 

Modified:
    incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsInputChannel.java
    incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/SpringContainerDeployer.java
    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/JmsInputChannel.java
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsInputChannel.java?rev=829902&r1=829901&r2=829902&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsInputChannel.java (original)
+++ incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsInputChannel.java Mon Oct 26 19:08:31 2009
@@ -41,6 +41,7 @@
 import org.apache.uima.aae.controller.Endpoint;
 import org.apache.uima.aae.controller.Endpoint_impl;
 import org.apache.uima.aae.controller.PrimitiveAnalysisEngineController;
+import org.apache.uima.aae.controller.BaseAnalysisEngineController.ServiceState;
 import org.apache.uima.aae.delegate.Delegate;
 import org.apache.uima.aae.error.InvalidMessageException;
 import org.apache.uima.aae.handler.Handler;
@@ -738,10 +739,16 @@
 
   public ServiceInfo getServiceInfo() {
     if (serviceInfo == null) {
-      serviceInfo = new ServiceInfo();
+      serviceInfo = new ServiceInfo(false,controller);
       serviceInfo.setBrokerURL(getBrokerURL());
       serviceInfo.setInputQueueName(getName());
-      serviceInfo.setState("Active");
+      if ( controller == null ) {
+        serviceInfo.setState(ServiceState.INITIALIZING.name());
+      } else {
+        if ( controller.isCasMultiplier()) {
+          serviceInfo.setCASMultiplier();
+        }
+      }
     }
     return serviceInfo;
   }

Modified: incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/SpringContainerDeployer.java
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/SpringContainerDeployer.java?rev=829902&r1=829901&r2=829902&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/SpringContainerDeployer.java (original)
+++ incubator/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/SpringContainerDeployer.java Mon Oct 26 19:08:31 2009
@@ -37,6 +37,7 @@
 import org.apache.uima.aae.controller.ControllerLifecycle;
 import org.apache.uima.aae.controller.Endpoint;
 import org.apache.uima.aae.controller.UimacppServiceController;
+import org.apache.uima.aae.controller.BaseAnalysisEngineController.ServiceState;
 import org.apache.uima.adapter.jms.JmsConstants;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.util.Level;
@@ -344,8 +345,10 @@
         (UimaDefaultMessageListenerContainer) ctx.getBean(listeners[i]);
       //  Only start those listeners that are not running yet. 
       if ( listener != null && !listener.isRunning()) {
-        if ( topLevelController != null ) 
-        System.out.println("Controller:"+topLevelController.getComponentName()+" Activating Listener on Queue:"+listener.getDestination()+" Selector:"+listener.getMessageSelector()+" Broker:"+listener.getBrokerUrl());
+        if ( topLevelController != null ) {
+          System.out.println("Controller:"+topLevelController.getComponentName()+" Activating Listener on Queue:"+listener.getDestination()+" Selector:"+listener.getMessageSelector()+" Broker:"+listener.getBrokerUrl());
+          topLevelController.changeState(ServiceState.RUNNING);
+        }
         listener.start();
       }
     }
@@ -362,12 +365,14 @@
         while( registryIterator.hasNext()) {
           String id = (String)registryIterator.next();
           UimaEEAdminSpringContext springAdminContext = (UimaEEAdminSpringContext)springContainerRegistry.get(id);
-          FileSystemXmlApplicationContext ctx = 
-            (FileSystemXmlApplicationContext)springAdminContext.getSpringContainer();
-          if ( ctx != null ) {
-            String[] listeners = ctx
-            .getBeanNamesForType(org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer.class);
-            doStartListeners(listeners, ctx);
+          if ( springAdminContext != null ) {
+            FileSystemXmlApplicationContext ctx = 
+              (FileSystemXmlApplicationContext)springAdminContext.getSpringContainer();
+            if ( ctx != null ) {
+              String[] listeners = ctx
+              .getBeanNamesForType(org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer.class);
+              doStartListeners(listeners, ctx);
+            }
           }
         }
       }

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=829902&r1=829901&r2=829902&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 Mon Oct 26 19:08:31 2009
@@ -45,6 +45,7 @@
 import org.apache.uima.aae.controller.AnalysisEngineController;
 import org.apache.uima.aae.controller.Endpoint;
 import org.apache.uima.aae.controller.PrimitiveAnalysisEngineController;
+import org.apache.uima.aae.controller.BaseAnalysisEngineController.ServiceState;
 import org.apache.uima.aae.delegate.Delegate;
 import org.apache.uima.aae.error.ErrorHandler;
 import org.apache.uima.aae.error.Threshold;
@@ -337,6 +338,9 @@
     if (controller != null && controller.isStopped()) {
       return;
     }
+    if ( controller != null ) {
+      controller.changeState(ServiceState.FAILED);
+    }
     if (endpoint == null) {
       super.handleListenerSetupFailure(t, true);
       String controllerId = "";
@@ -355,6 +359,9 @@
       // available. The connection to a broker cannot be established. Keep trying until
       // the broker becomes available.
       refreshConnectionUntilSuccessful();
+      if ( controller != null ) {
+        controller.changeState(ServiceState.RUNNING);
+      }
       System.out.println(controllerId + " Listener Established Connection to Broker:"
               + getBrokerUrl());
       if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.WARNING)) {
@@ -874,6 +881,10 @@
       // Make sure all threads are started. This forces each thread to call
       // PrimitiveController to initialize the next instance of AE
       ((ThreadPoolTaskExecutor) taskExecutor).getThreadPoolExecutor().prestartAllCoreThreads();
+      //  Change the state of a collocated service
+      if ( !controller.isTopLevelComponent() ) {
+        controller.changeState(ServiceState.RUNNING);
+      }
     }
   }