精华内容
下载资源
问答
  • mbean 参数类型

    2010-09-09 14:34:38
    In addition, any array of the open MBean data types may be used in open MBeans. A special class, javax.management.openmbean.ArrayType is used to represent the definition of single or multi-dimensional...
    In addition, any array of the open MBean data types may be used in open MBeans. A special class, javax.management.openmbean.ArrayType is used to represent the definition of single or multi-dimensional arrays in open MBeans.

    The following list specifies all data types that are allowed as scalars or as any-dimensional arrays in open MBeans:

    java.lang.Boolean

    java.lang.Byte

    java.lang.Character

    java.lang.Short

    java.lang.Integer

    java.lang.Long

    java.lang.Float

    java.lang.Double

    java.lang.String

    java.math.BigInteger

    java.math.BigDecimal

    javax.management.ObjectName

    javax.management.openmbean.CompositeData (interface)

    javax.management.openmbean.TabularData (interface)

    In addition the java.lang.Void type may be used, but only as the return type of an operation.
    展开全文
  • MBean类型分为多种,常见的不管是Standard MBean,还是Dynamic MBean,当创建一个MBean时需要满足以下规则: MBean是一个具体的java类,不能是抽象类,因此可以进行实例化。 MBean必须有一个公共的构造器,构造器...

    1.简介

    MBean类型分为多种,常见的不管是Standard MBean,还是Dynamic MBean,当创建一个MBean时需要满足以下规则:

    • MBean是一个具体的java类,不能是抽象类,因此可以进行实例化.
    • MBean必须有一个公共的构造器,构造器可以是有参或者无参。
    • MBean必须实现自己的MBean接口或者是javax.managment.DynamicMBean接口。其中Standard MBean需要按照规范自定义一个MBean接口并有一个类实现此接口,而Dynamic MBean,Model MBean以及Open MBean需要实现DynamicMBean接口。
    • 除了上面三条,本条是可选的。所有的MBean可以选择实现javax.management.NotificationBroadcaster接口,此接口允许MBean将通知发送给感兴趣的监听器。

    MBean管理接口由以下四个部分组成:
    1.公共的构造器:JMX代理中添加HTML Adapter时,可以通过浏览器来访问管理接口,HTML Adapter作为MBean被动态加载到JMX代理中,是利用了管理接口中公共构造器。此外一个构造器可以定义MBean对象在生命周期内的具体行为,例如构造器可以告诉MBean记录其所有操作。对于Standard MBean,JMX代理是通过内省来发现构造器的。
    2.属性:属性描述了可管理资源,可管理资源是用MBean管理公开的应用程序或者资源。在Standard MBean中,通过声明getter和setter方法来公开属性,setter方法定义了可写权限,getter方法定义了可读权限。如果同时存在getter和setter方法,表明对属性有可读和可写权限。
    3.方法:方法对应的是可管理资源上的操作,在Standard MBean中,公开的方法是除了setter和getter方法之外的所有方法。
    4.通知:通知允许MBean发送通知到注册的监听器上。为了发送通知,MBean必须实现NotificationBroadcaster接口。此接口提供了发送通知以及其他对象在MBean实现类上注册为监听器的方法。

    Standard MBean是最简单的MBean类型,它使用一个明确管理接口来公开资源,此接口不会变化。Standard MBean管理接口里面包含了要公开的属性和方法。其中属性是通过settergetter方法进行公开,而操作是除了setter和getter方法之外的公布方法。操作和属性可以通过JMX agent内省(introspection)来发现。Standard MBean需要一个MBean接口和实现类,接口命名规则必须符合XMBean,而实现类的名称必须是X
    注意点:
    1.JMX代理通过内省来读取管理接口,内省即通过java反射来检测MBean接口来确定属性和方法。
    2.setter方法不能被重载,例如setPrintQuality(int value)setPrintQuality(String value),后面添加的方法将会无效,因为公开的属性PrintQuality有两个类型intString,无法区分。

    2.简单案例

    案例主要是创建一个简单的HelloWorld的MBean,HelloWorld的MBean公开了一个Java中的String对象。
    【步骤一】编写一个HelloWorld MBean的java接口,此接口声明了三个方法,一个getter方法(getGreeting())以及setter方法(setGreeting()),和一个printGreeting()方法。

    public interface HelloMBean {
       
        public String getGreeting();
        public void setGreeting(String greeting);
        public void printGreeting();    
    }
    

    【步骤二】编写一个MBean接口的实现类。

    public class HelloWorld extends NotificationBroadcasterSupport implements HelloWorldMBean {
      private String greeting;
    
      public HelloWorld() {
        this.greeting = "Hello World! I am a Standard MBean";
      }
    
      public HelloWorld(String greeting) {
        this.greeting = greeting;
      }
    
      public void setGreeting(String greeting) {
        this.greeting = greeting;
        Notification notification = new Notification("com.ch2.helloWorld", this, -1,System.currentTimeMillis(), greeting);
        //发送通知,sendNotification从NotificationBroadcasterSupport中继承。
        sendNotification(notification);
      }
    
      public String getGreeting() {
        return greeting;
      }
    
      public void printGreeting() {
        System.out.println(greeting);
      }
    }
    

    经过上面两个步骤,已经编写了一个简单的MBean。为了使用MBean,需要将此MBean注册到一个JMX agent上面。
    此外实现了一个简单的通知,JMX提供两种简单的方式发送通知,通知的发送者需要实现 javax.management.NotificationBroadcaster接口或者继承NotificationBroadcaster接口的实现类 javax.management.NotificationBroadcasterSupport,HelloWorld继承了NotificationBroadcasterSupport类,在setGreeting()方法中创建了一个Notification对象,并且通过父类继承来的方法sendNotification()来发送通知。
    【步骤三】创建一个JMX Agent来管理资源。
    JMX agent是JMX中的组件,是MBean的容器。此处我们创建一个名称为HelloAgent的JMX代理,其作用是:

    • 创建一个用于注册MBean的MBeanServer实例 。
    • 创建HTML Adaptor来处理客户端的HTML连接。
    • 注册一个HelloWorld MBean的实例。

    HTML adaptor容器允许用户使用任何web浏览器与agent进行交互和查看所有已注册的MBean和MBean中的属性,adapter的作用是:

    • 查看一个可读的MBean属性。
    • 更新一个可写的属性。
    • 执行除setter和getter之外的其他方法。
    public class HelloAgent implements NotificationListener {
      private MBeanServer mbs = null;
    
      public HelloAgent() {
        mbs = MBeanServerFactory.createMBeanServer("HelloAgent");
        HtmlAdaptorServer adapter = new HtmlAdaptorServer();
        HelloWorld hw = new HelloWorld();
        ObjectName adapterName = null;
        ObjectName helloWorldName = null;
        try {
          //创建HelloWorldMBean并注册到MBeanServer上
          helloWorldName = new ObjectName("HelloAgent:name=helloWorld");
          mbs.registerMBean(hw, helloWorldName);
          //向MBean上面添加监听器
          hw.addNotificationListener(this, null, null);
    
          //创建adapter的MBean并注册到MBeanServer上
          adapterName = new ObjectName("HelloAgent:name=htmladapter,port=9092");
          adapter.setPort(9092);
          mbs.registerMBean(adapter, adapterName);
          //开启adapter
          adapter.start();
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
      //收到通知时将会执行此方法
      public void handleNotification(Notification notif, Object handback) {
        System.out.println("Receiving notification...");
        System.out.println(notif.getType());
        System.out.println(notif.getMessage());
      }
    
      public static void main(String args[]) {
        System.out.println("HelloAgent is running");
        HelloAgent agent = new HelloAgent();
      }
    }
    

    编写一个HelloAgent的步骤如下:
    1.创建一个MBean server和HTML adapter。
    MBean server是一个标准的JMX类并且是JMX agent的核心,通过 javax.management.MBeanServerFactory中的方法createMBeanServer()来获取。方法的参数"HelloAgent"是一个String类型的值,表示的是代理的域名称。域名是一组MBean的唯一标识符,域名唯一性使得所有MBean Server区分开。JMX之所以如此强大和通用主要原因是连接器和适配器,这些组件是java对象,可以使得应用程序通过指定的协议来连接JMX代理。
    2.注册一个MBean。
    此处创建了一个HelloWorld MBean以及HTML adapter,需要注册到MBean server上,实际上适配器和连接器也是MBean,因此要符合JMX规范。
    3.使用ObjectName来标识一个MBean。
    当MBean注册到MBean Server上,需要标识和找到它,这就是javax.management.ObjectName的作用。ObjectName是一个为MBean提供命名系统的java类,作为MBean注册到MBean server上的唯一标识。包含两个部分:

    • A Domain name 域名通常与MBean要注册的MBeanServer的域名一致。
    • A key=value property list 属性名/值对用于唯一标识MBean,还用于提供有关MBean的信息.属性值提供诸如名称、端口值、位置和用途等信息。

    如本例中的ObjectName是"HelloAgent:name=HelloWorld",作为HelloWorld MBean注册到MBean Server上面的唯一标识。
    ObjectName是“HelloAgent:name=htmladapter,port=9092”作为Html Adapter注册MBean Server上的标识。
    4.注册和开启HTML adapter。
    适配器也需要作为MBean注册到MBean server上,为了客户端与适配器进行连接,需要启动HTML Adapter。
    5.HelloWorld中实现了一个简单的通知
    任何监听此HelloWorld MBean通知的类都可以收到通知。本例将HelloAgent注册为一个监听器,因此需要实现NotificationListener接口,并且通过addNotificationListener()方法向HelloWorld添加监听,当HelloAgent收到通知时,将会调用handleNotification()方法进行处理。

    3. 测试

    启动HelloAgent,此代理中包含一个HTML Adapter,因此可以通过页面来访问,访问地址是:localhost:9092。当Greeting属性值发生变化,页面点击Apply时,HelloAgent将会收到通知并执行handleNotification()方法,即后台打印结果见下。
    在这里插入图片描述
    在这里插入图片描述
    后台显示

    HelloAgent is running
    Receiving notification...
    com.ch2.helloWorld
    Hello World! I am a Standard MBean
    
    4.参考

    《JMX In Action》

    展开全文
  • 简单的MBean的实现

    2011-05-06 17:24:52
    有两种Java MBean类型:静态MBean和动态MBean。   1.静态MBean   首先讨论静态MBean。要定义一个静态MBean,对于MBean接口类有一个约定:就是接口名必须以MBean为后缀,例如:HelloWorldMBean;然后对于这个...

    有两种Java MBean类型:静态MBean和动态MBean。

     

    1.静态MBean

     

    首先讨论静态MBean。要定义一个静态MBean,对于MBean接口类有一个约定:就是接口名必须以MBean为后缀,例如:HelloWorldMBean;然后对于这个接口的实现类名也有一个约定,就是接口名去掉MBean后缀,例如前面HelloWorldMBean对应的实现类名为HelloWorld。

     

    在接口中,定义为以set或get方法开头的,被认为是一个属性值;其他方法被认为是一个操作。例如:

    public interface HelloWorldMBean {
    
    	
    	public String getName();
    	public void setName(String name);
    	public String print();
    	
    	public int getAge();
    	
    	public void setSex(String sex);
    }
     

    以上定义的MBean中,有三个属性:name, age和sex;有一个操作:print。剩下的就是在实现类的实现对应的方法,这样就定义完一个MBean类型。

     

    下面就是注册这个MBean。

     

    		MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
    
    		HelloWorldMBean bean = new HelloWorld();
    
    		ObjectName objectName = new ObjectName(
    				"com.talend.liugang.jmx:type=HelloWorld,name=helloworld,number=1");
    
    		mBeanServer.registerMBean(bean, objectName);
     

    注册完以后,只要程序没有退出,你就可以通过运行JConsole,选择对应的进程,看到你刚实现的MBean了。

     

     

    2.动态MBean

     

    动态MBean是通过实现DynamicMBean接口来实现的。还是实现一个如上的MBean类型,现在我们需要如下实现:

     

    public class HelloWorldDynamicMBean implements DynamicMBean {
    
    	public Object getAttribute(String attribute)
    			throws AttributeNotFoundException, MBeanException,
    			ReflectionException {
    		return null;
    	}
    
    	public AttributeList getAttributes(String[] attributes) {
    		return null;
    	}
    
    	public MBeanInfo getMBeanInfo() {
    		
    		MBeanAttributeInfo[] attris = new MBeanAttributeInfo[]{
    				new MBeanAttributeInfo("age","int","The age of mine",true,false,false,null),
    				new MBeanAttributeInfo("name","java.lang.String","The name of mine",true,true,false,null),
    				new MBeanAttributeInfo("sex","boolean","Male or Female",true,false,true,null)
    		};
    		
    		MBeanConstructorInfo[] constructs = new MBeanConstructorInfo[]{
    				new MBeanConstructorInfo("HelloWorld", "The helloworld constructor", new MBeanParameterInfo[0])
    		};
    		
    		MBeanOperationInfo[] opers = new MBeanOperationInfo[]{
    				new MBeanOperationInfo("print", "Print result", new MBeanParameterInfo[0], "java.lang.String", MBeanOperationInfo.ACTION)
    		};
    		return new MBeanInfo("com.talend.liugang.jmx.HelloWorld", "HelloWorld Mbean", attris, constructs, opers, null);
    	}
    
    	public Object invoke(String actionName, Object[] params, String[] signature)
    			throws MBeanException, ReflectionException {
    		return null;
    	}
    
    	public void setAttribute(Attribute attribute)
    			throws AttributeNotFoundException, InvalidAttributeValueException,
    			MBeanException, ReflectionException {
    
    	}
    
    	public AttributeList setAttributes(AttributeList attributes) {
    		return null;
    	}
    
    }

     

    这里剩下的很多方法我没有实现,其实主要的内容就在那个返回的MBeanInfo里,然后其他的方法都是对它的一个反馈,例如那些与Attribute相关的方法就是对我们MBeanInfo里定义的那些Attribute的操作;Invoke方法就是对MBeanInfo里定义的那些operation的操作。

     

    剩下注册这个bean的方法和上面一样。

    展开全文
  • Java JMX 二:MBean and MBean Server

    千次阅读 2018-11-21 22:05:17
    文章目录1.MBean2.ObjectName3.MBeanServer3.1 MBeanServer接口 1.MBean MBean分为如下四种 ...类型 ...standard MBean ...这种类型MBean最简单,它能管理的资源(包括属性,方法,时间)必须...

    参考文献:https://docs.oracle.com/cd/E19698-01/816-7609/index.html
    相关文章:
    Java JMX 一:初步认识:https://blog.csdn.net/youyou1543724847/article/details/82933076

    Java JMX 三:Connector:https://blog.csdn.net/youyou1543724847/article/details/84300557

    1.MBean

    MBean分为如下四种

    类型 描述
    standard MBean 这种类型的MBean最简单,它能管理的资源(包括属性,方法,时间)必须定义在接口中,然后MBean必须实现这个接口。它的命名也必须遵循一定的规范,例如我们的MBean为Hello,则接口必须为HelloMBean。
    dynamic MBean 必须实现javax.management.DynamicMBean接口,所有的属性,方法都在运行时定义
    open MBean 此MBean的规范还不完善,正在改进中
    model MBean 与标准和动态MBean相比,你可以不用写MBean类,只需使用javax.management.modelmbean.RequiredModelMBean 即可。RequiredModelMBean实现了ModelMBean接口,而ModelMBean扩展了DynamicMBean接口,因此与DynamicMBean相似,Model MBean的管理资源也是在运行时定义的。与DynamicMBean不同的是,DynamicMBean管理的资源一般定义在DynamicMBean中(运行时才决定管理那些资源),而model MBean管理的资源并不在MBean中,而是在外部(通常是一个类),只有在运行时,才通过set方法将。其加入到model MBean中。后面的例子会有详细介绍

    2.MBeanServer

    MBean Server是一个集中的管理MBean对象实例的地方。通过MBeanServer,你可以查询、管理、操作Agent应用发布的特定的MBean。

    2.1 关于MbeanServer

    MBeanServer一般通过MBeanServerFactory来创建

    只有JMX 兼容的MBean对象才能注册到MBeanServer中。当MBean对象注册到MBeanServer对象后,该对象的属性和方就是远程可访问的了(通过JMX connector或是Adapter)

    (1) Mbean注册
    当MBean注册或是取消注册后,MBeanServer发出 MBeanServerNotification Notification 。

    (2)关于安全检查
    使用MBeanServerFactory 的createMBeanServer 或newMBeanServer 方法得到的MBeanServer具有安全检查机制。

    如果不存在SecurityManager(即(System.getSecurityManager()结果为null),则MBeanServer可以不做任何检查。

    如果存在SecurityManager,或是MbeanServer接口的实例类想要进行安全检查(即要么使用SecurityManager实现的默认安全检测,或是你自己实现,但是基本规则需要符合规范,规范如下),则检测的规则如下:

    1. 如果安全检查失败,则抛出SecurityException异常;
    2. 对于会抛出 InstanceNotFoundException的方法,不管权限如何,当存储MBean时,还是应该抛出InstanceNotFoundException异常;
    3. 对于invoke方法,调用者必须具有如下权限:MBeanPermission(className, operationName, name, “invoke”).
    4. 对应getAttribute放,调用者必须具有如下权限:MBeanPermission(className, attribute, name, “getAttribute”).

    2.2 MBeanServer接口

    主要包括如下几类操作接口:
    (1)控制MBean实例的

    1. createMBean, or instantiate and registerMBean :增加MBean到Agent中
    2. unregisterMBean :从Agent中删除MBean;
    3. addNotificationListener and removeNotificationListener :MBean的事件监听操作
    4. classloader相关的

    MBeanServerConnect接口中的相关的方法列表

    Modifier and Type Method Description
    ObjectInstance createMBean(String className, ObjectName name) Instantiates and registers an MBean in the MBean server.
    ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature) Instantiates and registers an MBean in the MBean server.
    ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName) Instantiates and registers an MBean in the MBean server.
    ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature) Instantiates and registers an MBean in the MBean server.
    void unregisterMBean(ObjectName name) Unregisters an MBean from the MBean server.
    ObjectInstance getObjectInstance(ObjectName name) Gets the ObjectInstance for a given MBean registered with the MBean server.
    boolean isInstanceOf(ObjectName name, String className) Returns true if the MBean specified is an instance of the specified class, false otherwise.
    boolean isRegistered(ObjectName name) Checks whether an MBean, identified by its object name, is already registered with the MBean server.
    void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) Adds a listener to a registered MBean.
    void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) Adds a listener to a registered MBean.
    void removeNotificationListener(ObjectName name, NotificationListener listener) Removes a listener from a registered MBean.
    void removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) Removes a listener from a registered MBean.
    void removeNotificationListener(ObjectName name, ObjectName listener) Removes a listener from a registered MBean.
    void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) Removes a listener from a registered MBean.

    (2)访问Mbean属性和操作的:
    5. getMBeanInfo
    6. getAttribute and getAttributes
    7. setAttribute and setAttributes
    8. invoke

    MBeanServerConnect接口中的相关的方法列表

    Modifier and Type Method Description
    Object getAttribute(ObjectName name, String attribute) Gets the value of a specific attribute of a named MBean.
    AttributeList getAttributes(ObjectName name, String[] attributes) Retrieves the values of several attributes of a named MBean.
    String[] getDomains() Returns the list of domains in which any MBean is currently registered.
    MBeanInfo getMBeanInfo(ObjectName name) This method discovers the attributes and operations that an MBean exposes for management.
    Object invoke(ObjectName name, String operationName, Object[] params, String[] signature) Invokes an operation on an MBean.
    void setAttribute(ObjectName name, Attribute attribute) Sets the value of a specific attribute of a named MBean.
    AttributeList setAttributes(ObjectName name, AttributeList attributes) Sets the values of several attributes of a named MBean.

    (3)查询管理agent中mbean整体情况的:
    10. getDefaultDomain
    11. getMBeanCount
    12. queryMBeans、queryNames:通过name或value查找beam.

    MBeanServerConnect接口中的相关的方法列表

    Modifier and Type Method Description
    Integer getMBeanCount() Returns the number of MBeans registered in the MBean server.
    String getDefaultDomain() Returns the default domain used for naming the MBean.
    Set queryMBeans(ObjectName name, QueryExp query) Gets MBeans controlled by the MBean server.
    Set queryNames(ObjectName name, QueryExp query) Gets the names of MBeans controlled by the MBean server.

    2.3 MBeanServer与MBeanServerConnection

    在Agent端,可以通过MBeanServer对象调用上述方法。在JMX client端,通过MBeanServerConnection 对象调用上述方法。

    MBeanServer和MBeanServerConnection 的关系:MBeanServer扩展了MBeanServerConnection接口
    public interface MBeanServer
    extends MBeanServerConnection
    

    通过MBeanServerConnect和MBeanServer大多数方法相同。但是MBeanServer比MBeanServerConnect多了如下几类方法:

    3.引用MBeans

    在Agent应用中,你或许可以直接获取到MBean对象的引用(因为MBean实例是在Agent端创建然后注册到MBean Server中的)。但是一般来说,都是通过MBean Server交互,获取特定的MBean 对象引用的。

    MBeanServer作为一个集中式的MBean 对象管理中心,它需要一种方法来识别、区分各个不同的MBean对象。在JMX中,该方法就是为各个MBean实例取名字(Object Name)。

    3.1 ObjectName

    https://docs.oracle.com/javase/8/docs/api/javax/management/ObjectName.html

    基本形式:DomainName:property=value[,property2=value2]*

    MBean注册到MBean Server中。MBean Server通过object name来对mbean进行区分。同一个MBean类可能有多个实例对象,但是每个实例对象都有一个唯一的objectname。

    DomainName是一个抽象的类别,用于将MBean进行分类。该类别可以是任何的字符串(具有的意义是你自己根据MBean的业务逻辑取名的),如test,hadoop等。同理,property Key也可以是任意的字符串。一个ObjectName名至少有一个property key。

    MBean server 中至少有一个Dommain。当Mbean的dommain无关紧要时,mbean server提供默认的dommain(叫做DefaultDomain)

    注意:同一个MBean 类可能会实例化多个MBean对象实例,但是不同的对象实例必须有不同的唯一的object name。

    展开全文
  • JMX之Mbean

    2017-10-20 19:03:20
    标准MBean要求1:接口名为***MBean,实现类名为***,且接口和实现类必须在同一个包下; 要求2:接口中方法的入参和返回值只能为基本类型;public interface HelloMBean { public void sayHello(); public int add...
  • Dynamic MBean

    千次阅读 2004-07-26 13:21:00
    JMX架构的了解 (MBean部分) 板桥里人 http://www.jdon.com 2003/1/5 我们前章举例的HelloMBean是StandardMBean,这是JMX中的MBean的一种,还有一种 叫DynamicMBean,这是JMX在运行期间能够控制它, 无论哪种MBean,他们...
  • MBean和MXBean 区别

    2019-10-07 14:23:06
    MXBean与MBean的区别主要是在于在接口中会引用到一些其他类型的类时,其表现方式的不一样。在MXBean中,如果一个MXBean的接口定义了一个属性是一个自定义类型,如MemoryMXBean中定义了heapMemoryUsage属性,这个属性...
  • JMX : Standard MBean

    千次阅读 2012-08-25 18:17:18
    Standard MBean由一个接口和一个实现类组成。 命名规范 : 接口 : XXXMBean ...以get或set开头的方法 : 如果符合getter或setter的模式,就是定义了一个attribute,类型为getter的返回值类型或setter
  • 标准类型MBean最简单,它能管理的资源(包括属性,方法,时间)必须定义在接口中,然后MBean必须实现这个接口。它的命名也必须遵循一定的规范,例如我们的MBean为User,则接口必须为UserMBean。动态MBean必须实现...
  • MBean的概念: MBean: Managed...必须实现自己的MBean接口,或者实现javax.management.DynamicMBean.    MBean类型: 标准,动态,模型,开放。   MBeanServer的概念: MBean
  • JMX MBeans之一Standard MBean 这种类型MBean最简单,它能管理的资源(包括属性,方法,时间)必须定义在接口中,然后MBean必须实现这个接口。而且这个MBean实现类中,必须至少有一个public的构造函数。 而且类中...
  • JMX MBeans之三Open MBean

    2009-12-02 09:32:05
    严格说,你开发standard,dynamic和model MBean可以使用复杂类型。然而,为了让管理程序能够正确得到这些类型的状态,这些类的字节码必须让这些管理程序访问到。结果就是导致管理程序和被管理资源的耦合度很高。折衷的...
  • MBean会通过接口定义,给出这些资源的一些特定操作:属性的读和写操作可以被执行的操作关于自己的描述信息MXBean是一种特殊的MBean,不仅特殊在名字不一样,主要是在于在接口中会引用到一些其他类型的类时,其表现方式...
  • 1. hyperic JMX插件 ...Hyperic可以自动发现定义好的Mbean服务类型的服务。   JMX监控插件开发步骤 (1) 设计好自己所要监控的业务逻辑,开发Mbean 我们可以借助Spring JMX来开发Mbean。Spring可以将s...
  • 03-12_MBean层次结构

    2018-01-24 23:25:00
    WebLogic Mbeans的类型 weblogic服务器的MBeans生命周期 Mbeans层次结构与WLST关系介绍: WLST online提供对MBeans的简化访问,WLST使您能够以类似于浏览文件系统中文件层次结构的方式浏览...
  • JMX架构的了解 (MBean部分)板桥里人 http://www.jdon.com 2003/1/5我们前章举例的HelloMBean是StandardMBean,这是JMX中的MBean的一种,还有一种 叫DynamicMBean,这是JMX在运行期间能够控制它, 无论哪种MBean,他们的...
  •   Spring集成JMX是很简单的,这里通过注解发方式暴露JMX,有的时序我们需要监听JMX属性的改变,下面我们在Spring配置文件中配置监听器。...用途 Commons Attributes属性 JDK 5.0注解 属性/注解类型...
  • Essentials of the JMX

    2013-01-14 20:31:05
    MBean是被管理的Java对象,类似于JavaBean。它遵循Jmx规范中的设计模式。一个MBean能代表一个需要被管理的设备,应用程序或其他资源。... JMX规范定义了四种MBean类型:standard MBeans,dynamic MB
  • 简单的记了两笔

    2013-03-24 17:20:17
    2. MBean类型分为4种,分别是标准类型、动态类型、开放类型、模型类型。 3. JMX规范分为3层:设备层、代理层和分布式层。MBean服务器位于代理层,MBean位于设备层。分布式服务层会在JMX规范的将来版本中涉及。
  • 18.1.3 属性与操作 Here is a list available attributes and operations at this moment. This list may extend in...MBean 类型 名称 描述 ProcessDefinitionsMBean Attribute processDefinitions 作为字符串列表
  • 一、创建 MBean 定义文件MDF(与Weblogic8一致) 文件名称为:WorkSecurityAuthenticator.xml ...二、使用 WebLogic MBeanMaker 生成 MBean 类型 java -classpath "D:\bea9\weblogic92\serv...
  • reading the jboss code

    2009-02-04 13:08:53
    org.jboss.system   jboss 提供的 MBean 类型   use scala, trait it! make it more clearly :-)     http://docs.jboss.org/jbossweb/3.0.x/class-loader-howto.html  
  • EJB的bean类型

    2014-10-13 14:00:42
    于Ejb3的Ejb bean类型介绍,有三种类型:Session bean,Entity Bean和MessageDriven bean(Mbean)
  • 关于Ejb3的Ejb bean类型介绍,有三种类型:Session bean,Entity Bean和MessageDriven bean(Mbean).在这篇文章中,主要介绍Session bean. Key: 定义 Stateful bean Stateless bean Sample 一 Session Bean定义 用于...
  • MBean是一种JavaBean,...MXBean是一种特殊的MBean,不仅特殊在名字不一样,主要是在于在接口中会引用到一些其他类型的类时,其表现方式的不一样。在MXBean中,如果一个MXBean的接口定义了一个属性是一个自定义类型,...
  • 例如,配置 MBean 可以通过解析 XML 文件来确定它所公开的属性名称和类型。 任何实现 DynamicMBean 接口的类的 Java 对象都是 Dynamic MBean。 前言: 在 Java 程序的运行过程中,对 JVM 和系统的监测一直是 Java...
  • jsf追加表格

    2011-08-18 07:06:41
    假设FacesConfig中配置一个名为bean的MBean,该MBean中需定义一个类型为javax.faces.component.html.HtmlDataTable类型的变量dt,页面中的DataTable设置bingding="#{bean.dt}"。 首先了解一

空空如也

空空如也

1 2 3 4 5
收藏数 85
精华内容 34
关键字:

mbean类型