Author: degenaro
Date: Fri Apr 8 20:27:29 2016
New Revision: 1738301
URL: http://svn.apache.org/viewvc?rev=1738301&view=rev
Log:
UIMA-4732 DUCC Web Server (WS) broker and database are shown as down on Daemons
page
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/BrokerHelper.java
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/DatabaseHelper.java
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/JmxHelper.java
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/BrokerHelper.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/BrokerHelper.java?rev=1738301&r1=1738300&r2=1738301&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/BrokerHelper.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/BrokerHelper.java
Fri Apr 8 20:27:29 2016
@@ -45,7 +45,7 @@ import org.apache.uima.ducc.common.utils
import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
import org.apache.uima.ducc.common.utils.id.DuccId;
-public class BrokerHelper {
+public class BrokerHelper extends JmxHelper {
private static DuccLogger logger =
DuccLoggerComponents.getWsLogger(BrokerHelper.class.getName());
private static DuccId jobid = null;
@@ -54,9 +54,6 @@ public class BrokerHelper {
return new BrokerHelper();
}
- private String host = "?";
- private int port = 1100;
-
private JMXServiceURL jmxServiceUrl = null;;
private JMXConnector jmxc;
private MBeanServerConnection mbsc;
@@ -72,7 +69,6 @@ public class BrokerHelper {
private String brokerVersion = "?";
private String brokerUptime = "?";
- private long pid = 0;
private long startTime = 0;
private Map<String,Map<String,String>> entityAttributes = null;
@@ -197,10 +193,6 @@ public class BrokerHelper {
String location = "populateRuntime";
try {
Object o;
- o = mbsc.getAttribute(new
ObjectName("java.lang:type=Runtime"), "Name");
- String data = (String) o;
- String[] address = data.split("@");
- pid = Long.parseLong(address[0]);
o = mbsc.getAttribute(new
ObjectName("java.lang:type=Runtime"), "StartTime");
startTime = (Long) o;
}
@@ -352,17 +344,17 @@ public class BrokerHelper {
//
private void setHost(String value) {
- host = value;
+ setJmxHost(value);
}
public String getHost() {
- return host;
+ return getJmxHost();
}
private void setPort(String value) {
String location = "setPort";
try {
- port = Integer.parseInt(value);
+ setJmxPort(Integer.parseInt(value));
}
catch (Exception e) {
logger.error(location, jobid, e);
@@ -370,11 +362,7 @@ public class BrokerHelper {
}
public int getPort() {
- return port;
- }
-
- public String getJmxUrl() {
- return "service:jmx:rmi:///jndi/rmi://" + host + ":" + port +
"/jmxrmi";
+ return getJmxPort();
}
private void connect() throws IOException {
@@ -441,10 +429,6 @@ public class BrokerHelper {
return startTime;
}
- public long getPID() {
- return pid;
- }
-
public boolean isAlive() {
boolean retVal = false;
if(getPID() != 0) {
@@ -452,6 +436,17 @@ public class BrokerHelper {
}
return retVal;
}
+
+ @Override
+ protected void reconnect() {
+ String location = "reconnect";
+ try {
+ jmxConnect();
+ }
+ catch(Exception e) {
+ logger.error(location, jobid, e);
+ }
+ }
// Command Line
@@ -510,4 +505,5 @@ public class BrokerHelper {
System.out.println("map=null");
}
}
+
}
\ No newline at end of file
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/DatabaseHelper.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/DatabaseHelper.java?rev=1738301&r1=1738300&r2=1738301&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/DatabaseHelper.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/DatabaseHelper.java
Fri Apr 8 20:27:29 2016
@@ -48,35 +48,32 @@ public class DatabaseHelper extends JmxH
String location = "init";
try {
DuccPropertiesResolver dpr =
DuccPropertiesResolver.getInstance();
- String value;
- value =
dpr.getProperty(DuccPropertiesResolver.ducc_database_host);
- if(value != null) {
- setHost(value);
-
if(!value.equalsIgnoreCase(DuccPropertiesResolver.ducc_database_disabled)) {
+ host =
dpr.getProperty(DuccPropertiesResolver.ducc_database_host);
+ if(host != null) {
+ setHost(host);
+
if(!host.equalsIgnoreCase(DuccPropertiesResolver.ducc_database_disabled)) {
enabled = true;
}
}
- value =
dpr.getProperty(DuccPropertiesResolver.ducc_database_jmx_host);
- if(value != null) {
+ String jmxHost =
dpr.getProperty(DuccPropertiesResolver.ducc_database_jmx_host);
+ if(jmxHost != null) {
try {
- setJmxHost(value);
+ setJmxHost(jmxHost);
}
catch(Exception e) {
logger.error(location, jobid, e);
}
}
setJmxPort(7199); // default
- value =
dpr.getProperty(DuccPropertiesResolver.ducc_database_jmx_port);
- if(value != null) {
+ String jmxPort =
dpr.getProperty(DuccPropertiesResolver.ducc_database_jmx_port);
+ if(jmxPort != null) {
try {
- setJmxPort(Integer.parseInt(value));
+ setJmxPort(Integer.parseInt(jmxPort));
}
catch(Exception e) {
logger.error(location, jobid, e);
}
}
- value =
"service:jmx:rmi:///jndi/rmi://"+getJmxHost()+":"+getJmxPort()+"/jmxrmi";
- setJmxUrl(value);
jmxConnect();
}
catch(Exception e) {
@@ -84,12 +81,6 @@ public class DatabaseHelper extends JmxH
}
}
- private void reconnect() {
- String location = "reconnect";
- init();
- logger.debug(location, jobid, "reconnected");
- }
-
public boolean isEnabled() {
return enabled;
}
@@ -140,35 +131,11 @@ public class DatabaseHelper extends JmxH
return retVal;
}
- private String getJmxData() throws Exception {
- Object o = null;
- MBeanServerConnection mbsc = null;
- try {
- mbsc = getMBSC();
- o = mbsc.getAttribute(new
ObjectName("java.lang:type=Runtime"), "Name");
- }
- catch(Exception e) {
- reconnect();
- mbsc = getMBSC();
- o = mbsc.getAttribute(new
ObjectName("java.lang:type=Runtime"), "Name");
- }
- String data = (String) o;
- return data;
+ @Override
+ protected void reconnect() {
+ String location = "reconnect";
+ init();
+ logger.debug(location, jobid, "reconnected");
}
- public Long getPID() {
- String location = "getPID";
- Long retVal = new Long(0);
- try {
- String data = getJmxData();
- String[] address = data.split("@");
- Long pid = Long.parseLong(address[0]);
- retVal = pid;
- }
- catch(Exception e) {
- logger.error(location, jobid, e);
- }
- return retVal;
- }
-
}
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/JmxHelper.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/JmxHelper.java?rev=1738301&r1=1738300&r2=1738301&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/JmxHelper.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/helper/JmxHelper.java
Fri Apr 8 20:27:29 2016
@@ -21,15 +21,22 @@ package org.apache.uima.ducc.ws.helper;
import java.io.IOException;
import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
-public class JmxHelper {
+import org.apache.uima.ducc.common.utils.DuccLogger;
+import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
+import org.apache.uima.ducc.common.utils.id.DuccId;
+
+public abstract class JmxHelper {
+
+ private static DuccLogger logger =
DuccLoggerComponents.getWsLogger(JmxHelper.class.getName());
+ private static DuccId jobid = null;
private String jmxHost = "localhost";
private int jmxPort = -1;
- private String jmxUrl = null;
private JMXServiceURL url;
private JMXConnector jmxc;
@@ -51,12 +58,8 @@ public class JmxHelper {
return jmxPort;
}
- protected void setJmxUrl(String value) {
- jmxUrl = value;
- }
-
public String getJmxUrl() {
- return jmxUrl;
+ return
"service:jmx:rmi:///jndi/rmi://"+getJmxHost()+":"+getJmxPort()+"/jmxrmi";
}
public MBeanServerConnection getMBSC() {
@@ -69,4 +72,36 @@ public class JmxHelper {
mbsc = jmxc.getMBeanServerConnection();
}
+ protected String getJmxData() throws Exception {
+ Object o = null;
+ MBeanServerConnection mbsc = null;
+ try {
+ mbsc = getMBSC();
+ o = mbsc.getAttribute(new
ObjectName("java.lang:type=Runtime"), "Name");
+ }
+ catch(Exception e) {
+ reconnect();
+ mbsc = getMBSC();
+ o = mbsc.getAttribute(new
ObjectName("java.lang:type=Runtime"), "Name");
+ }
+ String data = (String) o;
+ return data;
+ }
+
+ public Long getPID() {
+ String location = "getPID";
+ Long retVal = new Long(0);
+ try {
+ String data = getJmxData();
+ String[] address = data.split("@");
+ Long pid = Long.parseLong(address[0]);
+ retVal = pid;
+ }
+ catch(Exception e) {
+ logger.error(location, jobid, e);
+ }
+ return retVal;
+ }
+
+ protected abstract void reconnect();
}