You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ea...@apache.org on 2013/12/23 00:28:20 UTC

svn commit: r1553049 - /uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/aae/jms_adapter/JmsAnalysisEngineServiceStub.java

Author: eae
Date: Sun Dec 22 23:28:19 2013
New Revision: 1553049

URL: http://svn.apache.org/r1553049
Log:
UIMA-3519

Modified:
    uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/aae/jms_adapter/JmsAnalysisEngineServiceStub.java

Modified: uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/aae/jms_adapter/JmsAnalysisEngineServiceStub.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/aae/jms_adapter/JmsAnalysisEngineServiceStub.java?rev=1553049&r1=1553048&r2=1553049&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/aae/jms_adapter/JmsAnalysisEngineServiceStub.java (original)
+++ uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/aae/jms_adapter/JmsAnalysisEngineServiceStub.java Sun Dec 22 23:28:19 2013
@@ -42,11 +42,9 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.uima.UIMAFramework;
-import org.apache.uima.aae.client.UimaASStatusCallbackListener;
 import org.apache.uima.aae.client.UimaAsBaseCallbackListener;
 import org.apache.uima.aae.client.UimaAsynchronousEngine;
 import org.apache.uima.adapter.jms.JmsConstants;
-import org.apache.uima.adapter.jms.activemq.JmsOutputChannel;
 import org.apache.uima.adapter.jms.client.BaseUIMAAsynchronousEngine_impl;
 import org.apache.uima.analysis_engine.AnalysisEngineServiceStub;
 import org.apache.uima.analysis_engine.metadata.AnalysisEngineMetaData;
@@ -64,6 +62,7 @@ import org.apache.uima.util.Level;
 public class JmsAnalysisEngineServiceStub extends UimaAsBaseCallbackListener implements
         AnalysisEngineServiceStub {
   
+  @SuppressWarnings("rawtypes")
   private static final Class CLASS_NAME = JmsAnalysisEngineServiceStub.class;
 
   public static final String PARAM_BROKER_URL = "brokerUrl";
@@ -90,8 +89,12 @@ public class JmsAnalysisEngineServiceStu
 
   private int retry = 0;
 
+  @SuppressWarnings("rawtypes")
+  private static HashMap enginemap = new HashMap();
+
   private UimaAsynchronousEngine uimaEEEngine;
 
+  @SuppressWarnings("unchecked")
   public JmsAnalysisEngineServiceStub(Resource owner, Parameter[] parameters)
           throws ResourceInitializationException {
     // read parameters
@@ -123,26 +126,34 @@ public class JmsAnalysisEngineServiceStu
       }
     }
 
-    // initialize UIMA EE Engine
-    Map appCtxt = new HashMap();
-    appCtxt.put(UimaAsynchronousEngine.ServerUri, brokerUrl);
-    appCtxt.put(UimaAsynchronousEngine.ENDPOINT, endpoint);
-    appCtxt.put(UimaAsynchronousEngine.CasPoolSize, 0);
-    if (timeout > 0) {
-      appCtxt.put(UimaAsynchronousEngine.Timeout, timeout);
-    }
-    if (getMetaTimeout > 0) {
-      appCtxt.put(UimaAsynchronousEngine.GetMetaTimeout, getMetaTimeout);
-    }
-    if (cpcTimeout > 0) {
-      appCtxt.put(UimaAsynchronousEngine.CpcTimeout, cpcTimeout);
-    }
-    if (binary_serialization != null && binary_serialization.equalsIgnoreCase("true")) {
-      appCtxt.put(UimaAsynchronousEngine.SERIALIZATION_STRATEGY, "binary");
-    }
-    uimaEEEngine = new BaseUIMAAsynchronousEngine_impl();
-    uimaEEEngine.addStatusCallbackListener(this);
-    uimaEEEngine.initialize(appCtxt);
+    if (enginemap.containsKey(brokerUrl+endpoint)) {
+      uimaEEEngine = (UimaAsynchronousEngine)enginemap.get(brokerUrl+endpoint);
+    }
+    else {
+      // initialize UIMA EE Engine
+      @SuppressWarnings("rawtypes")
+      Map appCtxt = new HashMap();
+      appCtxt.put(UimaAsynchronousEngine.ServerUri, brokerUrl);
+      appCtxt.put(UimaAsynchronousEngine.ENDPOINT, endpoint);
+      appCtxt.put(UimaAsynchronousEngine.CasPoolSize, 0);
+      if (timeout > 0) {
+        appCtxt.put(UimaAsynchronousEngine.Timeout, timeout);
+      }
+      if (getMetaTimeout > 0) {
+        appCtxt.put(UimaAsynchronousEngine.GetMetaTimeout, getMetaTimeout);
+      }
+      if (cpcTimeout > 0) {
+        appCtxt.put(UimaAsynchronousEngine.CpcTimeout, cpcTimeout);
+      }
+      if (binary_serialization != null && binary_serialization.equalsIgnoreCase("true")) {
+        appCtxt.put(UimaAsynchronousEngine.SERIALIZATION_STRATEGY, "binary");
+      }
+      uimaEEEngine = new BaseUIMAAsynchronousEngine_impl();
+      uimaEEEngine.addStatusCallbackListener(this);
+      uimaEEEngine.initialize(appCtxt);
+      enginemap.put(brokerUrl+endpoint, uimaEEEngine);
+    }
+
   }
 
   /**