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:18:17 UTC
svn commit: r829907 - in
/incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller:
AggregateAnalysisEngineController_impl.java
BaseAnalysisEngineController.java Endpoint_impl.java
PrimitiveAnalysisEngineController_impl.java
Author: cwiklik
Date: Mon Oct 26 19:18:17 2009
New Revision: 829907
URL: http://svn.apache.org/viewvc?rev=829907&view=rev
Log:
UIMA-1637 Modified service's jmx ServiceInfoMBean to show serviceKey,status,and deployment descriptor path
Modified:
incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java
incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java
incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/Endpoint_impl.java
incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java
Modified: incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java?rev=829907&r1=829906&r2=829907&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java (original)
+++ incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java Mon Oct 26 19:18:17 2009
@@ -38,6 +38,7 @@
import org.apache.uima.aae.UIMAEE_Constants;
import org.apache.uima.aae.UimaClassFactory;
import org.apache.uima.aae.InProcessCache.CacheEntry;
+import org.apache.uima.aae.controller.BaseAnalysisEngineController.ServiceState;
import org.apache.uima.aae.controller.LocalCache.CasStateEntry;
import org.apache.uima.aae.delegate.ControllerDelegate;
import org.apache.uima.aae.delegate.Delegate;
@@ -670,7 +671,7 @@
// Change state of the delegate
ServiceInfo sf = getDelegateServiceInfo(key);
if (sf != null) {
- sf.setState("Disabled");
+ sf.setState(ServiceState.DISABLED.name());
}
synchronized (disabledDelegateList) {
disabledDelegateList.add(key);
@@ -1323,12 +1324,13 @@
Endpoint endpoint = ((Endpoint) destinationMap.get(key));
if (key != null && endpoint != null) {
ServiceInfo serviceInfo = endpoint.getServiceInfo();
- PrimitiveServiceInfo pServiceInfo = new PrimitiveServiceInfo();
+ PrimitiveServiceInfo pServiceInfo = new PrimitiveServiceInfo(endpoint.isCasMultiplier(), null);
pServiceInfo.setBrokerURL(serviceInfo.getBrokerURL());
pServiceInfo.setInputQueueName(serviceInfo.getInputQueueName());
if (endpoint.getDestination() != null) {
pServiceInfo.setReplyQueueName(endpoint.getDestination().toString());
}
+ pServiceInfo.setServiceKey(key);
pServiceInfo.setState(serviceInfo.getState());
pServiceInfo.setAnalysisEngineInstanceCount(1);
@@ -2328,6 +2330,9 @@
endpoint.setWaitingForResponse(false);
endpoint.cancelTimer();
boolean collocatedAggregate = false;
+ if ( endpoint.getServiceInfo() != null ) {
+ endpoint.getServiceInfo().setState(ServiceState.RUNNING.name());
+ }
ResourceMetaData resource = null;
ServiceInfo remoteDelegateServiceInfo = null;
if (aTypeSystem.trim().length() > 0) {
@@ -2484,6 +2489,12 @@
initialized = true;
// Notify client listener that the initialization of the controller was successfull
notifyListenersWithInitializationStatus(null);
+ // If this is a collocated aggregate change its state to RUNNING from INITIALIZING.
+ // The top level aggregate state is changed when listeners on its input queue are
+ // succesfully started in SpringContainerDeployer.doStartListeners() method.
+ if ( !isTopLevelComponent() ) {
+ changeState(ServiceState.RUNNING);
+ }
}
private String findKeyForValue(String fromDestination) {
@@ -2555,7 +2566,7 @@
if (key != null && !delegateStatMap.containsKey(key)) {
if (key != null) {
ServiceInfo serviceInfo = anEndpoint.getServiceInfo();
- PrimitiveServiceInfo pServiceInfo = new PrimitiveServiceInfo();
+ PrimitiveServiceInfo pServiceInfo = new PrimitiveServiceInfo(serviceInfo.isCASMultiplier(),null);
pServiceInfo.setBrokerURL(serviceInfo.getBrokerURL());
pServiceInfo.setInputQueueName(serviceInfo.getInputQueueName());
pServiceInfo.setState(serviceInfo.getState());
@@ -2666,7 +2677,7 @@
public AggregateServiceInfo getServiceInfo() {
if (serviceInfo == null) {
- serviceInfo = new AggregateServiceInfo(isCasMultiplier());
+ serviceInfo = new AggregateServiceInfo(isCasMultiplier(), this);
// if this is a top level service and the input channel not yet initialized
// block in getInputChannel() on the latch
if (isTopLevelComponent() && getInputChannel() != null) {
@@ -2676,8 +2687,8 @@
serviceInfo.setInputQueueName(getName());
serviceInfo.setBrokerURL("vm://localhost");
}
- serviceInfo.setDeploymentDescriptor("");
- serviceInfo.setState("Running");
+ serviceInfo.setDeploymentDescriptorPath(super.aeDescriptor);
+ //serviceInfo.setState(super.getState().name());
}
return serviceInfo;
}
Modified: incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java?rev=829907&r1=829906&r2=829907&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java (original)
+++ incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java Mon Oct 26 19:18:17 2009
@@ -103,6 +103,10 @@
AnalysisEngineController, EventSubscriber {
private static final Class CLASS_NAME = BaseAnalysisEngineController.class;
+ public static enum ServiceState { INITIALIZING, RUNNING, DISABLED, STOPPING, FAILED };
+
+ protected ServiceState currentState = ServiceState.INITIALIZING;
+
private static final long DoNotProcessTTL = 30 * 60 * 1000; // 30 minute time to live
protected volatile ControllerLatch latch = new ControllerLatch(this);
@@ -804,10 +808,14 @@
if (remote) {
serviceInfo = getInputChannel().getServiceInfo();
} else {
- serviceInfo = new ServiceInfo();
+ serviceInfo = new ServiceInfo(isCasMultiplier(), this);
serviceInfo.setBrokerURL(getBrokerURL());
serviceInfo.setInputQueueName(getName());
- serviceInfo.setState("Active");
+ // if a colocated service, set its key as defined in the AE descriptor
+ if ( !this.isTopLevelComponent() ) {
+ serviceInfo.setServiceKey(delegateKey);
+ }
+ //serviceInfo.setState(getState().name());
}
ServiceInfo pServiceInfo = null;
@@ -919,7 +927,7 @@
sInfo.setBrokerURL(aServiceInfo.getBrokerURL());
sInfo.setInputQueueName(aServiceInfo.getInputQueueName());
sInfo.setState(aServiceInfo.getState());
- sInfo.setDeploymentDescriptor(deploymentDescriptor);
+ sInfo.setDeploymentDescriptorPath(aeDescriptor);
if (isCasMultiplier()) {
sInfo.setCASMultiplier();
}
@@ -1583,7 +1591,7 @@
serviceInfo = ((AggregateAnalysisEngineController) this).getServiceInfo();
}
if (serviceInfo != null) {
- serviceInfo.setDeploymentDescriptor(deploymentDescriptor);
+ serviceInfo.setDeploymentDescriptorPath(aeDescriptor);
}
}
@@ -2761,4 +2769,16 @@
daemonServiceExecutor.scheduleWithFixedDelay(new UimaAsServiceCleanupThread(this), 0,
sleepInterval, TimeUnit.MILLISECONDS);
}
+
+ public void changeState(ServiceState state) {
+ synchronized(currentState) {
+ currentState = state;
+ }
+ }
+
+ public ServiceState getState() {
+ synchronized(currentState) {
+ return currentState;
+ }
+ }
}
Modified: incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/Endpoint_impl.java
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/Endpoint_impl.java?rev=829907&r1=829906&r2=829907&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/Endpoint_impl.java (original)
+++ incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/Endpoint_impl.java Mon Oct 26 19:18:17 2009
@@ -25,6 +25,7 @@
import org.apache.uima.UIMAFramework;
import org.apache.uima.aae.UIMAEE_Constants;
+import org.apache.uima.aae.controller.BaseAnalysisEngineController.ServiceState;
import org.apache.uima.aae.error.AsynchAEException;
import org.apache.uima.aae.error.ErrorContext;
import org.apache.uima.aae.error.MessageTimeoutException;
@@ -342,10 +343,14 @@
public ServiceInfo getServiceInfo() {
if (serviceInfo == null) {
- serviceInfo = new ServiceInfo(isCasMultiplier);
+ serviceInfo = new ServiceInfo(isCasMultiplier, null);
serviceInfo.setBrokerURL(serverURI);
serviceInfo.setInputQueueName(endpoint);
- serviceInfo.setState("Active");
+ if ( controller == null ) {
+ serviceInfo.setState(ServiceState.INITIALIZING.name());
+ } else {
+ serviceInfo.setState(controller.getState().name());
+ }
}
return serviceInfo;
}
Modified: incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java?rev=829907&r1=829906&r2=829907&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java (original)
+++ incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java Mon Oct 26 19:18:17 2009
@@ -240,9 +240,9 @@
}
if (serviceInfo == null) {
- serviceInfo = new PrimitiveServiceInfo(isCasMultiplier());
+ serviceInfo = new PrimitiveServiceInfo(isCasMultiplier(), this);
}
-
+ serviceInfo.setServiceKey(delegateKey);
serviceInfo.setAnalysisEngineInstanceCount(analysisEnginePoolSize);
if (!isStopped()) {
@@ -769,17 +769,15 @@
public PrimitiveServiceInfo getServiceInfo() {
if (serviceInfo == null) {
- serviceInfo = new PrimitiveServiceInfo();
+ serviceInfo = new PrimitiveServiceInfo(isCasMultiplier(), this);
+ serviceInfo.setServiceKey(delegateKey);
}
if (isTopLevelComponent() && getInputChannel() != null) {
serviceInfo.setInputQueueName(getInputChannel().getServiceInfo().getInputQueueName());
serviceInfo.setBrokerURL(super.getBrokerURL());
+ serviceInfo.setDeploymentDescriptorPath(super.aeDescriptor);
}
- serviceInfo.setState("Running");
- if (isCasMultiplier()) {
- serviceInfo.setCASMultiplier();
- }
return serviceInfo;
}