cmppjmxserver.java

来自「华为短信网关实现的功能,包括服务器端和客户端代码」· Java 代码 · 共 64 行

JAVA
64
字号
package com.fetion.cmpp.server;

import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.fetion.cmpp.server.conf.ServerConfigMBean;
import com.fetion.cmpp.server.util.ConfigUtil;
import com.sun.jdmk.comm.HtmlAdaptorServer;

/**
 * cmpp server提供的jmx server 方便使用jmx进行管理
 * @author Administrator
 *
 */
public class CmppJmxServer {

	private static Log logger = LogFactory.getLog(CmppJmxServer.class);
	
	public static void run() {
		
		MBeanServer server = MBeanServerFactory.createMBeanServer();
		try {
			logger.info("jmx server starting ...... ");
			
			ObjectName serverManagerName = new ObjectName(
					"com.fetion.cmpp.server:type=CmppServerMBean");
			ServerManagerMBean serverManager = new ServerManager();
			server.registerMBean(serverManager, serverManagerName);
			
			ObjectName configName = new ObjectName(
			"com.fetion.cmpp.server.conf:type=ServerConfigMBean");
			ServerConfigMBean config = ConfigUtil.loadConfig();
			
			int jmxPort = config.getJmxServerPort();
				
			server.registerMBean(config, configName);

			ObjectName adapterName = new ObjectName(
					"ConfigAgent:name=htmlAdapter");
			HtmlAdaptorServer adapter = new HtmlAdaptorServer();
			adapter.setPort(jmxPort);
			server.registerMBean(adapter, adapterName);

			adapter.start();
			logger.info("jmx server start at "+jmxPort);

		} catch (Exception e) {
			logger.error(e.getMessage());
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		CmppJmxServer.run();
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?