Author: cwiklik
Date: Thu Jul 26 15:24:15 2018
New Revision: 1836736
URL: http://svn.apache.org/viewvc?rev=1836736&view=rev
Log:
UIMA-5756 modified to publish service jmx url to monitor
Modified:
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/ServiceConfiguration.java
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/ServiceWrapper.java
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/monitor/builtin/RemoteStateObserver.java
Modified:
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java
URL:
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java?rev=1836736&r1=1836735&r2=1836736&view=diff
==============================================================================
---
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java
(original)
+++
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java
Thu Jul 26 15:24:15 2018
@@ -19,6 +19,7 @@
package org.apache.uima.ducc.agent.event;
import java.util.Map;
+import java.util.Objects;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;
@@ -376,11 +377,12 @@ public class AgentEventListener implemen
agent.updateProcessStatus(duccEvent);
}
public void onProcessStateUpdate(@Body String serviceUpdate) throws
Exception {
- logger.info(">>> onProcessStateUpdate", null,"Recv'd Process
Update from Custom Service");
+ logger.info(">>> onProcessStateUpdate", null,"Recv'd Process
Update >>> ");
String[] stateUpdateProperties = serviceUpdate.split(",");
String duccProcessId = null;
String duccProcessState = null;
+ String jmxUrl = null;
ProcessState state = null;
for( String prop : stateUpdateProperties ) {
String[] nv = prop.split("=");
@@ -395,16 +397,22 @@ public class AgentEventListener implemen
} catch( IllegalArgumentException e) {
// invalid state
}
- }
- }
+ } else if ( nv[0].equals("SERVICE_JMX_PORT")) {
+ jmxUrl = nv[1];
+ }
+ }
if ( state == null ) {
logger.info(">>> onProcessStateUpdate", null,"... Agent
Received Invalid State Update event - Unsupported Process
State:"+duccProcessState+" Process ID:"+duccProcessId);
} else if ( duccProcessId == null ) {
logger.info(">>> onProcessStateUpdate", null,"... Agent
Received Invalid State Update event - Process State:"+duccProcessState+"
Missing Process ID");
} else {
- ProcessStateUpdate update = new
ProcessStateUpdate(state, duccProcessId);
+ ProcessStateUpdate update = new
ProcessStateUpdate(state, null, duccProcessId, jmxUrl);
ProcessStateUpdateDuccEvent duccEvent = new
ProcessStateUpdateDuccEvent(update);
- logger.info(">>> onProcessStateUpdate", null,"... Agent
Received ProcessStateUpdateDuccEvent - Process State:"+duccEvent.getState()+"
Process ID:"+duccEvent.getDuccProcessId());
+ String jmxInfo = "";
+ if ( Objects.nonNull(jmxUrl)) {
+ jmxInfo = " Service JMX connect url:"+jmxUrl;
+ }
+ logger.info(">>> onProcessStateUpdate", null,"... Agent
Received ProcessStateUpdateDuccEvent - Process State:"+duccEvent.getState()+"
Process ID:"+duccEvent.getDuccProcessId()+jmxInfo);
agent.updateProcessStatus(duccEvent);
}
}
Modified:
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/ServiceConfiguration.java
URL:
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/ServiceConfiguration.java?rev=1836736&r1=1836735&r2=1836736&view=diff
==============================================================================
---
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/ServiceConfiguration.java
(original)
+++
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/ServiceConfiguration.java
Thu Jul 26 15:24:15 2018
@@ -32,7 +32,7 @@ public class ServiceConfiguration {
private String analysisEngineDescriptorPath;
private String serviceType;
private String jpType;
- private String assignedJmxPort;
+// private String assignedJmxPort;
private String customRegistryClass;
private String customProcessorClass;
private String serviceJmxConnectURL;
@@ -136,9 +136,9 @@ public class ServiceConfiguration {
public void setAnalysisEngineDescriptorPath(String
analysisEngineDescriptorPath) {
this.analysisEngineDescriptorPath =
analysisEngineDescriptorPath;
}
- public void setAssignedJmxPort(String assignedJmxPort) {
- this.assignedJmxPort = assignedJmxPort;
- }
+// public void setAssignedJmxPort(String assignedJmxPort) {
+// this.assignedJmxPort = assignedJmxPort;
+// }
public void setCustomRegistryClass(String customRegistryClass) {
this.customRegistryClass = customRegistryClass;
}
@@ -203,9 +203,9 @@ public class ServiceConfiguration {
this.serviceType = serviceType;
}
- public String getAssignedJmxPort() {
- return assignedJmxPort;
- }
+// public String getAssignedJmxPort() {
+// return assignedJmxPort;
+// }
public String getCustomRegistryClass() {
return customRegistryClass;
@@ -232,11 +232,12 @@ public class ServiceConfiguration {
clientURL = System.getProperty("ducc.deploy.JdURL");
threadCount = System.getProperty("ducc.deploy.JpThreadCount");
serviceType = System.getProperty("ducc.deploy.service.type");
- maxErrors =
System.getProperty("ducc.deploy.service.error.threshold");
- errorWindowSize =
System.getProperty("ducc.deploy.service.error.window");
+ maxErrors = System.getProperty("ducc.deploy.JpErrorThreshold");
+ errorWindowSize =
System.getProperty("ducc.deploy.JpErrorWindowSize");
jpType = System.getProperty("ducc.deploy.JpType");
- assignedJmxPort = System.getProperty("ducc.jmx.port");
+// assignedJmxPort = System.getProperty("ducc.jmx.port");
+ serviceJmxConnectURL = System.getProperty("ducc.jmx.port");
customRegistryClass =
System.getProperty("ducc.deploy.registry.class");
customProcessorClass =
System.getProperty("ducc.deploy.custom.processor.class");
Modified:
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/ServiceWrapper.java
URL:
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/ServiceWrapper.java?rev=1836736&r1=1836735&r2=1836736&view=diff
==============================================================================
---
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/ServiceWrapper.java
(original)
+++
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/ServiceWrapper.java
Thu Jul 26 15:24:15 2018
@@ -55,7 +55,7 @@ public class ServiceWrapper {
Runtime.getRuntime().addShutdownHook(shutdownHook);
}
private String startJmxAgent() throws ServiceInitializationException {
- jmxAgent = new
JMXAgent(serviceConfiguration.getAssignedJmxPort(), logger);
+ jmxAgent = new
JMXAgent(serviceConfiguration.getServiceJmxConnectURL(), logger);
int rmiRegistryPort = jmxAgent.initialize();
return jmxAgent.start(rmiRegistryPort);
@@ -144,7 +144,7 @@ public class ServiceWrapper {
// create JMX agent
String serviceJmxConnectString = startJmxAgent();
-
+ logger.log(Level.INFO, "Deploying service with JMX enabled -
clients can connect using jmx URL:"+serviceJmxConnectString);
serviceConfiguration.setServiceJmxConnectURL(serviceJmxConnectString);
IServiceProcessor processor;
if ( isPiecesParts(serviceConfiguration)) {
Modified:
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/monitor/builtin/RemoteStateObserver.java
URL:
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/monitor/builtin/RemoteStateObserver.java?rev=1836736&r1=1836735&r2=1836736&view=diff
==============================================================================
---
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/monitor/builtin/RemoteStateObserver.java
(original)
+++
uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/monitor/builtin/RemoteStateObserver.java
Thu Jul 26 15:24:15 2018
@@ -30,7 +30,7 @@ import org.apache.uima.util.Level;
import org.apache.uima.util.Logger;
public class RemoteStateObserver implements IServiceMonitor {
- private static final String SERVICE_JMS_PORT = "SERVICE_JMX_PORT=";
+ private static final String SERVICE_JMX_PORT = "SERVICE_JMX_PORT=";
private static final String SERVICE_UNIQUE_ID= "DUCC_PROCESS_UNIQUEID=";
private static final String SERVICE_STATE = "DUCC_PROCESS_STATE=";
private static final String SERVICE_DATA = "SERVICE_DATA=";
@@ -79,10 +79,6 @@ public class RemoteStateObserver impleme
if ( additionalData == null ) {
additionalData = new Properties();
}
- if ( serviceConfiguration.getAssignedJmxPort() != null
&&
-
!serviceConfiguration.getAssignedJmxPort().trim().isEmpty()) {
- additionalData.setProperty(SERVICE_JMS_PORT,
serviceConfiguration.getAssignedJmxPort().trim());
- }
// Agent needs process unique ID to identify it within
inventory.
// The unique id was added as an env var by an agent
before this
// process was launched.
@@ -92,6 +88,12 @@ public class RemoteStateObserver impleme
.append(SEPARATOR)
.append(SERVICE_STATE)
.append(state);
+ if ( serviceConfiguration.getServiceJmxConnectURL() !=
null &&
+
!serviceConfiguration.getServiceJmxConnectURL().trim().isEmpty()) {
+ sb.append(SEPARATOR).
+ append(SERVICE_JMX_PORT).
+ append(serviceConfiguration.getServiceJmxConnectURL().trim());
+ }
out = new DataOutputStream(socket.getOutputStream());
out.writeUTF(sb.toString());
out.flush();