启用S​​NMP时,GlassFish将不会启动

我有一个在64位Debian Lenny上运行的GlassFish v3应用服务器。 一切运行良好,除了我想用SNMP监视GF的JVM实例。 但是,每次我尝试通过在domain.xml中添加以下<jvm-options>来启用它时:

 -Dcom.sun.management.snmp.port=10161 -Dcom.sun.management.snmp.acl.file=/path/to/snmp.acl -Dcom.sun.management.snmp.interface=127.0.0.1 

GlassFish拒绝开始:

 $ asadmin start-domain Waiting for DAS to start .Error starting domain: default. The server exited prematurely with exit code 1. Command start-domain failed. $ 

在jvm.log或server.log中也没有任何提示(呃,真的什么也没有)。 snmp.acl文件包含:

 acl = { { communities = public access = read-only managers = localhost } } 

并且是chmod 600(我知道这不是问题,因为如果设置为600以外的任何值,它实际上会失败,并显示有关权限的错误)

 $ java -version java version "1.6.0_0" OpenJDK Runtime Environment (build 1.6.0_0-b11) OpenJDK 64-Bit Server VM (build 1.6.0_0-b11, mixed mode) 

-Dcom.sun.management选项是JVM的Sun扩展。 它不是JVM规范的一部分,因此它们在OpenJDK中不可用!

无论如何,即使使用Sun JVM,在运行群集上部署应用程序时,我也遇到了严重错误。 也许这是Sun有意为之,因为他们销售了SNMP监控的扩展。

我有同样的问题。 启用S​​NMP后,Glassfish将不再启动。 解决scheme很简单,并在这里描述: http : //www.randombugs.com/java/glassfish/snmp-support-glassfish-211-cluster-support.html

只需把正确的权限放在你的acl文件上。

 [randombugs@jack]# chown <application user> /etc/java-6-sun/management/snmp.acl [randombugs@jack]# chmod or /etc/java-6-sun/management/snmp.acl [randombugs@jack]# chmod gr /etc/java-6-sun/management/snmp.acl 

你可能已经检查过了,但是有没有什么东西在那个端口上监听?

netstat -an | grep LISTEN会显示。