【问题标题】:JBoss application failed to connect to OpenShift MongoDBJBoss 应用程序无法连接到 OpenShift MongoDB
【发布时间】:2014-01-15 04:58:30
【问题描述】:

我有一个在 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]);

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

【问题讨论】:

    标签: java mongodb jboss datanucleus openshift


    【解决方案1】:

    documentation 的简单检查表明

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

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

    【讨论】:

      猜你喜欢
      • 2013-06-16
      • 2020-04-25
      • 2014-04-24
      • 2012-08-27
      • 2023-04-10
      • 1970-01-01
      • 2014-04-04
      • 2022-01-18
      • 2020-03-22
      相关资源
      最近更新 更多