`

JMX最简单的一个例子

    博客分类:
  • jmx
阅读更多

package com;

public interface HelloMBean {
	public String getName();
	public void setName(String name);
	public void printHello();
	public void printHello(String whoName);

}

 

 

package com;

public class Hello implements HelloMBean {
	private String name;

	public String getName() {
		// TODO Auto-generated method stub
		return name;
	}

	public void printHello() {
		// TODO Auto-generated method stub
		System.out.println("hello world"+name);

	}

	public void printHello(String whoName) {
		// TODO Auto-generated method stub
		System.out.println("hello,"+whoName);

	}

	public void setName(String name) {
		// TODO Auto-generated method stub
		this.name=name;
	}

}

 

 

package com;

import java.lang.management.ManagementFactory;

import javax.management.InstanceAlreadyExistsException;
import javax.management.MBeanRegistrationException;
import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException;
import javax.management.NotCompliantMBeanException;
import javax.management.ObjectName;

import com.sun.jdmk.comm.HtmlAdaptorServer;



public class HelloAgent {

	/**
	 * @param args
	 * @throws NullPointerException 
	 * @throws MalformedObjectNameException 
	 * @throws NotCompliantMBeanException 
	 * @throws MBeanRegistrationException 
	 * @throws InstanceAlreadyExistsException 
	 * @throws Exception 
	 */
	public static void main(String[] args) throws MalformedObjectNameException, NullPointerException, InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException, Exception {
		//先创建了一个MBeanServer,用来做MBean的容器  
        //MBeanServer server = MBeanServerFactory.createMBeanServer();  
		
		 MBeanServer server=ManagementFactory.getPlatformMBeanServer();
		//将Hello这个类注入到MBeanServer中,注入需要创建一个ObjectName类   
	        //chengang:name=HelloWorld的名字是有一定规则的,格式为:“域名:name=MBean名称”,域名和MBean名称都可以任意取。
		 ObjectName helloName= new ObjectName("yu:name=Hhaha");
		 Hello hello = new Hello(); 
		 server.registerMBean(hello,helloName);
		 
		//创建一个AdaptorServer,这个类将决定MBean的管理界面,这里用最普通的Html型界面。AdaptorServer其实也是一个MBean。 
		 ObjectName adapterName = new ObjectName("HelloAgent:name=htmladapter,port=8082");
		 HtmlAdaptorServer adapter = new HtmlAdaptorServer();
		 server.registerMBean(adapter, adapterName);
		 adapter.start();
		 System.out.println("start");
		 for(int i =0; i<100;i++){  
	            System.out.println(hello.getName());  
	            Thread.sleep(6000);  
	}}

}
 
分享到:
评论

相关推荐

    最简单JMX例子

    对于初学者,这个"最简单JMX例子"将展示如何创建一个简单的MBean,如何在Eclipse这样的集成开发环境中配置和运行,以及如何通过标准的JMX客户端工具进行交互。通过学习这个例子,你可以理解JMX的基本结构和用法,为...

    JMX小例子以及介绍

    本篇文章将深入探讨JMX的核心概念、功能及如何通过一个小例子来理解和使用JMX。 **1. JMX核心概念** - **MBean(Managed Beans)**: MBean是JMX中最基本的管理单元,它是Java对象,代表可管理的资源或服务。MBean...

    ESB应用Hello_World_Action

    ESB(Enterprise Service Bus,企业服务总线)是企业级集成解决方案的核心,它提供了...通过这个简单的例子,我们可以深入理解ESB如何在企业集成场景中发挥关键作用,协调不同系统的通信,并提供灵活的服务组合和管理。

    JMS.rar_activemq_jms_jms activemq

    在这个例子中,我们连接到运行在本地的ActiveMQ服务器(默认端口61616),创建一个非事务性的会话,然后创建一个消息队列`myQueue`作为目的地。接着,我们创建一个`MessageProducer`来发送`TextMessage`,最后关闭...

    监控任务管理器中某个进程的使用情况java编写

    以下是一个简单的示例: ```java import java.io.BufferedReader; import java.io.InputStreamReader; public class ProcessMonitor { public static void main(String[] args) { try { Process process = ...

    Java_Apache Camel示例.zip

    Apache Camel 是一个流行的开源框架,主要用于构建...总的来说,这个压缩包提供了一个了解和学习Apache Camel的实战例子,通过阅读说明和运行示例,你将能够深入理解Camel如何在Java环境中构建和管理复杂的集成逻辑。

    hibernate_3.5.6_中文帮助文档(有目录)_Final.pdf

    文档提供了如何实现一个简单的POJO例子,包括提供无参构造函数、标识属性、以及为持久化字段声明访问器和可变标志。还包括如何实现继承结构以及如何处理动态模型和元组片断映射。 对象/关系数据库映射基础(Basic O...

    hibernate3.6.6 中文帮助文档

    - **简单的 POJO 示例**:通过一个简单的例子来介绍持久化类的基本概念。 - **实现继承**:讲解如何在 Hibernate 中实现继承。 - **实现 equals() 和 hashCode() 方法**:为了支持正确的对象比较,必须正确实现这两...

    hibernate_reference.pdf

    - **一个简单的POJO例子**:通过一个简单的POJO示例介绍持久化类的基本要求。 - **实现继承**:解释如何使用Hibernate支持的继承策略。 - **实现equals()和hashCode()方法**:确保实体的正确比较。 - **动态模型**:...

    hiberante 参考手册 最新版 中文版 3.6.8

    - **4.1 一个简单的POJO例子** - **实现一个默认的(即无参数的)构造方法**: 确保每个持久化类都有一个无参构造函数。 - **提供标识符属性**: 为每个实体类定义唯一的标识符。 - **优选非最终类**: 避免使用...

    xmemcache与SPRING整合

    **最简单例子** ```xml &lt;value&gt;host1:port1 host2:port2 ``` 这会在Spring容器中创建一个名为`memcachedClient`的bean,连接到指定的memcached服务器。 **复杂例子** ```xml &lt;value&gt;host1:port1 host2:...

    最全Hibernate 参考文档

    4.1. 一个简单的POJO例子 4.1.1. 为持久化字段声明访问器(accessors)和是否可变的标志(mutators) 4.1.2. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.3. 提供一个标识属性(identifier property)(可...

    (2.0版本)自己写的struts2+hibernate+spring实例

    增加了页面分页和后台分页方法 (如果看了我第一个例子的朋友.应该看到我在service层的find方法上的注释.说当前版本因为原来使用find方法是从代理中取.而spring默认的数据持久话只能包含业务层和数据层.不能包含...

    Hibernate参考文档

    ##### 4.1 简单的 POJO 例子 - **实现默认构造方法**: 必须有一个无参构造函数。 - **提供标识属性**: 主键字段。 - **使用非 final 类**: 便于子类继承。 - **声明访问器和是否可变的标志**: 提供 getter 和 ...

    Spring中文帮助文档

    9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. &lt;tx:advice/&gt; 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知事务操作 9.5.9. 结合AspectJ使用 @...

    Spring API

    9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. &lt;tx:advice/&gt; 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知事务操作 9.5.9. 结合AspectJ使用 @...

Global site tag (gtag.js) - Google Analytics