src/org/objectweb/cjdbc/controller/jmx/HttpAdaptor.java

説明を見る。
00001 00025 package org.objectweb.cjdbc.controller.jmx; 00026 00027 import java.net.InetAddress; 00028 import java.net.UnknownHostException; 00029 import java.util.ArrayList; 00030 import java.util.List; 00031 00032 import javax.management.Attribute; 00033 import javax.management.MBeanServer; 00034 import javax.management.ObjectName; 00035 import javax.management.remote.JMXAuthenticator; 00036 00037 import org.objectweb.cjdbc.common.i18n.Translate; 00038 import org.objectweb.cjdbc.common.jmx.JmxException; 00039 import org.objectweb.cjdbc.common.log.Trace; 00040 import org.objectweb.cjdbc.common.net.SSLConfiguration; 00041 00048 public class HttpAdaptor 00049 00050 { 00051 static Trace logger = Trace 00052 .getLogger("org.objectweb.cjdbc.controller.jmx"); 00053 00054 private String hostName; 00055 private int port; 00056 //private JMXAuthenticator authenticator; 00057 private SSLConfiguration sslConfig; 00058 00059 private mx4j.tools.adaptor.http.HttpAdaptor adaptor; 00060 private ObjectName objectName; 00061 private ObjectName processorName; 00062 00063 private static List httpAdaptors = new ArrayList(); 00064 00075 public HttpAdaptor(String hostName, int port, JMXAuthenticator authenticator, 00076 SSLConfiguration sslConfig) throws JmxException 00077 { 00078 if (hostName != null) 00079 { 00080 this.hostName = hostName; 00081 } 00082 else 00083 { 00084 try 00085 { 00087 this.hostName = InetAddress.getLocalHost().getHostName(); 00088 } 00089 catch (UnknownHostException ex) 00090 { 00091 throw new JmxException(ex); 00092 } 00093 } 00094 this.port = port; 00095 //this.authenticator = authenticator; 00096 this.sslConfig = sslConfig; 00097 addHttpAdaptor(this); 00098 } 00099 00105 public void start() throws JmxException 00106 { 00107 try 00108 { 00109 00110 MBeanServer server = MBeanServerManager.getInstance(); 00111 // register the HTTP adaptor MBean to the agent 00112 logger.info(Translate.get("jmx.create.http.adaptor", new Object[]{ 00113 hostName, String.valueOf(port)})); 00114 adaptor = new mx4j.tools.adaptor.http.HttpAdaptor(); 00115 objectName = new ObjectName("Server:name=HttpAdaptor"); 00116 server.registerMBean(adaptor, objectName); 00117 adaptor.setHost(hostName); 00118 adaptor.setPort(port); 00119 // set XSLT processor 00120 logger.debug(Translate.get("jmx.create.xslt.processor")); 00121 processorName = new ObjectName("Server:name=XSLTProcessor"); 00122 server.createMBean(mx4j.tools.adaptor.http.XSLTProcessor.class.getName(), 00123 processorName, null); 00124 server.setAttribute(objectName, new Attribute("ProcessorName", 00125 processorName)); 00126 if (this.sslConfig != null) 00127 { 00128 //:TODO 00129 throw new JmxException("ssl for http not implemented"); 00130 } 00131 adaptor.start(); 00132 } 00133 catch (Exception e) 00134 { 00135 e.printStackTrace(); 00136 throw new JmxException(e); 00137 } 00138 } 00139 00145 public void stop() throws JmxException 00146 { 00147 try 00148 { 00149 MBeanServer server = MBeanServerManager.getInstance(); 00150 adaptor.stop(); 00151 server.unregisterMBean(objectName); 00152 server.unregisterMBean(processorName); 00153 } 00154 catch (Exception e) 00155 { 00156 throw new JmxException(e); 00157 } 00158 } 00159 00165 public static List getHttpAdaptors() 00166 { 00167 return httpAdaptors; 00168 } 00169 00175 private static synchronized void addHttpAdaptor(HttpAdaptor httpAdaptor) 00176 { 00177 httpAdaptors.add(httpAdaptor); 00178 } 00179 }

CJDBCversion1.0.4に対してTue Oct 12 15:16:01 2004に生成されました。 doxygen 1.3.8