MongoDB的JMX注册错误

时间:2012-05-23 15:26:22

标签: java mongodb permissions jmx accesscontrolexception

我已经在我的服务器上安装了MongoDB,并编写了一个非常小的Java程序来连接它:

Mongo mongo = new Mongo("localhost");
db = mongo.getDB("testdb"); // testdb doesn't exist, will be created

当我运行程序时,我收到此错误:

WARNING: jmx registration error: java.security.AccessControlException:
    access denied (javax.management.MBeanTrustPermission register) continuing...

可能导致此错误的原因是什么?我正在使用MongoDB提供的MongoDB数据库驱动程序2.7.3。自安装以来,我已经更改了MongoDB的配置文件。

1 个答案:

答案 0 :(得分:2)

在我看来,您的安全策略不允许MongoDB注册其JMX方法。请参阅此问题:AccessControlException when trying to redeploy webapp to Tomcat using Netbeans

建议您修改security.policy文件以添加以下行:

grant { permission javax.management.MBeanTrustPermission "register"; };

然后将以下内容添加到VM命令行参数:

-Djava.security.policy= <path to security.policy>