| Commit in servicemix/base/src/main on MAIN | |||
| release/examples/basic/servicemix.xml | +1 | 1.1 -> 1.2 | |
| release/conf/servicemix.xml | +1 | 1.8 -> 1.9 | |
| release/examples/vfs-binding/servicemix.xml | +1 | 1.3 -> 1.4 | |
| release/examples/file-binding/servicemix.xml | +1 | 1.2 -> 1.3 | |
| java/org/servicemix/jbi/management/ManagementContext.java | +72 | -46 | 1.14 -> 1.15 |
| release/examples/jms-binding/servicemix.xml | +1 | 1.2 -> 1.3 | |
| release/examples/bpel/servicemix.xml | +1 | 1.5 -> 1.6 | |
| java/org/servicemix/jbi/container/JBIContainer.java | +15 | -1 | 1.47 -> 1.48 |
| release/examples/quartz-binding/servicemix.xml | +1 | 1.1 -> 1.2 | |
| release/examples/http-binding/servicemix.xml | +1 | 1.1 -> 1.2 | |
| +95 | -47 | ||
Added useMBeanServer - as distinct from create one
servicemix/base/src/main/release/examples/basic
diff -u -r1.1 -r1.2 --- servicemix.xml 10 Aug 2005 19:10:53 -0000 1.1 +++ servicemix.xml 13 Aug 2005 21:55:18 -0000 1.2 @@ -5,6 +5,7 @@
<!-- the JBI container -->
<container id="jbi">
<property name="rootDir" value="../wdir"/>
+ <property name="useMBeanServer" value="true"/>
<property name="createMBeanServer" value="true"/>
<property name="installationDirPath" value="../install"/>
<property name="monitorInstallationDirectory" value="true"/>
servicemix/base/src/main/release/conf
diff -u -r1.8 -r1.9 --- servicemix.xml 10 Aug 2005 19:10:03 -0000 1.8 +++ servicemix.xml 13 Aug 2005 21:55:18 -0000 1.9 @@ -5,6 +5,7 @@
<!-- the JBI container -->
<container id="jbi">
<property name="rootDir" value="../wdir"/>
+ <property name="useMBeanServer" value="true"/>
<property name="createMBeanServer" value="true"/>
<property name="installationDirPath" value="../install"/>
<property name="deploymentDirPath" value="../deploy"/>
servicemix/base/src/main/release/examples/vfs-binding
diff -u -r1.3 -r1.4 --- servicemix.xml 29 Jul 2005 19:17:53 -0000 1.3 +++ servicemix.xml 13 Aug 2005 21:55:18 -0000 1.4 @@ -4,6 +4,7 @@
<!-- the JBI container --> <container id="jbi">
+ <property name="useMBeanServer" value="true"/>
<property name="createMBeanServer" value="true"/>
<property name="dumpStats" value="true"/>
<property name="statsInterval" value="10"/>
servicemix/base/src/main/release/examples/file-binding
diff -u -r1.2 -r1.3 --- servicemix.xml 29 Jul 2005 19:16:32 -0000 1.2 +++ servicemix.xml 13 Aug 2005 21:55:18 -0000 1.3 @@ -2,6 +2,7 @@
<beans xmlns:my="http://servicemix.org/demo/"> <!-- the JBI container --> <container id="jbi">
+ <property name="useMBeanServer" value="true"/>
<property name="createMBeanServer" value="true"/>
<property name="dumpStats" value="true"/>
<property name="statsInterval" value="10"/>
servicemix/base/src/main/java/org/servicemix/jbi/management
diff -u -r1.14 -r1.15 --- ManagementContext.java 13 Jul 2005 12:37:17 -0000 1.14 +++ ManagementContext.java 13 Aug 2005 21:55:18 -0000 1.15 @@ -21,7 +21,6 @@
import java.io.IOException; import java.net.MalformedURLException; import java.rmi.registry.LocateRegistry;
-import java.rmi.registry.Registry;
import java.util.Collection; import java.util.Iterator; import java.util.List;
@@ -47,7 +46,7 @@
/** * A Flow provides different dispatch policies within the NMR *
- * @version $Revision: 1.14 $
+ * @version $Revision: 1.15 $
*/
public class ManagementContext extends BaseLifeCycle implements ManagementContextMBean {
/**
@@ -63,6 +62,7 @@
private String jmxDomainName = DEFAULT_DOMAIN;
private Map beanMap = new ConcurrentHashMap();
protected Map systemServices = new ConcurrentHashMap();
+ private boolean useMBeanServer = true;
private boolean createMBeanServer = false;
private boolean locallyCreateMBeanServer = false;
@@ -117,6 +117,48 @@
public void setNamingPort(int namingPort) {
this.namingPort = namingPort;
}
+
+ /**
+ * @return Returns the jndiPath.
+ */
+ public String getJndiPath() {
+ return jndiPath;
+ }
+
+ /**
+ * @param jndiPath The jndiPath to set.
+ */
+ public void setJndiPath(String jndiPath) {
+ this.jndiPath = jndiPath;
+ }
+
+ /**
+ * @return Returns the useMBeanServer.
+ */
+ public boolean isUseMBeanServer() {
+ return useMBeanServer;
+ }
+
+ /**
+ * @param useMBeanServer The useMBeanServer to set.
+ */
+ public void setUseMBeanServer(boolean useMBeanServer) {
+ this.useMBeanServer = useMBeanServer;
+ }
+
+ /**
+ * @return Returns the createMBeanServer flag.
+ */
+ public boolean isCreateMBeanServer() {
+ return createMBeanServer;
+ }
+
+ /**
+ * @param enableJMX Set createMBeanServer.
+ */
+ public void setCreateMBeanServer(boolean enableJMX) {
+ this.createMBeanServer = enableJMX;
+ }
/**
* Initialize the ManagementContext
@@ -128,8 +170,8 @@
public void init(JBIContainer container, MBeanServer server) throws JBIException {
this.container = container;
jndiPath = "/" + container.getName() + "JMX";
- this.beanServer = server != null ? server : createMBeanServer(); - //register self as a Systme service
+ this.beanServer = server != null ? server : findMBeanServer(); + // register self as a Systme service
registerSystemService(this, ManagementContextMBean.class);
}
@@ -167,7 +209,7 @@
}
}
if (locallyCreateMBeanServer && beanServer != null) {
- //check to see if the factory knows about this server
+ // check to see if the factory knows about this server
List list = MBeanServerFactory.findMBeanServer(null);
if (list != null && !list.isEmpty() && list.contains(beanServer)) {
MBeanServerFactory.releaseMBeanServer(beanServer);
@@ -348,7 +390,7 @@
result = new ObjectName(tmp);
}
catch (MalformedObjectNameException e) {
- //shouldn't happen
+ // shouldn't happen
String error = "Could not create ObjectName for " + provider.getClass() + ", " + provider.getName();
log.error(error, e);
throw new RuntimeException(error);
@@ -533,45 +575,27 @@
}
}
- /**
- * @return Returns the createMBeanServer flag.
- */
- public boolean isCreateMBeanServer() {
- return createMBeanServer;
- }
+
- /**
- * @param enableJMX Set createMBeanServer.
- */
- public void setCreateMBeanServer(boolean enableJMX) {
- this.createMBeanServer = enableJMX;
- }
-
- protected synchronized MBeanServer createMBeanServer() {
+ protected synchronized MBeanServer findMBeanServer() {
MBeanServer result = null;
- //create the mbean server and start an rmi connector
- if (createMBeanServer) {
+ // create the mbean server and start an rmi connector
+ if (useMBeanServer) {
try {
- String jdkVersion = System.getProperty("java.specification.version");
- if (jdkVersion != null && jdkVersion.length() > 0) {
- Double version = new Double(jdkVersion);
- if (version.doubleValue() >= 1.5) {
- //see if the platform MBeanServer is enabled
- List list = MBeanServerFactory.findMBeanServer(null);
- if (list != null && list.size() > 0) {
- result = (MBeanServer) list.get(0);
- }
- }
- //As we are here - make sure a registry is loaded
- try {
- Registry reg = LocateRegistry.createRegistry(namingPort);
- }catch(Throwable e){
- //proably exists already
- log.debug("Failed to create local registry",e);
- }
-
+ // lets piggy back on another MBeanServer - we could be in an appserver!
+ List list = MBeanServerFactory.findMBeanServer(null);
+ if (list != null && list.size() > 0) {
+ result = (MBeanServer) list.get(0);
+ }
+ // As we are here - make sure a registry is loaded
+ try {
+ LocateRegistry.createRegistry(namingPort);
}
- if (result == null) {
+ catch (Throwable e) {
+ // proably exists already
+ log.debug("Failed to create local registry", e);
+ }
+ if (result == null && createMBeanServer) {
result = MBeanServerFactory.createMBeanServer(jmxDomainName);
locallyCreateMBeanServer = true;
// Register and start the rmiregistry MBean, needed by JSR 160 RMIConnectorServer
@@ -579,13 +603,13 @@
if (!result.isRegistered(namingName)) {
try {
result.createMBean("mx4j.tools.naming.NamingService", namingName, null);
- //set the naming port
+ // set the naming port
Attribute attr = new Attribute("Port", new Integer(namingPort));
result.setAttribute(namingName, attr);
result.invoke(namingName, "start", null, null);
}
catch (Exception e) {
- //could already be in use
+ // could already be in use
log.debug("invoke failed", e);
}
JMXServiceURL url = "" JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:" + namingPort
@@ -608,9 +632,9 @@
catch (IOException e) {
log.error("Could not start the remote: JMX ConnectorServer", e);
}
- catch(Throwable e){
- //probably don't have access to system properties
- log.error("Failed to initialize MBeanServer",e);
+ catch (Throwable e) {
+ // probably don't have access to system properties
+ log.error("Failed to initialize MBeanServer", e);
}
}
return result;
@@ -639,4 +663,6 @@
ph.setDescription(0, "name", "Component name");
return OperationInfoHelper.join(super.getOperationInfos(), helper.getOperationInfos());
}
+ +
}
servicemix/base/src/main/release/examples/jms-binding
diff -u -r1.2 -r1.3 --- servicemix.xml 29 Jul 2005 19:17:08 -0000 1.2 +++ servicemix.xml 13 Aug 2005 21:55:18 -0000 1.3 @@ -4,6 +4,7 @@
<!-- the JBI container --> <container id="jbi">
+ <property name="useMBeanServer" value="true"/>
<property name="createMBeanServer" value="true"/>
<property name="dumpStats" value="true"/>
<property name="statsInterval" value="10"/>
servicemix/base/src/main/release/examples/bpel
diff -u -r1.5 -r1.6 --- servicemix.xml 11 Aug 2005 16:38:08 -0000 1.5 +++ servicemix.xml 13 Aug 2005 21:55:18 -0000 1.6 @@ -4,6 +4,7 @@
<!-- the JBI container -->
<container id="jbi">
<property name="rootDir" value="./wdir"/>
+ <property name="useMBeanServer" value="true"/>
<property name="createMBeanServer" value="true"/>
<property name="installationDirPath" value="./install"/>
<property name="deploymentDirPath" value="./deploy"/>
servicemix/base/src/main/java/org/servicemix/jbi/container
diff -u -r1.47 -r1.48 --- JBIContainer.java 12 Aug 2005 17:53:32 -0000 1.47 +++ JBIContainer.java 13 Aug 2005 21:55:18 -0000 1.48 @@ -73,7 +73,7 @@
/** * The main container *
- * @version $Revision: 1.47 $
+ * @version $Revision: 1.48 $
*/
public class JBIContainer extends BaseLifeCycle {
/**
@@ -195,6 +195,20 @@
*/
public void setCreateMBeanServer(boolean enableJMX) {
managementContext.setCreateMBeanServer(enableJMX);
+ }
+
+ /**
+ * @return Returns the useMBeanServer.
+ */
+ public boolean isUseMBeanServer() {
+ return managementContext.isUseMBeanServer();
+ }
+
+ /**
+ * @param useMBeanServer The useMBeanServer to set.
+ */
+ public void setUseMBeanServer(boolean useMBeanServer) {
+ managementContext.setUseMBeanServer(useMBeanServer);
}
/**
servicemix/base/src/main/release/examples/quartz-binding
diff -u -r1.1 -r1.2 --- servicemix.xml 1 Aug 2005 18:50:25 -0000 1.1 +++ servicemix.xml 13 Aug 2005 21:55:18 -0000 1.2 @@ -2,6 +2,7 @@
<beans xmlns:my="http://servicemix.org/demo/"> <!-- the JBI container --> <container id="jbi">
+ <property name="useMBeanServer" value="true"/>
<property name="createMBeanServer" value="true"/>
<property name="dumpStats" value="true"/>
<property name="statsInterval" value="10"/>
servicemix/base/src/main/release/examples/http-binding
diff -u -r1.1 -r1.2 --- servicemix.xml 1 Aug 2005 17:33:42 -0000 1.1 +++ servicemix.xml 13 Aug 2005 21:55:18 -0000 1.2 @@ -2,6 +2,7 @@
<beans xmlns:my="http://servicemix.org/demo/"> <!-- the JBI container --> <container id="jbi">
+ <property name="useMBeanServer" value="true"/>
<property name="createMBeanServer" value="true"/>
<property name="dumpStats" value="true"/>
<property name="statsInterval" value="10"/>
