首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JBoss 7连接到JBoss 7

使用JBoss 7连接到JBoss 7
EN

Stack Overflow用户
提问于 2013-10-02 11:09:21
回答 4查看 16K关注 0票数 9

我有远程JBoss 7.1服务器,我想通过VisualVM或JConsole连接到这个服务器。

我在googled上搜索了一些关于如何使用JBoss或JCoonsole连接到VisualVM 7.1的线程/教程,例如:

不幸的是,我没有运气通过JMX连接到我的JBoss 7.1。

你有什么想法,如何连接到JBoss 7.1与VisualVM?

编辑:我将-Dcom.sun.management.jmxremote.authenticate=false添加到standalone.conf.bat中,但是我得到了一个异常:引起: java.lang.IllegalStateException: LogManager没有被正确地嵌入(您必须将"java.util.logging.manager“系统属性设置为"org.jboss.logmanager.LogManager")。

因此,我向JAVA_OPTS添加了另一个选项:-Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.port=1090,但我收到的例外是:

代码语言:javascript
复制
Could not load Logmanager "org.jboss.logmanager.LogManager"
java.lang.ClassNotFoundException: org.jboss.logmanager.LogManager
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-02 12:01:15

找到了解决办法。我需要在JAVA_OPTS中standalone.conf.bat中添加以下参数:

代码语言:javascript
复制
-Dcom.sun.management.jmxremote.port=1090 ^
-Dcom.sun.management.jmxremote.authenticate=false ^
-Dcom.sun.management.jmxremote ^
-Dcom.sun.management.jmxremote.ssl=false ^
-Djava.util.logging.manager=org.jboss.logmanager.LogManager ^
-Xbootclasspath/p:<JBOSS_PATH>/modules/org/jboss/logmanager/main/jboss-logmanager-1.2.2.GA.jar ^
-Xbootclasspath/p:<JBOSS_PATH>/modules/org/jboss/logmanager/log4j/main/jboss-logmanager-log4j-1.0.0.GA.jar ^
-Xbootclasspath/p:<JBOSS_PATH>/modules/org/apache/log4j/main/log4j-1.2.16.jar -Djboss.modules.system.pkgs=org.jboss.logmanager

注1:在Unix上使用\而不是^

注2:将<JBOSS_PATH>替换为JBoss 7.x安装路径。我的是c:/java/jboss-as-7.1.1.Final

票数 7
EN

Stack Overflow用户

发布于 2013-10-02 11:12:34

如果您打开一个命令shell并键入"netstat -a",您看到在JMX端口1090上侦听什么了吗?如果不是,也许您必须检查。

https://community.jboss.org/thread/171346?start=0&tstart=0

票数 3
EN

Stack Overflow用户

发布于 2014-11-05 16:39:17

您可以直接连接到JBOSS,而不是VM JMX (不需要修改JAVA_OPTS)

只需确保在standalone.xml (JMX子系统活动)中有以下配置

在独立模式下(监听端口9999):

代码语言:javascript
复制
<subsystem xmlns="urn:jboss:domain:jmx:1.1">  
  <show-model value="true"/>  
  <remoting-connector />  
</subsystem> 

在域模式(监听端口4447)

代码语言:javascript
复制
<subsystem xmlns="urn:jboss:domain:jmx:1.1">  
  <show-model value="true"/>  
  <remoting-connector use-management-endpoint="false"/>  
</subsystem>

然后我们需要一些小技巧:由于JBoss JMX实现有点特定,我们需要在JVisualVM类路径中包含一些jboss。

  • 获取文件$JBOSS_HOME/bin/jconsole.sh/jconsole.bat,并将其复制/重命名为同一目录中的jvisualvm.sh / jvisualvm.bat。
  • 然后,使用-cp:a "$CLASSPATH"而不是-J-Djava.class.path="$CLASSPATH",替换每个jvisualvm对j控制台的可执行调用。

现在,只需使用脚本启动visualVM,并使用折叠url service:jmx:remoting-jmx://hostname:port添加一个新的JMX连接(文件菜单)(凭据是管理领域之一)。

注意:如果您不能直接访问JMX端口,请考虑使用ssh隧道。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19135550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档