意义

2014-10-08 53 views
0

JBoss的4/5的MBean如NamingAlias在XML定义如下意义

<mbean code="org.jboss.naming.NamingAlias" name=":service=NamingAlias,fromName=queue/original"> 
    <attribute name="ToName">queue/linked</attribute> 
    <attribute name="FromName">queue/original</attribute> 
</mbean> 

注重属性name=":service=NamingAlias,fromName=queue/original我看到的参数servicefromName

依照指示操作,在这里创建一个自定义的MBean:

https://developer.jboss.org/wiki/ExampleHelloWorldService

用于创建的MBean的XML配置是

<server> 
    <mbean code="com.acme.HelloWorldService" name="acme.com:service=HelloWorld"> 
    <attribute name="Message">Hello World</attribute> 
    </mbean> 
</server> 

service中的name属性指定我注意到了。

服务对所有的豆子都是强制性的吗?如何添加附加参数,如fromName?这些值是否可以在实现MBean的类中使用或者是那些强制的?

回答

1

名称属性可以是任何有效的(和唯一的)JMX ObjectName。关键和价值本身除了对开发者的主观意义之外没有任何特殊的意义。

在第一个例子中,对象名未指定域(该值到结肠的左侧),这样在MBeanServer假定缺省域,在这种情况下将是的JBoss所以名义上:

:service=NamingAlias,fromName=queue/original == jboss:service=NamingAlias,fromName=queue/original 

ObjectName(及其嵌入的域和键/值)可以在类中使用。在标准的JMX中,通常会使impl实现MBeanRegistration,它在bean注册时注入MBeanServer和ObjectName。但是,您引用的示例是一个专门的JBoss ServiceMBean,它会自动执行此操作,并且您的实现将在名为serviceName的字段中存储ObjectName。