我试图访问部署到JBoss作为一个7.1.1的MBean服务。我的MBean服务也是一个队列监听器。我试图让这个MBean服务的一个实例在另一个SAR中注册为队列监听器。获取的MBean服务的实例在JBoss AS中7.1.1
我尝试了这种代码,但它不能正常工作,
MBeanServer server = ManagementFactory.getPlatformMBeanServer();
ObjectName mbeanObject =
new ObjectName("myproject.service.Test:service=com.mytest.program");
TestServiceMBean handler = MBeanServerInvocationHandler.newProxyInstance(
server, mbeanObject, TestServiceMBean.class, false);
我也尝试了这种
TestServiceMBean testMBeanService =
(TestServiceMBean)server.getAttribute(mbeanObject, "Instance");
在这两种情况下,我没有得到TestServiceMBean
的实例。任何人都可以帮助我获得对MBean Test服务的访问权限。
<mbean code="com.mytest.program.TestService"
name="myproject.service.Test:service=com.mytest.program">
</mbean>
下面的代码:
public class TestService implements TestServiceMBean, MessageListener {
您好MUTHU; 当你说你没有得到的TestServiceMBean的一个实例,到底发生了什么?你能提供错误的堆栈跟踪(假设你得到一个)。 – Nicholas
当我尝试获取实例作为属性时,这是我得到的javax.management.AttributeNotFoundException:没有这样的属性:实例 at com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:63) at com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:216) – Muthu
在使用代理服务器实例的情况下,它不会让我的“TestServiceMBean”比如,它是让我一个类名“$ Proxy0”,当我调试它将返回MBeanServerInvocationHandler类itslef。我试图将其转换为TestServiceMBean。编译器没有抱怨,但我得到的objct不是Queue Listener服务对象。 – Muthu