OESE-38 Only one instance of JMX server at a time (Guice injection error)
parent
1f320b81be
commit
940c416587
|
@ -136,6 +136,7 @@ public class Bootstrap {
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
||||||
String errMsg = null;
|
String errMsg = null;
|
||||||
|
JMXConnector jmxConn = null;
|
||||||
try {
|
try {
|
||||||
Map env = new HashMap();
|
Map env = new HashMap();
|
||||||
String[] creds = {"admin", "admin"};
|
String[] creds = {"admin", "admin"};
|
||||||
|
@ -144,18 +145,23 @@ public class Bootstrap {
|
||||||
JMXServiceURL serviceURL = new JMXServiceURL(
|
JMXServiceURL serviceURL = new JMXServiceURL(
|
||||||
String.format(DEFAULT_SERVICE_URL, DEFAULT_INSTANCE_PORT));
|
String.format(DEFAULT_SERVICE_URL, DEFAULT_INSTANCE_PORT));
|
||||||
|
|
||||||
JMXConnector jmxConn = JMXConnectorFactory.connect(serviceURL, env);
|
jmxConn = JMXConnectorFactory.connect(serviceURL, env);
|
||||||
MBeanServerConnection mbsConn = jmxConn.getMBeanServerConnection();
|
MBeanServerConnection mbsConn = jmxConn.getMBeanServerConnection();
|
||||||
|
|
||||||
ObjectName fwMBeanName = new ObjectName("net.open-esb.standalone",
|
ObjectName fwMBeanName = new ObjectName("net.open-esb.standalone",
|
||||||
"instance", DEFAULT_INSTANCE_NAME);
|
"instance", DEFAULT_INSTANCE_NAME);
|
||||||
mbsConn.invoke(fwMBeanName, "stop", new Object[0], new String[0]);
|
mbsConn.invoke(fwMBeanName, "stop", new Object[0], new String[0]);
|
||||||
|
/*
|
||||||
} catch (NumberFormatException nfEx) {
|
} catch (NumberFormatException nfEx) {
|
||||||
mLog.log(Level.SEVERE, "Invalid JMX connector port value. {0}", nfEx.getMessage());
|
mLog.log(Level.SEVERE, "Invalid JMX connector port value. {0}", nfEx.getMessage());*/
|
||||||
} catch (javax.management.MBeanException mbEx) {
|
} catch (javax.management.MBeanException mbEx) {
|
||||||
errMsg = mbEx.getTargetException().toString();
|
errMsg = mbEx.getTargetException().toString();
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
errMsg = t.toString();
|
errMsg = t.toString();
|
||||||
|
} finally {
|
||||||
|
if (jmxConn != null) {
|
||||||
|
jmxConn.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (errMsg != null) {
|
if (errMsg != null) {
|
||||||
|
|
|
@ -43,6 +43,8 @@ public class InstanceNode implements Node {
|
||||||
|
|
||||||
private final Environment environment;
|
private final Environment environment;
|
||||||
|
|
||||||
|
private JMXService jMXService;
|
||||||
|
|
||||||
public InstanceNode () {
|
public InstanceNode () {
|
||||||
if(LOG.isLoggable(Level.INFO)) {
|
if(LOG.isLoggable(Level.INFO)) {
|
||||||
LOG.log(Level.INFO, I18NBundle.getBundle().getMessage(
|
LOG.log(Level.INFO, I18NBundle.getBundle().getMessage(
|
||||||
|
@ -82,7 +84,9 @@ public class InstanceNode implements Node {
|
||||||
|
|
||||||
long startTime = System.currentTimeMillis(); // Get the start Time
|
long startTime = System.currentTimeMillis(); // Get the start Time
|
||||||
|
|
||||||
injector.getInstance(JMXService.class).start();
|
jMXService = injector.getInstance(JMXService.class);
|
||||||
|
jMXService.start();
|
||||||
|
|
||||||
injector.getInstance(FrameworkService.class).start();
|
injector.getInstance(FrameworkService.class).start();
|
||||||
injector.getInstance(HttpServer.class).start();
|
injector.getInstance(HttpServer.class).start();
|
||||||
|
|
||||||
|
@ -129,7 +133,7 @@ public class InstanceNode implements Node {
|
||||||
|
|
||||||
injector.getInstance(HttpServer.class).stop();
|
injector.getInstance(HttpServer.class).stop();
|
||||||
injector.getInstance(FrameworkService.class).stop();
|
injector.getInstance(FrameworkService.class).stop();
|
||||||
injector.getInstance(JMXService.class).stop();
|
jMXService.stop();
|
||||||
|
|
||||||
if(LOG.isLoggable(Level.INFO)) {
|
if(LOG.isLoggable(Level.INFO)) {
|
||||||
LOG.log(Level.INFO, I18NBundle.getBundle().getMessage(
|
LOG.log(Level.INFO, I18NBundle.getBundle().getMessage(
|
||||||
|
|
Loading…
Reference in New Issue