Created
April 26, 2013 18:34
-
-
Save boukadam/5469401 to your computer and use it in GitHub Desktop.
Changes on OW2 JASMINe Probe in order to break the link to OW2 JOnAS.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/modules/jprobe-manager/src/main/java/org/ow2/jasmine/probe/manager/internal/JProbeManager.java b/modules/jprobe-manager/src/main/java/org/ow2/jasmine/probe/manager/internal/JProbeManager.java | |
index 7395ca4..5f34430 100644 | |
--- a/modules/jprobe-manager/src/main/java/org/ow2/jasmine/probe/manager/internal/JProbeManager.java | |
+++ b/modules/jprobe-manager/src/main/java/org/ow2/jasmine/probe/manager/internal/JProbeManager.java | |
@@ -23,9 +23,13 @@ | |
package org.ow2.jasmine.probe.manager.internal; | |
import java.io.*; | |
+import java.lang.management.ManagementFactory; | |
import java.math.BigInteger; | |
import java.util.*; | |
+import javax.management.InstanceNotFoundException; | |
+import javax.management.MBeanRegistrationException; | |
+import javax.management.MBeanServer; | |
import javax.management.ObjectName; | |
import javax.xml.bind.JAXBContext; | |
import javax.xml.bind.Marshaller; | |
@@ -47,7 +51,7 @@ import org.ow2.jasmine.probe.outers.JOuterService; | |
import org.ow2.jasmine.probe.probemanager.ProbeManager; | |
import org.ow2.jasmine.probe.api.generated.*; | |
import org.ow2.jasmine.probe.probescheduler.SchedulerService; | |
-import org.ow2.jonas.jmx.JmxService; | |
+//import org.ow2.jonas.jmx.JmxService; | |
import org.ow2.jonas.lib.bootstrap.JProp; | |
import org.ow2.util.log.Log; | |
import org.ow2.util.log.LogFactory; | |
@@ -142,7 +146,8 @@ public class JProbeManager implements JasmineProbeManager, ProbeManager, JProbeM | |
// register mbean | |
try { | |
mbeanObjectName = new ObjectName("jasmine:dest=probe-manager"); | |
- jmxService.registerMBean(this, mbeanObjectName); | |
+// jmxService.registerMBean(this, mbeanObjectName); | |
+ mbs.registerMBean(this, mbeanObjectName); | |
} catch (Exception e) { | |
logger.error("Cannot register mbean: " + e); | |
} | |
@@ -172,7 +177,8 @@ public class JProbeManager implements JasmineProbeManager, ProbeManager, JProbeM | |
TestOpenMBean testMbean = new TestOpenMBean(ab_1, ab_2, cd, longs, elems, ons); | |
- jmxService.registerMBean(testMbean, mbeanObjectName); | |
+// jmxService.registerMBean(testMbean, mbeanObjectName); | |
+ mbs.registerMBean(testMbean, mbeanObjectName); | |
} catch (Exception e) { | |
logger.error("Cannot register mbean: " + e); | |
} | |
@@ -181,7 +187,8 @@ public class JProbeManager implements JasmineProbeManager, ProbeManager, JProbeM | |
private void unregisterMBeans() { | |
try { | |
ObjectName mbeanObjectName = ObjectName.getInstance("jasmine:dest=open-manager"); | |
- jmxService.unregisterMBean(mbeanObjectName); | |
+// jmxService.unregisterMBean(mbeanObjectName); | |
+ mbs.unregisterMBean(mbeanObjectName); | |
} catch (Exception e) { | |
logger.error("Cannot unregister mbean: " + e); | |
} | |
@@ -193,7 +200,14 @@ public class JProbeManager implements JasmineProbeManager, ProbeManager, JProbeM | |
logger.debug("JasmineProbeManager service stopped."); | |
// unregister mbean | |
- jmxService.unregisterMBean(mbeanObjectName); | |
+// jmxService.unregisterMBean(mbeanObjectName); | |
+ try{ | |
+ mbs.unregisterMBean(mbeanObjectName); | |
+ } catch (InstanceNotFoundException e) { | |
+ e.printStackTrace(); | |
+ } catch (MBeanRegistrationException e) { | |
+ e.printStackTrace(); | |
+ } | |
// register test mbeans | |
unregisterMBeans(); | |
@@ -202,8 +216,10 @@ public class JProbeManager implements JasmineProbeManager, ProbeManager, JProbeM | |
@Requires | |
protected SchedulerService jasmineProbeScheduler = null; | |
- @Requires | |
- protected JmxService jmxService = null; | |
+// @Requires | |
+// protected JmxService jmxService = null; | |
+ | |
+ protected MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); | |
@Bind(aggregate = true, optional = true) | |
protected void bindOuterService(JasmineOuterService jos, ServiceReference sr) { | |
@@ -221,7 +237,8 @@ public class JProbeManager implements JasmineProbeManager, ProbeManager, JProbeM | |
outerservices.put(type, jos); | |
// set jmx service in order to be able to register MBeans | |
- ((JOuterService) jos).setJmxService(jmxService); | |
+// ((JOuterService) jos).setJmxService(jmxService); | |
+ ((JOuterService) jos).setMBeanServer(mbs); | |
logger.info(mess + " deployed to JASMINe Probe"); | |
@@ -1485,14 +1502,16 @@ public class JProbeManager implements JasmineProbeManager, ProbeManager, JProbeM | |
* @return the current domain name. | |
*/ | |
public String getDomainName() { | |
- return jmxService.getDomainName(); | |
+// return jmxService.getDomainName(); | |
+ return "jasmine"; | |
} | |
/** | |
* @return the current server name. | |
*/ | |
public String getServerName() { | |
- return jmxService.getJonasServerName(); | |
+// return jmxService.getJonasServerName(); | |
+ return "jasmine"; | |
} | |
@@ -1714,20 +1733,21 @@ public class JProbeManager implements JasmineProbeManager, ProbeManager, JProbeM | |
private void readConfig() throws Exception { | |
// Retrieve the probe config file | |
String configurationFile = "probe-config.xml"; | |
- ClassLoader loader = ClassLoader.getSystemClassLoader(); | |
- InputStream resource = null; | |
- try { | |
- resource = loader.getResourceAsStream(configurationFile); | |
- } catch (Exception e) { | |
- logger.error("Cannot find probe-config.xml: " + e); | |
- throw e; | |
- } | |
- if (resource == null) { | |
- logger.error("Cannot find probe-config.xml"); | |
- return; | |
- } | |
+// ClassLoader loader = ClassLoader.getSystemClassLoader(); | |
+// InputStream resource = null; | |
+// try { | |
+// resource = loader.getResourceAsStream(configurationFile); | |
+// } catch (Exception e) { | |
+// logger.error("Cannot find probe-config.xml: " + e); | |
+// throw e; | |
+// } | |
+// if (resource == null) { | |
+// logger.error("Cannot find probe-config.xml"); | |
+// return; | |
+// } | |
logger.debug("Parsing probe-config.xml"); | |
- loadConfigFile(resource); | |
+ loadConfig(System.getProperty("jp.conf") + File.separator + configurationFile); | |
+// loadConfigFile(resource); | |
} | |
private void saveConfigFile(OutputStream resource) throws Exception { | |
diff --git a/modules/jprobe-manager/src/main/java/org/ow2/jasmine/probe/outers/JOuterService.java b/modules/jprobe-manager/src/main/java/org/ow2/jasmine/probe/outers/JOuterService.java | |
index 2e24cfa..9b48815 100644 | |
--- a/modules/jprobe-manager/src/main/java/org/ow2/jasmine/probe/outers/JOuterService.java | |
+++ b/modules/jprobe-manager/src/main/java/org/ow2/jasmine/probe/outers/JOuterService.java | |
@@ -30,7 +30,7 @@ import org.ow2.jasmine.probe.JasminePropertyInfo; | |
import org.ow2.jasmine.probe.outer.JasmineOuter; | |
import org.ow2.jasmine.probe.outer.JasmineOuterException; | |
import org.ow2.jasmine.probe.outer.JasmineOuterService; | |
-import org.ow2.jonas.jmx.JmxService; | |
+//import org.ow2.jonas.jmx.JmxService; | |
import org.ow2.util.log.Log; | |
import org.ow2.util.log.LogFactory; | |
@@ -39,7 +39,12 @@ import java.util.HashMap; | |
import java.util.List; | |
import java.util.Map; | |
+import javax.management.InstanceAlreadyExistsException; | |
+import javax.management.InstanceNotFoundException; | |
+import javax.management.MBeanRegistrationException; | |
+import javax.management.MBeanServer; | |
import javax.management.MalformedObjectNameException; | |
+import javax.management.NotCompliantMBeanException; | |
import javax.management.ObjectName; | |
/** | |
@@ -60,23 +65,48 @@ public abstract class JOuterService implements JasmineOuterService { | |
protected List<JasminePropertyInfo> properties; | |
- protected JmxService jmxService = null; | |
+// protected JmxService jmxService = null; | |
+ | |
+ protected MBeanServer mbs = null; | |
// --------------------------------------------------------------------- | |
// JasmineOuterService implementation | |
// --------------------------------------------------------------------- | |
- public JmxService getJmxService() { | |
- return jmxService; | |
+// public JmxService getJmxService() { | |
+// return jmxService; | |
+// } | |
+// | |
+// public void setJmxService(JmxService jmxService) { | |
+// this.jmxService = jmxService; | |
+// } | |
+ | |
+ public MBeanServer getMBeanServer() { | |
+ return mbs; | |
} | |
- public void setJmxService(JmxService jmxService) { | |
- this.jmxService = jmxService; | |
+ public void setMBeanServer(MBeanServer mbs) { | |
+ this.mbs = mbs; | |
} | |
// register MBean for an outer | |
- protected void registerJOuterMBean(JOuter outer) throws JasmineOuterException { | |
- if (jmxService != null) { | |
+ protected void registerJOuterMBean(JOuter outer) throws JasmineOuterException, InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException { | |
+// if (jmxService != null) { | |
+// JOuterMBean mbean = (JOuterMBean) outer; | |
+// ObjectName on = null; | |
+// try { | |
+// on = new ObjectName("jasmine:type=jpouter,name=" + outer.output.getName()); | |
+// } catch (MalformedObjectNameException e) { | |
+// throw new JasmineOuterException(e.toString()); | |
+// } catch (NullPointerException e) { | |
+// throw new JasmineOuterException(e.toString()); | |
+// } | |
+// jmxService.registerMBean(mbean, on); | |
+// } else { | |
+// throw new JasmineOuterException("JMX service not available for registering JOuter MBean"); | |
+// } | |
+ | |
+ if (mbs != null) { | |
JOuterMBean mbean = (JOuterMBean) outer; | |
ObjectName on = null; | |
try { | |
@@ -86,16 +116,19 @@ public abstract class JOuterService implements JasmineOuterService { | |
} catch (NullPointerException e) { | |
throw new JasmineOuterException(e.toString()); | |
} | |
- jmxService.registerMBean(mbean, on); | |
+ mbs.registerMBean(mbean, on); | |
} else { | |
throw new JasmineOuterException("JMX service not available for registering JOuter MBean"); | |
} | |
} | |
// unregister MBean for an outer | |
- protected void unregisterJOuterMBean(ObjectName on) { | |
- if (jmxService != null) { | |
- jmxService.unregisterMBean(on); | |
+ protected void unregisterJOuterMBean(ObjectName on) throws MBeanRegistrationException, InstanceNotFoundException { | |
+// if (jmxService != null) { | |
+// jmxService.unregisterMBean(on); | |
+// } | |
+ if (mbs != null) { | |
+ mbs.unregisterMBean(on); | |
} | |
} | |
diff --git a/modules/jprobe-manager/src/main/resources/META-INF/instructions.bnd b/modules/jprobe-manager/src/main/resources/META-INF/instructions.bnd | |
index baf3e37..6129813 100644 | |
--- a/modules/jprobe-manager/src/main/resources/META-INF/instructions.bnd | |
+++ b/modules/jprobe-manager/src/main/resources/META-INF/instructions.bnd | |
@@ -19,4 +19,4 @@ | |
# USA | |
# --------------------------------------------------------------------------- | |
# $Id: $ | |
-# --------------------------------------------------------------------------- | |
+# --------------------------------------------------------------------------- | |
\ No newline at end of file | |
diff --git a/modules/jprobe-outer-console/src/main/java/org/ow2/jasmine/probe/outers/console/internal/ConsoleOuterService.java b/modules/jprobe-outer-console/src/main/java/org/ow2/jasmine/probe/outers/console/internal/ConsoleOuterService.java | |
index a2a5775..409032d 100644 | |
--- a/modules/jprobe-outer-console/src/main/java/org/ow2/jasmine/probe/outers/console/internal/ConsoleOuterService.java | |
+++ b/modules/jprobe-outer-console/src/main/java/org/ow2/jasmine/probe/outers/console/internal/ConsoleOuterService.java | |
@@ -24,6 +24,10 @@ package org.ow2.jasmine.probe.outers.console.internal; | |
import java.util.ArrayList; | |
+import javax.management.InstanceAlreadyExistsException; | |
+import javax.management.MBeanRegistrationException; | |
+import javax.management.NotCompliantMBeanException; | |
+ | |
import org.apache.felix.ipojo.annotations.Component; | |
import org.apache.felix.ipojo.annotations.Invalidate; | |
import org.apache.felix.ipojo.annotations.Provides; | |
@@ -75,7 +79,18 @@ public class ConsoleOuterService extends JOuterService { | |
JOuter outer = outerList.get(name); | |
if (outer == null) { | |
outer = new JConsoleOuter(jasmineOutput); | |
- registerJOuterMBean(outer); | |
+ try { | |
+ registerJOuterMBean(outer); | |
+ } catch (InstanceAlreadyExistsException e) { | |
+ // TODO Auto-generated catch block | |
+ e.printStackTrace(); | |
+ } catch (MBeanRegistrationException e) { | |
+ // TODO Auto-generated catch block | |
+ e.printStackTrace(); | |
+ } catch (NotCompliantMBeanException e) { | |
+ // TODO Auto-generated catch block | |
+ e.printStackTrace(); | |
+ } | |
outerList.put(name, outer); | |
outer.start(); | |
} | |
diff --git a/modules/jprobe-outer-file/src/main/java/org/ow2/jasmine/probe/outers/file/internal/FileOuterService.java b/modules/jprobe-outer-file/src/main/java/org/ow2/jasmine/probe/outers/file/internal/FileOuterService.java | |
index f2b92f4..011bcbc 100644 | |
--- a/modules/jprobe-outer-file/src/main/java/org/ow2/jasmine/probe/outers/file/internal/FileOuterService.java | |
+++ b/modules/jprobe-outer-file/src/main/java/org/ow2/jasmine/probe/outers/file/internal/FileOuterService.java | |
@@ -32,6 +32,10 @@ import org.ow2.jasmine.probe.outers.JOuterService; | |
import java.util.ArrayList; | |
+import javax.management.InstanceAlreadyExistsException; | |
+import javax.management.MBeanRegistrationException; | |
+import javax.management.NotCompliantMBeanException; | |
+ | |
/** | |
* Manages a list of JOuter objects (in fact JFileOuter instances). | |
* @author durieuxp | |
@@ -71,7 +75,18 @@ public class FileOuterService extends JOuterService { | |
JOuter outer = outerList.get(name); | |
if (outer == null) { | |
outer = new JFileOuter(jasmineOutput); | |
- registerJOuterMBean(outer); | |
+ try { | |
+ registerJOuterMBean(outer); | |
+ } catch (InstanceAlreadyExistsException e) { | |
+ // TODO Auto-generated catch block | |
+ e.printStackTrace(); | |
+ } catch (MBeanRegistrationException e) { | |
+ // TODO Auto-generated catch block | |
+ e.printStackTrace(); | |
+ } catch (NotCompliantMBeanException e) { | |
+ // TODO Auto-generated catch block | |
+ e.printStackTrace(); | |
+ } | |
outerList.put(name, outer); | |
outer.start(); | |
} | |
diff --git a/modules/jprobe-outer-mule/src/main/java/org/ow2/jasmine/probe/outers/mule/internal/MuleOuterService.java b/modules/jprobe-outer-mule/src/main/java/org/ow2/jasmine/probe/outers/mule/internal/MuleOuterService.java | |
index 26c007a..71ceb46 100644 | |
--- a/modules/jprobe-outer-mule/src/main/java/org/ow2/jasmine/probe/outers/mule/internal/MuleOuterService.java | |
+++ b/modules/jprobe-outer-mule/src/main/java/org/ow2/jasmine/probe/outers/mule/internal/MuleOuterService.java | |
@@ -32,6 +32,10 @@ import org.ow2.jasmine.probe.outers.JOuterService; | |
import java.util.ArrayList; | |
+import javax.management.InstanceAlreadyExistsException; | |
+import javax.management.MBeanRegistrationException; | |
+import javax.management.NotCompliantMBeanException; | |
+ | |
/** | |
* Manages a list of JOuter objects (in fact JMuleOuter instances). | |
* @author durieuxp | |
@@ -72,7 +76,18 @@ public class MuleOuterService extends JOuterService { | |
JOuter outer = outerList.get(name); | |
if (outer == null) { | |
outer = new JMuleOuter(jasmineOutput); | |
- registerJOuterMBean(outer); | |
+ try { | |
+ registerJOuterMBean(outer); | |
+ } catch (InstanceAlreadyExistsException e) { | |
+ // TODO Auto-generated catch block | |
+ e.printStackTrace(); | |
+ } catch (MBeanRegistrationException e) { | |
+ // TODO Auto-generated catch block | |
+ e.printStackTrace(); | |
+ } catch (NotCompliantMBeanException e) { | |
+ // TODO Auto-generated catch block | |
+ e.printStackTrace(); | |
+ } | |
outerList.put(name, outer); | |
outer.start(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment