本文介绍了部署后看不到JMX MBean的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

环境 NetBeans 6.9.1,GlassFish 3.1,METRO 2.1

ENVIRONMENT NetBeans 6.9.1, GlassFish 3.1, METRO 2.1

我想列出可用的Web服务,因此我要向JMX MBeanServer查询*:type=WSEndpoint,*.问题是,部署后只有约56个Mbean,并且未注册WSEndpoint bean.如果我与JMXterm连接,则MBean的数量将跃升至380,并且所有WSEndpoint bean都是可见的.在JConsole中,我没有看到任何folder,但是在运行JMXterm之后,我看到了.

I want to make a list of available web services, so I'm querying JMX MBeanServer for *:type=WSEndpoint,*. The problem is, there are only ~56 Mbeans after deploy, and WSEndpoint beans are not registered. If I connect with JMXterm, the MBean count jumps up to ~380, and all WSEndpoint beans are visible. From JConsole, I don't see any folder, but after running JMXterm I do.

即使我调用Web服务,MBean仍保持未注册状态.默认情况下,METRO监视处于启用状态,我就这样保留了它;部署后,将显示控制台消息INFO: Metro monitoring rootname successfully set to: amx:pp=/mon/server-mon[server],type=WSEndpoint,name=....

Even if I call the web service, the MBeans stay unregistered. METRO monitoring is enabled by default, and I left it like that; after deploy a console message INFO: Metro monitoring rootname successfully set to: amx:pp=/mon/server-mon[server],type=WSEndpoint,name=... is shown.

JMXterm如何做才能使所有MBean都可见?它对MBeanServer进行任何方法调用吗?有什么解决方案,以便我可以在部署后立即访问WSEndpoint bean?

What does JMXterm do so that all MBeans are visible? Does it do any method calls to MBeanServer? Is there any solution, so that I can access WSEndpoint beans right after deploy?

推荐答案

您可以通过在MBean amx-support:type=boot-amx上执行JMX操作bootAMX来触发所有AMX MBean的注册.

You can trigger the registration of all AMX MBeans with by executing the JMX operation bootAMX on the MBean amx-support:type=boot-amx.

这篇关于部署后看不到JMX MBean的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-09 05:15