00001
00025 package org.objectweb.jonas.jmx;
00026
00027
00028 import java.io.IOException;
00029 import java.net.MalformedURLException;
00030
00031 import javax.management.MBeanServerConnection;
00032 import javax.management.remote.JMXConnector;
00033 import javax.management.remote.JMXConnectorFactory;
00034 import javax.management.remote.JMXServiceURL;
00035
00036 import org.objectweb.jonas.common.Log;
00037 import org.objectweb.jonas.service.ServiceManager;
00038 import org.objectweb.util.monolog.api.BasicLevel;
00039 import org.objectweb.util.monolog.api.Logger;
00040
00045 public class ManagementReprFactory {
00049 private ManagementReprFactory() {
00050 }
00054 private static Logger logger = Log.getLogger("org.objectweb.jonas.jmx");
00055
00060 public static ManagementRepr getManagementRepr() {
00061 ManagementRepr representative = null;
00062 ClassLoader classLoader = ManagementReprFactory.class.getClassLoader();
00063 try {
00064 Class managemntRepClass = classLoader.loadClass("org.objectweb.jonas.jmx.ManagementReprImpl");
00065 logger.log(BasicLevel.DEBUG, "ManagementReprFactory , managemntRep class loaded");
00066 representative = (ManagementRepr) managemntRepClass.newInstance();
00067 logger.log(BasicLevel.DEBUG, "ManagementReprFactory , managemntRep created");
00068 } catch (Exception e) {
00069 logger.log(BasicLevel.DEBUG, "ManagementReprFactory exception : " + e.toString());
00070 }
00071 return representative;
00072 }
00073
00079 public static ManagementRepr getManagementRepr(String serverName) {
00080 ManagementRepr representative = null;
00081 ClassLoader classLoader = ManagementReprFactory.class.getClassLoader();
00082 try {
00083 Class managemntRepClass = classLoader.loadClass("org.objectweb.jonas.jmx.ManagementReprImplJSR160");
00084 logger.log(BasicLevel.DEBUG, "ManagementReprFactory , managemntRep class loaded");
00085 representative = (ManagementRepr) managemntRepClass.newInstance();
00086 logger.log(BasicLevel.DEBUG, "ManagementReprFactory , managemntRep created");
00087 MBeanServerConnection connection = null;
00092 JmxService jmxService = (JmxService) ServiceManager.getInstance().getJmxService();
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114 connection = jmxService.getServerConnection(serverName);
00115 if (connection == null) {
00116 logger.log(BasicLevel.WARN, "ManagementReprFactory could not get connection for server " + serverName);
00117 } else {
00118 logger.log(BasicLevel.DEBUG, "ManagementReprFactory got connection for server " + serverName);
00119 ((ManagementReprImplJSR160) representative).setMBeanServerConnection(connection);
00120 }
00121 } catch (Exception e) {
00122 logger.log(BasicLevel.DEBUG, "ManagementReprFactory exception : " + e.toString());
00123 }
00124 return representative;
00125 }
00126 }