JBoss应用程序无法连接到OpenShift MongoDB

时间:2014-01-15 04:58:31

标签: java mongodb jboss datanucleus openshift

我有一个在JBossAS7上运行的应用程序,MongoDB作为数据库。该应用程序能够连接到本地MongoDB并按预期执行数据操作。当我尝试连接到OpenShift上托管的远程MongoDB时,无法建立数据库连接。

在创建OpenShift应用程序并添加MongoDB盒式磁带之后,我将ssh-ed到OpenShift应用程序服务器并输入命令env | grep OPENSHIFT_MONGODB_DB以检索MongoDB主机信息,如下所示:

OPENSHIFT_MONGODB_DB_USERNAME=...
OPENSHIFT_MONGODB_DB_PASSWORD=...
OPENSHIFT_MONGODB_DB_HOST=...
OPENSHIFT_MONGODB_DB_GEAR_DNS=...
OPENSHIFT_MONGODB_DB_PORT=...
OPENSHIFT_MONGODB_DB_URL=...
OPENSHIFT_MONGODB_DB_GEAR_UUID=...

由于我使用的是DataNucleus JDO,以下是我如何在JBoss应用程序中设置Persistence Manager Factory(PMF)的属性,希望通过以上信息连接到OpenShift MongoDB:

properties.setProperty("javax.jdo.option.ConnectionURL","mongodb://[OPENSHIFT_MONGODB_DB_HOST]:[OPENSHIFT_MONGODB_DB_PORT]/[Database Name]");
properties.setProperty("javax.jdo.option.ConnectionUserName",[OPENSHIFT_MONGODB_DB_USERNAME]);
properties.setProperty("javax.jdo.option.ConnectionPassword",[OPENSHIFT_MONGODB_DB_PASSWORD]);

非常感谢这里的帮助。谢谢:))

1 个答案:

答案 0 :(得分:0)

documentation的简单检查表明

mongodb://[OPENSHIFT_MONGODB_DB_HOST]:[OPENSHIFT_MONGODB_DB_PORT]/[Database Name]

语法无效。接受的语法中没有双斜杠(除非您的主机名真的以双斜杠开头,我怀疑)