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();


Reply via email to