`
43xingxing
  • 浏览: 2948 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JMX服务及MBean注册代码

阅读更多

以下代码可以开启一个MBean服务,并将MBean注册到该服务中。

在做JMX开发调试时,可以比较方便的用于测试,无需每次都将代码发布到服务器中测试。

import java.lang.management.ManagementFactory;

import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;
import javax.management.remote.JMXConnectorServer;
import javax.management.remote.JMXConnectorServerFactory;
import javax.management.remote.JMXServiceURL;


/**
 * 运行此程序需要加入以下参数就可以以JMX方式监控程序了<br><br>
 * -Dcom.sun.management.jmxremote.port=9999 该参数表示Server的访问端口<br><br>
 * -Dcom.sun.management.jmxremote.authenticate=false 该参数设置客户端访问时无需认证,如果不加,需要客户端连接时传入认证,认证配置文件是jmxremote.password,该文件在jre/lib/managerment目录下<br><br>
 * -Dcom.sun.management.jmxremote.ssl=false 连接时无需进行ssl认证<br><br>
 *
 * @version 
 * 
 */
public class AnalysesMBeanServerTest {

	private static MBeanServer server;

	private static String PROTOCOL = "rmi";

	private static String HOST = "localhost";

	private static int PORT = 9999;

	public static void init() throws Exception {
		
		startServerConnector();
		
		// 将我们的应用MBean注册到Server中,客户端就可以连接访问了
		server.registerMBean(new AnalysesServiceMBean(), new ObjectName(
		 	"comba:name=analysesServiceMBean"));
		
	}
		
	public static void startServerConnector() throws Exception {
		// 这里调用ManagementFactory.getPlatformMBeanServer()创建MBeanServer
		// 实际其第一次启动时也是调用MBeanServerFactory.createMBeanServer()创建MBeanServer
		// 之后将创建的这个Server注册到平台的MBeanServer
		// 从jdk文档可知,该方法返回的Server主要用于注册平台MXBean,
		// 但jdk也建议 将此平台用于注册平台 MXBean 之外的其他应用程序管理 Bean。
		// 这将允许所有 MBean 通过同一个 MBeanServer 发布,从而能够更方便地进行网络发布和发现。应该避免平台 MXBean 的名称冲突。 
		server = ManagementFactory.getPlatformMBeanServer();
		
		// 这里再用以下构造方法构造JMXServiceURL,再启动客户端连接监听,客户端就可以正常连接了
		JMXServiceURL serviceURL = new JMXServiceURL(PROTOCOL, HOST, PORT);
		JMXConnectorServer connectorServer = JMXConnectorServerFactory
				.newJMXConnectorServer(serviceURL, null, server);
		server.registerMBean(connectorServer, new ObjectName(
				"comba:name=connector"));
		connectorServer.start();
		
		System.out.println(connectorServer.isActive());
	}


	public static void main(String[] args) {

		try {
			init();
		} catch (Exception ex) {
			ex.printStackTrace();
			return;
		}
		
		System.out.print("startup....");
	}
}
分享到:
评论

相关推荐

    jmx 实例 rmi mbean

    2. **注册MBean**: 使用`MBeanServer`注册你的MBean。`MBeanServer`是JMX的核心组件,负责管理所有的MBeans。 3. **导出MBean**: 使用`MBeanServer`的`registerMBean()`方法将MBean注册到服务器,并获取其Object...

    《jmx技术介绍》配套源代码

    JMX架构由管理代理(MBeans)、服务提供者接口(MBean Server)和管理客户端三部分组成。MBeans代表可管理的对象,它们可以是简单的数据点或复杂的系统服务。MBean Server是一个运行在Java虚拟机中的核心组件,它...

    JMX实用例子详解(包括各种Mbean)

    Java Management Extensions(JMX)是Java平台上的一个标准管理框架,它允许开发人员创建、注册和管理名为MBeans(Managed Beans)的对象,这些对象代表了系统、应用程序或服务的可管理资源。通过JMX,我们可以远程...

    Jmx实例demo下载

    通过分析`jmxdemo`项目的源代码,你可以学习如何创建自定义MBeans,如何将它们注册到MBean服务器,以及如何使用JMX客户端进行交互。这将帮助你理解和掌握JMX技术,从而更好地在实际项目中实现管理和监控功能。 此外...

    jmx osgi 实例

    接着,我们需要将MBean注册到MBeanServer,这样它就可以通过JMX接口访问了。 注册过程通常涉及以下步骤: 1. 创建MBean:编写一个实现了特定接口的Java类,这个接口定义了管理操作。 2. 创建MBeanInfo:描述MBean的...

    JMX小例子以及介绍

    Java Management Extensions(JMX)是Java平台上的一个标准...通过理解MBean、MBean Server和连接器的工作原理,以及如何编写和使用JMX代码,我们可以更好地控制和优化我们的应用程序,提升系统的可维护性和稳定性。

    mbean的样例代码

    在本示例代码中,我们将探讨如何创建和注册MBean,以及如何使用它来进行远程管理。 首先,我们来创建一个MBean。一个MBean通常是一个Java类,它公开了一些属性和操作,这些都可以通过JMX接口访问。例如,我们可以...

    jmx 入门文档,附有开发实例文档

    - **MBean服务器(MBean Server)**:是JMX的核心组件,它负责注册、查找、管理和交互MBean。所有的MBean都必须在MBean服务器中注册,以便被其他组件发现和使用。 - **MBean代理(MBean Proxy)**:允许客户端代码...

    JMX与Spring 结合

    1. **JMX与Spring 结合实例**:在Spring应用中,可以通过配置或者编程方式来注册MBeans(Managed Beans),这些MBeans代表了应用中的特定组件或服务。Spring 提供了`PlatformMBeanServer`的自动配置,可以方便地将...

    JMX 远程服务器信息监控

    在实际应用中,可以通过编写Java代码来建立JMX客户端,连接到远程服务器的MBeanServer,然后通过MBean接口获取并处理监控数据。也可以使用工具,如JConsole、VisualVM等,它们提供了图形化的界面来直接查看和操作...

    jmx所需的jar

    这个版本的JMX包括了核心的MBean服务器、MBean接口定义、MBean代理、通知服务等组件。MBean(Managed Bean)是JMX中的核心概念,它代表了管理的对象,可以是系统的一个组件、服务或者任何需要被管理的资源。 2. `...

    jmxdemo.rar

    Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、服务和设备。JMX允许开发者创建管理接口,以便在运行时收集和操作应用的状态信息。jmxdemo.rar是一个包含JMX服务端和客户端...

    论文研究-JMX技术在网络监控中的应用.pdf

    例如,可以使用JMX API编写代码动态地调用MBean服务器的接口来创建新的MBean,或者发送通知来启动监控中的某些特定任务。这种能力极大地增强了网络监控系统的灵活性和动态配置能力。 综上所述,JMX技术在网络监控中...

    JMX HelloWorld Download

    3. **MBean Server**:MBean Server是JMX框架的中心,负责注册MBean、执行MBean的操作以及处理MBean之间的交互。 4. **JMX连接器**:JMX连接器允许远程客户端连接到MBean Server,进行管理和监控操作。常见的有RMI...

    jmx例子一则

    这些例子可能包括MBean的实现、注册、查询以及使用JMX客户端进行操作的代码片段。 总的来说,JMX是一个强大的工具,它让开发者能够轻松地对Java应用进行监控和管理,通过暴露管理接口,使得运维人员可以在运行时...

    jmx入门

    2. **MBean服务器**: MBean服务器是JMX的核心,它负责存储、注册和管理MBeans。所有MBeans都在MBean服务器中注册,以便其他组件可以通过JMX接口进行访问。 3. **JMX连接器**: JMX连接器允许外部工具或应用与MBean...

    JMX 在GlassFish中的应用

    **AMX**是GlassFish对JMX的一次重大扩展,它不仅简化了MBean的创建和注册过程,还引入了更高级的功能,如动态代理、基于注解的配置和更丰富的事件模型。通过AMX,开发者可以在不牺牲灵活性和效率的情况下,轻松地在...

    JMX-how-to-use.rar_jmx_服务器_远程监控 文件

    开发者可以在自己的应用程序中暴露JMX接口,通过实现MBean接口或使用MBeanServer的注册功能,使组件变得可监控和可管理。这通常需要在代码中包含`javax.management`包的相关API。 9. **最佳实践** 在实际应用中,...

    JMX初学资料 初学者入门教程

    Java Management Extensions(JMX)是Java平台上的一个标准管理框架,用于管理和监控应用程序、系统和服务。JMX允许开发者创建可管理的组件,并提供了一种统一的方式来远程访问和控制这些组件,使得运维人员能够轻松...

    cmdline-jmxclient-0.10.3.jar

    `cmdline-jmxclient` 提供了一个命令行界面,使得用户无需编写代码就能与JMX服务器交互,执行查询、获取或修改MBean的属性、调用MBean的操作等。 在Zabbix中集成`cmdline-jmxclient`,可以实现对Java应用的指标收集...

Global site tag (gtag.js) - Google Analytics