`
t22011787
  • 浏览: 74790 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

jmx实现代码

SUN 
阅读更多
package test.jmx;

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

import com.sun.jdmk.comm.HtmlAdaptorServer;

public class HelloAgent {
	private MBeanServer mbs = null;

	public HelloAgent() {
		//create a MBeanServer
		mbs = MBeanServerFactory.createMBeanServer("HelloAgent");
		//create an adapter
		HtmlAdaptorServer adapter = new HtmlAdaptorServer();
		//create a MBean
		HelloWorld hw = new HelloWorld("hello boys!");
		
		ObjectName adapterName = null;
		ObjectName helloWorldName = null;

		try {
			adapterName = new ObjectName(
					"HelloAgentW:name=htmladaffpter,port=9092");
			//regisetr the adapter to the MBeanServer
			mbs.registerMBean(adapter, adapterName);
			//declare the port which the adapter user
			adapter.setPort(9092);
			//start the adapter
			adapter.start();

			helloWorldName = new ObjectName("HelloAgentW:name=hffelloWorld1");
			mbs.registerMBean(hw, helloWorldName);

		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	public static void main(String args[]) {
		//declare the agent and start the adapter
		HelloAgent agent = new HelloAgent();

	}

}

package test.jmx;

public class HelloWorld implements HelloWorldMBean {
	public String hello;

	public HelloWorld() {
		this.hello = "Hello World! I am a Standard MBean";
	}

	public HelloWorld(String hello) {
		this.hello = hello;
	}


	public String getHello() {
		return hello;
	}

	public void setHello(String hello) {
		this.hello = hello;
	}

	public void sayHello() {
		System.out.println(hello);
	}
}

package test.jmx;

public interface HelloWorldMBean {
	public void sayHello();
	public void setHello(String hello);
	public String getHello();

}

package test.jmx;

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

import com.sun.jdmk.comm.RmiConnectorServer;

public class RMIAgent {

	public static void main(String[] args) {
		MBeanServer mbs = MBeanServerFactory.createMBeanServer("HelloAgent");
		RmiConnectorServer connector = new RmiConnectorServer();
		ObjectName connectorName = null;
		try {
			connectorName = new ObjectName("HelloAgent:name=RMIConnector");
			mbs.registerMBean(connector, connectorName);
			HelloWorld hw = new HelloWorld("hello boys!");
			ObjectName helloWorldName = new ObjectName(
					"HelloAgent:name=helloWorld1");

			mbs.registerMBean(hw, helloWorldName);
			connector.start();
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

}

package test.jmx;

import javax.management.Attribute;
import javax.management.ObjectName;

import com.sun.jdmk.comm.RmiConnectorAddress;
import com.sun.jdmk.comm.RmiConnectorClient;

public class RMIManager {

	public static void main(String[] args) {
		RmiConnectorClient client = new RmiConnectorClient();
		RmiConnectorAddress address = new RmiConnectorAddress();
		try {
			client.connect(address);
			ObjectName helloWorldName = ObjectName
					.getInstance("HelloAgent:name=helloWorld1");
			client.invoke(helloWorldName, "sayHello", null, null);
			client.setAttribute(helloWorldName, new Attribute("Hello",
					new String("hello girls!")));
			client.invoke(helloWorldName, "sayHello", null, null);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			
		}
	}

}


分享到:
评论

相关推荐

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

    《JMX技术介绍》一书显然是为了深入探讨这一技术而编写的,配套源代码则提供了实践示例,帮助读者更好地理解和应用JMX。 1. JMX架构: JMX架构由管理代理(MBeans)、服务提供者接口(MBean Server)和管理客户端...

    JMX一步一步来,快速学会开发JMX应用

    在JDK 1.3和1.4版本中,JMX实现需要单独下载,而在JDK 5.0及更高版本中,JMX已经被内嵌,可以直接使用。对于JDK 1.3和1.4,你需要从Sun官方网站下载jmx-1_2_1-ri.zip和jmx_remote-1_0_1_03-ri.zip,将对应的JAR文件...

    java jmx agent不安全的配置漏洞如何改进(由浅入深代码范例和详细说明).docx

    这种配置虽然能够实现 JMX 监控和管理功能,但存在安全漏洞。默认情况下,这个 JMX Agent 的 RMI 端口是不加密的,并且没有进行身份验证,这意味着任何人都可以连接到该端口并对应用程序进行操作。 Java JMX Agent...

    Jmx实例demo下载

    在本实例中,我们将探讨`jmxdemo`项目,这是一个展示JMX如何工作的示例代码。 在`jmxdemo`这个压缩包中,包含了用于演示JMX功能的源代码。通过分析和运行这些源代码,我们可以深入理解JMX的工作原理及其在实际开发...

    jmx-tools.zip

    3. `jmxri.jar`和`jmxtools.jar`:这两个JAR文件是JMX RMI实现的核心库,分别包含了RMI服务器和客户端的实现,使得远程JMX交互成为可能。 4. `jmxri.properties`和`jmxtools.properties`:这些配置文件可能包含了...

    JMX HelloWorld Download

    "Download"表明这是一个可以下载的资源,可能包含了实现JMX HelloWorld的源代码。 **描述解析:** 描述部分为空,但根据标题推测,这可能是一个简单的教程,通过“Hello World”这个经典的编程范例,介绍如何使用...

    jmx所需的jar

    5. **编写客户端代码**:在远程客户端,使用JMX连接器API建立到MBeanServer的连接,并进行管理操作。 JMX可以与其他Java技术结合使用,如Spring框架中的Spring JMX,它提供了更方便的集成方式。此外,许多开源工具...

    jmxdemo.rar

    通过深入研究jmxdemo的源代码,你将能更好地掌握JMX的用法,了解如何在实际项目中运用这一强大工具来管理和监控Java应用。同时,VisualVM的使用也能提升你对Java应用性能分析的能力,帮助你及时发现和解决潜在问题。

    jmx例子一则

    在标签"源码"中,博主可能分享了如何阅读和理解JMX相关的源代码,包括MBean接口、实现类以及MBeanServer和JMX连接器的使用。这有助于深入理解JMX的工作原理和交互方式。 "工具"标签暗示了博主可能讨论了使用JMX的...

    JMX 连接工具 Eclipse 插件

    "plugins"目录下则是实际的Eclipse插件代码,它们是可执行的Java模块,实现了Eclipse插件生命周期和扩展点。对于"JMX 连接工具"插件,可能包含以下组件: 1. `org.eclipse.ui.plugin`: 提供基础的Eclipse插件结构,...

    JMX与Spring 结合

    通过以上讲解,我们可以看到JMX与Spring的结合极大地增强了Java应用的管理能力,使得开发者可以在不修改业务代码的情况下,轻松地监控和调整应用的行为。这种灵活性对于大型复杂系统的运维和调优至关重要。

    网络管理之jmx开发实战

    ### 网络管理之JMX开发实战 #### JMX技术概述 JMX(Java Management Extensions)是一...此外,还介绍了几种不同的JMX实现以及如何使用Timer MBean。这些知识对于理解JMX的工作原理及其在网络管理中的应用至关重要。

    jmx-1_2_1-ri.zip jmx_remote-1_0_1_03-ri.zip jmx-1_1-mr-spec.zip

    这里提到的三个ZIP文件包含了不同版本的JMX实现和规范,分别是: 1. **jmx-1_2_1-ri.zip**:这个文件提供了JMX 1.2.1版本的运行时实现(Runtime Implementation,RI)。RI是JMX规范的具体实现,允许开发者在Java...

    JMX 在GlassFish中的应用

    - **JMX客户端**:可以是任何实现了JMX API的程序,用于查询和管理MBeans。 #### JMX在Java EE环境下的应用 在Java EE环境下,JMX的用途更为广泛,不仅可以管理容器级别的资源,还可以深入到应用程序内部,提供...

    JMX入门的好资料啊

    此外,“src”目录可能包含了示例代码,帮助读者理解如何在实践中实现JMX功能。这些代码可能展示了如何定义MBeans、注册它们到MBean服务器,以及如何通过JMX API执行管理操作。 学习JMX有助于开发者在遇到性能问题...

    JMX小例子以及介绍

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

    JMX配置与使用

    这通常通过在Java代码中添加MBean(Managed Bean)来实现,MBean是JMX中的管理对象,代表了要管理的资源或服务。你可以自定义MBean,定义其属性、操作和通知。然后,通过实现`javax.management.MBeanServer`接口来...

    JMX1.4规范中文版

    通过使用JMX,开发者能够创建设备层的Java代码,同时代理层的灵活性也支持对Java代理的管理。部署层则整合了管理和监控系统的解决方案,允许开发者利用JMX规范来增强或替代现存的管理策略。JMX还可以与现有的管理和...

    一个jmx的小例子

    4. **客户端代码**:可能包含用于连接到JMX服务器并操作MBeans的代码,这可以是另一个Java程序或使用图形工具如JConsole。 5. **测试脚本**:如果`jmxtest`包含了测试用例,那么它可能包含了JUnit或其他测试框架的...

    JMX Html适配器相关jar

    这个压缩包"JMX Html适配器jar"很可能包含了实现HTML适配器功能的Java类库,可能包括了服务器端的适配器组件以及相关的配置示例。使用时,你需要将其解压并添加到你的项目类路径中,然后按照上述步骤进行配置和使用...

Global site tag (gtag.js) - Google Analytics