【发布时间】: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