package jp.gr.java_conf.skrb.game.trivia.mserver; import javax.management.InstanceAlreadyExistsException; import javax.management.MBeanRegistrationException; import javax.management.MBeanServer; import javax.management.MBeanServerFactory; import javax.management.MalformedObjectNameException; import javax.management.NotCompliantMBeanException; import javax.management.ObjectName; import com.sun.jdmk.comm.HtmlAdaptorServer; public class TriviaStandardMBeanStarter { static final String TRIVIA_MBEAN_NAME = "MBean:name=TriviaServer"; MBeanServer server; public TriviaStandardMBeanStarter() { TriviaServerStandard mbean = new TriviaServerStandard(); startAgent(mbean); } public void startAgent(Object mbean) { System.out.println("MBeanServer の起動"); server = MBeanServerFactory.createMBeanServer(); registerMBean(mbean, "MBean:name=TriviaServer"); System.out.println("HTML protocol adaptor の起動"); HtmlAdaptorServer adaptor = new HtmlAdaptorServer(); registerMBean(adaptor, "Adaptor:name=adaptor,port=8082"); adaptor.start(); } public void registerMBean(Object mbean, String name) { try { ObjectName objectName = new ObjectName(name); server.registerMBean(mbean, objectName); } catch (MalformedObjectNameException ex) { ex.printStackTrace(); } catch (MBeanRegistrationException ex) { ex.printStackTrace(); } catch (NotCompliantMBeanException ex) { ex.printStackTrace(); } catch(InstanceAlreadyExistsException ex) { ex.printStackTrace(); } } public static void main(String[] args) { new TriviaStandardMBeanStarter(); } }