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 2016/09/23 20:12:52 UTC
svn commit: r1762087 - in
/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae:
controller/AggregateAnalysisEngineController_impl.java jmx/ServiceInfo.java
jmx/ServiceInfoMBean.java
Author: cwiklik
Date: Fri Sep 23 20:12:52 2016
New Revision: 1762087
URL: http://svn.apache.org/viewvc?rev=1762087&view=rev
Log:
UIMA-5120 Added support for enable/disable CAS logging via jmx. Added a boolean JMX attribute in ServiceInfoMBean.
Modified:
uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java
uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/ServiceInfo.java
uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/ServiceInfoMBean.java
Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java?rev=1762087&r1=1762086&r2=1762087&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java (original)
+++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java Fri Sep 23 20:12:52 2016
@@ -1281,6 +1281,20 @@ public class AggregateAnalysisEngineCont
Endpoint endpoint = null;
try {
String analysisEngineKey = aStep.getAnalysisEngineKey();
+ boolean logCas = false;
+
+ // iterate over the controller list to find one with a matching key
+ for( AnalysisEngineController c : childControllerList ) {
+ if ( analysisEngineKey.equals(c.getKey())) {
+ // from this controller's MBean determine if CAS logging
+ // should be done
+ if ( c.getServiceInfo() != null ) {
+ // lookup controller's MBean
+ logCas = c.getServiceInfo().isLogCasEnabled();
+ }
+ break;
+ }
+ }
// Find the endpoint for the delegate
endpoint = lookUpEndpoint(analysisEngineKey, true);
CacheEntry cacheEntry = getInProcessCache().getCacheEntryForCAS(aCasReferenceId);
@@ -1288,7 +1302,9 @@ public class AggregateAnalysisEngineCont
endpoint.setController(this);
CasStateEntry casStateEntry = getLocalCache().lookupEntry(aCasReferenceId);
casStateEntry.resetReplyReceived();
- if (enableCasLogMap!=null && enableCasLogMap.containsKey(analysisEngineKey)) {
+
+// if (enableCasLogMap!=null && enableCasLogMap.containsKey(analysisEngineKey)) {
+ if ( logCas ) {
// Get a CAS
CAS cas = cacheEntry.getCas();
logCasForEndpoint(analysisEngineKey, cas);
@@ -1376,6 +1392,16 @@ public class AggregateAnalysisEngineCont
tsd.toXML(os);
os.close();
enableCasLogMap.put(analysisEngineKey, true);
+ // iterate over the controller list to find one with a matching key
+ for( AnalysisEngineController c : childControllerList ) {
+ if ( analysisEngineKey.equals(c.getKey())) {
+ if ( c.getServiceInfo() != null ) {
+ // Enable CAS logging
+ c.getServiceInfo().setLogCasEnableed();
+ }
+ break;
+ }
+ }
}
// create XmiCas file name
Long now = Long.valueOf((System.nanoTime()-initializationTime)/1000);
Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/ServiceInfo.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/ServiceInfo.java?rev=1762087&r1=1762086&r2=1762087&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/ServiceInfo.java (original)
+++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/ServiceInfo.java Fri Sep 23 20:12:52 2016
@@ -57,11 +57,18 @@ public class ServiceInfo implements Serv
private AnalysisEngineController controller;
+ private boolean logCasEnabled = false;
+
public ServiceInfo(boolean isaCasMultiplier, AnalysisEngineController controller) {
casMultiplier = isaCasMultiplier;
this.controller = controller;
}
-
+ public boolean isLogCasEnabled() {
+ return logCasEnabled;
+ }
+ public void setLogCasEnableed() {
+ logCasEnabled = !logCasEnabled; // toggle ON and OFF
+ }
public void setCmRegisteredName(String uniqueName ) {
cmUniqueName = uniqueName;
}
Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/ServiceInfoMBean.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/ServiceInfoMBean.java?rev=1762087&r1=1762086&r2=1762087&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/ServiceInfoMBean.java (original)
+++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/ServiceInfoMBean.java Fri Sep 23 20:12:52 2016
@@ -43,5 +43,7 @@ public interface ServiceInfoMBean extend
public String getCmRegisteredName();
public String dumpState();
+
+ public boolean isLogCasEnabled();
}