[英]JMX MBeans not visible after deploy
环境 NetBeans 6.9.1,GlassFish 3.1,METRO 2.1
我想列出可用的Web服务,所以我*:type=WSEndpoint,*
JMX MBeanServer查询*:type=WSEndpoint,*
。 问题是,部署后只有约56个Mbean,并且未注册WSEndpoint
Bean。 如果我与JMXterm连接,则MBean的数量将跃升至380,并且所有WSEndpoint
Bean都是可见的。 在JConsole中,没有看到任何folder
,但是在运行JMXterm之后,我看到了。
即使我调用了Web服务,MBean仍保持未注册状态。 默认情况下,METRO监视处于启用状态,我就这样保留了它; 部署控制台消息INFO: Metro monitoring rootname successfully set to: amx:pp=/mon/server-mon[server],type=WSEndpoint,name=...
JMXterm做什么使所有MBean都可见? 它对MBeanServer
进行任何方法调用吗? 有什么解决方案,以便可以在部署后立即访问WSEndpoint
bean?
您可以通过在MBean amx-support:type=boot-amx
上执行JMX操作bootAMX
来触发所有AMX MBean的注册。
同时,我在《 METRO用户指南: 19.5 》中找到了答案。 注意事项 。
AMX mbean是延迟创建的。 因此,如果有人在GlassFish中部署一个端点,然后使用JConsole查找Metro WSEndpoint mbean,则有时AMX mbean不会出现。 要激活它,请启动asadmin GUI或CLI。 或使用jmxterm并发出其domains命令。
在某些情况下,直到端点接收到其第一次客户端调用,都会出现Metro端点mbean。
如果存根仅用于一个调用,然后立即关闭,则WSClient mbean可以快速出现和消失。 使用可靠消息传递或安全对话的存根通常会保持活动状态更长的时间,因为它很可能会用于多个呼叫。
但是,在运行asadmin GUI或CLI并没有帮助之后,我只能通过使用JMXterm连接到JVM来解决它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.