Skip to content

Instantly share code, notes, and snippets.

@boukadam
Created April 26, 2013 18:34
Show Gist options
  • Save boukadam/5469401 to your computer and use it in GitHub Desktop.
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.
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