2012-05-23 21 views
2

我在安装的MongoDB我的服务器上,并写了一个非常小的Java程序JMX注册错误连接到它:与MongoDB的

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的配置文件。

+0

您可以发布您的配置文件,以及你的mongod调用和参数? – Aaron

回答

2

在我看来,你的安全策略是不允许MongoDB注册其JMX方法。看到这个问题:AccessControlException when trying to redeploy webapp to Tomcat using Netbeans

它建议编辑您的security.policy文件中加入一行:

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

然后将以下添加到您的虚拟机的命令行参数:

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

啊,这个工程,谢谢! – Tanaki