我想让visualvm和websphere 7在我的本地Windows桌面上一起工作。我尝试通过JMX连接,但没有运气。有没有人设法让visialvm和websphere 7工作,你做了吗?
此致 FF
答案 0 :(得分:36)
我在Praha的VisualVM团队的帮助下完成了工作(感谢Tomas!):
1)在管理控制台上(点击服务器 - > 服务器类型 - > WebSphere应用程序服务器 - > server1 - > Java和流程管理 - > 流程定义 - > Java虚拟机),添加以下内容进入领域的
通用JVM参数(请注意,第一个系统属性等于
没有,也没有第二个系统属性的等号):
-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote
2)在文件/ opt / IBM /中添加或取消注释以下三行 的WebSphere /应用服务器/ JAVA / JRE / lib目录/管理/ management.properties (或/ lib / management / management.properties):
com.sun.management.jmxremote.port=3333
com.sun.management.jmxremote.authenticate=false
com.sun.management.jmxremote.ssl=false
com.sun.management.jmxremote.local.only=false
3)连接VisualVM!
答案 1 :(得分:1)
可以将这些参数port,authenticate和ssl设置为JVM Arguments,如-Dcom.sun.management.jmxremote.port = 1300
我有另一个问题:使用mbean visualvm插件我看不到任何相关的Websphere mbean。
答案 2 :(得分:0)
这取决于你想要达到的目标和你所拥有的限制。您需要知道的是WebSphere中有两个MBean服务器:除了JRE自动创建的平台MBean服务器之外,WebSphere还创建了自己的MBean服务器。以下是您有两个选项:
按照user271858给出的答案中的说明配置WebSphere服务器。这将允许您连接到平台MBean服务器。您将可以访问提供进程信息(RAM,CPU,线程等)的标准平台MBean。另一方面,您无法访问WebSphere的MBean(实现某些管理操作,提供应用程序指标等)。您还需要注意,通过更改WebSphere服务器的配置,您可以绕过WebSphere的安全性。
连接到WebSphere的MBean服务器。 WebSphere支持几种协议(主要是SOAP和RMI),但它们都不是完全标准的。这意味着您需要将一些WebSphere库(即管理瘦客户机)添加到VisualVM。可能这样做(它与JConsole一起使用,因此原则上它也应该可以与VisualVM一起使用),但它很棘手,尤其是你需要连接到启用了安全性的WebSphere服务器。 / p>
更简单的选择是将VisualWAS插件安装到VisualVM中。它依赖于某个专有WebSphere协议的开源实现,因此不需要任何其他WebSphere库。
这将使您可以访问在WebSphere的MBean服务器中注册的MBean,但不能访问标准平台MBean,即VisualVM中的相关部分(与内存,CPU和线程相关)将被禁用。但是,您可以在WebSphere的MBean服务器中交叉注册平台MBean,VisualWAS项目也为此提供解决方案(以安装到WebSphere中的插件的形式)。然后,您将可以访问VisualVM中的所有功能,并且您不需要绕过WebSphere的安全性。