注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

0与1构筑世界,程序员创造时代

软件架构设计 Java编程

 
 
 

日志

 
 

GlassFish - JMX问题  

2008-12-09 18:51:02|  分类: GlassFish |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  文章声明

  
作者:
傲风(aofengblog@163.com)       编写时间:2008年12月09日

网址:http://aofengblog.blog.163.com



环境
GlassFish-V2


问题描述
1、开始在用JMX监控GlassFish时,以为向监控Tomcat或Resin一样,在它的配置文件中增加几个JVM参数:
<jvm-options>-Dcom.sun.management.jmxremote</jvm-options>
<jvm-options>-Dcom.sun.management.jmxremote.port=9009</jvm-options>
…………

2、在启动GlassFish时,控制台显示一堆错误信息:
正在启动域 domain1, 请稍候。
将日志重定向至 /data2/aimc4_tj/glassfish/domains/domain1/logs/server.log?£
正在将输出重定向至 /data2/aimc4_tj/glassfish/domains/domain1/logs/server.log
Could not load Logmanager "com.sun.enterprise.server.logging.ServerLogManager"
java.lang.ClassNotFoundException: com.sun.enterprise.server.logging.ServerLogManager
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.util.logging.LogManager$1.run(LogManager.java:166)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.util.logging.LogManager.<clinit>(LogManager.java:156)
        at java.util.logging.Logger.getLogger(Logger.java:274)
        at sun.management.snmp.util.MibLogger.<init>(MibLogger.java:57)
        at sun.management.snmp.util.MibLogger.<init>(MibLogger.java:42)
        at sun.management.jmxremote.ConnectorBootstrap.<clinit>(ConnectorBootstrap.java:760)
        at sun.management.Agent.startAgent(Agent.java:127)
        at sun.management.Agent.startAgent(Agent.java:239)
javax.management.JMRuntimeException: Failed to load MBeanServerBuilder class com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder
        at javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:480)
        at javax.management.MBeanServerFactory.getNewMBeanServerBuilder(MBeanServerFactory.java:511)
        at javax.management.MBeanServerFactory.newMBeanServer(MBeanServerFactory.java:298)
        at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:213)
        at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:174)
        at sun.management.ManagementFactory.createPlatformMBeanServer(ManagementFactory.java:302)
        at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504)
        at sun.management.jmxremote.ConnectorBootstrap.initialize(ConnectorBootstrap.java:392)
        at sun.management.Agent.startAgent(Agent.java:127)
        at sun.management.Agent.startAgent(Agent.java:239)
Caused by: java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at javax.management.MBeanServerFactory.loadBuilderClass(MBeanServerFactory.java:423)
        at javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:465)
        ... 9 more
代理抛出异常 : javax.management.JMRuntimeException: Failed to load MBeanServerBuilder class com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder

3、经查找资料,GlassFish官方文档这样描述:
不支持启动带有附加 JMX 代理的 Application Server。(ID 6200011)

可以在 Application Server 上配置 J2SE 1.4.x, 5.0 或更高版本。J2SE 5.0 平台的完整功能是可以启动 JMX 代理。在服务器启动时,如果您明确设置了系统属性,此功能将被激活。

示例值包括:

name="com.sun.management.jmxremote" value="true"
name="com.sun.management.jmxremote.port" value="9999"
name="com.sun.management.jmxremote.authenticate" value="false"
name="com.sun.management.jmxremote.ssl" value="false"

在配置了 JMX 属性并启动服务器之后,将在 Application Server VM 中启动新的 jmx-connector 服务器。此过程的副作用是会对管理功能造成不利影响,并且 Application Server 管理 GUI 和 CLI 可能会产生异常结果。出现此问题的原因在于内置 jmx-connector 服务器与新的 jmx-connector 服务器之间存在一些冲突。


参考资料
1、http://docs.sun.com/app/docs/doc/820-0838/abqav?a=view

<正文结束>
  评论这张
 
阅读(2397)| 评论(3)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017