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 2014/08/07 16:27:27 UTC

svn commit: r1616496 - /uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/ManagedUimaService.java

Author: cwiklik
Date: Thu Aug  7 14:27:27 2014
New Revision: 1616496

URL: http://svn.apache.org/r1616496
Log:
UIMA-3964 refactored to enable clean shutdown on quiesce

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/ManagedUimaService.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/ManagedUimaService.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/ManagedUimaService.java?rev=1616496&r1=1616495&r2=1616496&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/ManagedUimaService.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/ManagedUimaService.java Thu Aug  7 14:27:27 2014
@@ -70,7 +70,8 @@ public class ManagedUimaService extends 
 	private String processJmxUrl = null;
 	protected static DuccLogger logger;
 	private String agentStateUpdateEndpoint = "";
-
+    private UimaAsServiceConfiguration  configFactory;
+    
 	public static void main(String[] args) {
 		try {
 			ManagedUimaService ms = new ManagedUimaService(
@@ -104,15 +105,19 @@ public class ManagedUimaService extends 
 	public void onServiceStateChange(ProcessState state) {
 		super.notifyAgentWithStatus(state);
 	}
-
+    public void setConfigFactory(UimaAsServiceConfiguration  configFactory) {
+    	this.configFactory = configFactory;
+    }
 	public void setAgentStateUpdateEndpoint(String agentUpdateEndpoint) {
 		this.agentStateUpdateEndpoint = agentUpdateEndpoint;
 	}
 
 	public void quiesceAndStop() {
 		try {
+			if ( configFactory != null ) {
+				configFactory.stop();  // stop Camel Routes
+			}
 			if (serviceDeployer != null) {
-				serviceDeployer.getTopLevelController().quiesceAndStop();
 				AnalysisEngineController topLevelController = serviceDeployer
 						.getTopLevelController();
 				if (topLevelController != null
@@ -121,9 +126,6 @@ public class ManagedUimaService extends 
 							.undeploy(SpringContainerDeployer.QUIESCE_AND_STOP);
 				}
 			}
-			//super.stop();
-		
-			
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
@@ -134,6 +136,10 @@ public class ManagedUimaService extends 
 		currentState = ProcessState.Stopped;
 		System.out.println("Service STOPPED");
 		try {
+			if ( configFactory != null ) {
+				configFactory.stop();  // stop Camel Routes
+			}
+
 			super.notifyAgentWithStatus(currentState);
 			if (serviceDeployer != null) {
 				// Use top level controller to stop all components