`

JMX简单示例

    博客分类:
  • j2ee
 
阅读更多

以下文章摘自网络仅供学习用

1.编写一个以MBean结尾的接口SimpleStandardMBean:

public interface SimpleStandardMBean {

public void setName(String name);

public String getName(String name);

public void reSet();

public int getAge();
}

2.编写实现类SimpleStandard:

public class SimpleStandard implements SimpleStandardMBean{

public String name;
public int getAge() {
return 24;
}

public String getName(String name) {
this.name=name;
System.out.println("----------调用了getName方法----------");
return this.name;
}

public void reSet() {
System.out.println("----------reSet()-----------");
}

public void setName(String name) {
this.name=name;
}

public void aaa(){
System.out.println("888888888888888888888");
}

}

3.编写服务端,把SimpleStandard注册到MBean中:

import java.net.MalformedURLException;
import java.util.HashMap;
import java.util.Map;
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;

public class Server {

public static void main(String[] args) {

MBeanServer mbServer=MBeanServerFactory.createMBeanServer();
System.out.println("------MBean服务器创建成功--------");
String defaultDomain=mbServer.getDefaultDomain();
SimpleStandard simpleStandard=new SimpleStandard();
ObjectName objectname=null;
try {
objectname=new ObjectName(defaultDomain+":name=guyong");
mbServer.registerMBean(simpleStandard, objectname);
System.out.println("-------向MBean注册成功--------");
} catch (Exception e) {
e.printStackTrace();
}

/**
* 创建一个jmx连接服务器
*/
try {
JMXServiceURL jmxurl=new JMXServiceURL("service:jmx:jms:///tcp://192.9.200.200:61616");
Map<String ,String> map=new HashMap();
map.put("jmx.remote.protocol.provider.pkgs", "org.logicblaze.lingo.jmx.remote.provider");
JMXConnectorServer jmxConServer=JMXConnectorServerFactory.newJMXConnectorServer(jmxurl, map, mbServer);
System.out.println("--------JMX连接服务器创建成功--------");
System.out.println("--------启动JMX服务----------");
jmxConServer.start();
System.out.println("--------启动成功-------------");
} catch (Exception e) {
e.printStackTrace();
}

}
}

4.编写客户端,调用服务端注册的类中的方法:

import java.util.HashMap;
import java.util.Map;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;

public class Client {
public static void main(String[] args) {
try {
//创建jmx连接
JMXServiceURL jmxUrl=new JMXServiceURL("service:jmx:jms:///tcp://192.9.200.200:61616");
Map<String ,String> map=new HashMap();
map.put("jmx.remote.protocol.provider.pkgs", "org.logicblaze.lingo.jmx.remote.provider");
JMXConnector jmxConn=JMXConnectorFactory.connect(jmxUrl,map);
//获得MBean服务连接
MBeanServerConnection mbsConn=jmxConn.getMBeanServerConnection();
String defaultDedomain=mbsConn.getDefaultDomain();
ObjectName objname=null;
objname=new ObjectName(defaultDedomain + ":name=guyong");
Object[] para={"guyong"};//参数名
String[] paraType={"java.lang.String"};//参数类型
Object str=mbsConn.invoke(objname, "getName", para, paraType);//调用服务端的方法
System.out.println("name=" + str.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}

分享到:
评论

相关推荐

    java jmx操作示例源码

    在这个"java jmx操作示例源码"中,我们可以期待看到如何在实际的Java项目中应用JMX技术。源码通常会包含以下几个关键部分: 1. **MBean接口和实现**:MBean是JMX的核心,它定义了管理接口。一个MBean可以是简单的...

    最简单JMX例子

    本示例是一个简单的JMX实现,适合初学者理解JMX的基本概念和工作原理。 首先,我们来了解JMX的核心组件: 1. **MBean**(Managed Beans):MBean是JMX中的管理对象,代表了可管理的资源。它可以是任何Java对象,...

    jmx简单实例,附带jar包完整项目

    在这个“jmx简单实例”中,我们将会探讨JMX的基本概念,以及如何使用所提供的jar包来构建和运行一个简单的JMX示例。 1. **JMX基础** JMX由三部分组成:MBeans(Managed Beans)、Servers和Agents。MBeans代表管理...

    JMX以RMI方式连接的场景示例

    JMX以RMI方式连接的场景示例 JMX(Java Management Extensions)是一种Java技术,用于管理和监控应用程序。JMX框架主要由三部分组成:MBean(Managed Bean)、Agent(代理)和Client(客户端)。在本场景中,我们将...

    JMX HelloWorld Download

    **标题解析:** "JMX HelloWorld Download" 指的是一个关于Java Management Extensions(JMX)的简单示例,可能是用于教学或演示如何在Java应用中使用JMX技术。"Download"表明这是一个可以下载的资源,可能包含了...

    jmx_examples.rar_Java 8_jmx_jmx examples_jmx main_jmx_examples

    在这个"jmx_examples.rar"压缩包中,包含了多个JMX的简单示例,这将帮助我们了解如何在Java 8中使用JMX。 1. **JMX基础知识**: - JMX的核心概念包括MBean(Managed Beans)、MBean Server和MBean操作。MBean是...

    Jmx实例demo下载

    6. **客户端示例**:项目可能还包含一个简单的客户端示例,展示了如何使用JMX API连接到MBean服务器,查询MBean信息,调用其操作,以及监控和改变MBean的属性。 通过分析`jmxdemo`项目的源代码,你可以学习如何创建...

    jmx介绍和使用

    jmx的简单介绍和使用,包含一些简单的代码示例,看完基本能了解jmx并使用。

    JMX学习,开发文档

    一个简单的JMX示例是创建一个名为`Hello`的类,该类实现了`HelloMBean`接口。`HelloMBean`定义了`getName()`和`setName()`方法,以及`printHello()`方法。`Hello`类中的这些方法允许外部管理工具获取和设置名称,...

    jmxdemo.rar

    jmxdemo.rar是一个包含JMX服务端和客户端的示例,帮助我们理解如何利用JMX进行远程监控Java项目,而VisualVM是一个强大的Java诊断工具,它可以利用JMX进行远程连接和监控。 首先,我们需要了解JMX的基本概念。JMX的...

    JMX小例子以及介绍

    下面是一个简单的JMX示例,展示如何创建一个MBean,注册到MBean Server,并通过JConsole进行管理: ```java import javax.management.*; public class MyManagedBean implements DynamicMBean { private final ...

    jmx入门

    在这个入门指南中,我们将深入探讨JMX的核心概念、API以及如何通过一个简单的示例来理解它的应用。 **一、JMX核心概念** 1. **MBean(Managed Beans)**:MBean是JMX中的核心组件,代表了可管理的资源。它可以是...

    JMX入门的好资料啊

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

    网络管理之jmx开发实战

    下面给出一个简单的Mlet配置文件示例: ```xml ``` #### 创建MBeanServer实例 创建MBeanServer的代码如下所示: ```java MBeanServer lServer = null; lServer = MBeanServerFactory.createMBeanServer(); //...

    JMX实战

    - **实践意义**:虽然这是一个简单的示例,但它为理解更复杂的JMX应用场景奠定了基础。 #### 知识点三:构建JMX的基础架构 **概述**:这部分内容重点介绍了构建JMX基础架构的关键技术和步骤。 **详细解释**: - *...

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

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

    jmx例子一则

    在描述中提到的博客中,作者可能详细解释了如何创建一个简单的MBean,例如: ```java public class MyManagedBean implements MyManagedInterface { private int counter; public void incrementCounter() { ...

    JMX入门教程

    接下来,我们将通过一个简单的“Hello World”示例来演示如何使用JMX。 1. **定义MBean接口**:首先,需要定义一个MBean接口,即`HelloMBean`。该接口规定了被管理对象(MBean)应该具有的行为,例如获取和设置名称...

    使用RMI远程连接JVM.用JMX获取JVM的参数

    "Hello.java"和"HelloWorld.java"可能是示例类,用于演示RMI和JMX的使用。它们可能包含了简单的远程方法,或者展示了如何创建和注册MBean。 为了实现远程连接JVM并获取JVM参数,首先需要在服务器端启动JMX服务,并...

Global site tag (gtag.js) - Google Analytics