【发布时间】:2015-07-19 15:55:08
【问题描述】:
我在OpenShift 中创建了一个MongoDB 实例。我可以通过RockMongo 连接到它,这是OpenShift 提供的服务。
我正在尝试使用JAVA 连接到我的实例,但我只收到Connection refuesed 错误。此外,我无法使用RoboMongo 连接它。
在我的RockMongo 状态选项卡中,我看到以下信息:
Host: 127.11.201.2
Port: 27017
将RoboMongo 与MongoLab 实例一起使用可以很好地为其提供正确的凭据,但在这里与OpenShift 一起使用它会无法连接到实例。
在我的 JAVA 应用程序中,我正在尝试以下操作:
MongoCredential credential = MongoCredential.createCredential(
Const.MONGO_USERNAME, Cont.MONGO_DB,
Const.MONGO_PASSWORD.toCharArray());
mongo = new MongoClient(new ServerAddress(Const.MONGO_URI), Arrays.asList(credential));
127.11.201.2 为 MONGO_URI。
为什么我无法连接到我的实例?我做错了什么?
PS 使用putty 我可以通过执行命令mongo 连接到我的mongo 实例。
【问题讨论】:
-
是否有某种错误信息? This answer 建议将
MongoCredential包装在List<MongoCredential>中,然后将列表传递给MongoClient(...)构造函数。 -
这是一种非常奇怪的行为,因为我无法使用
RoboMongo等其他工具进行连接。在调查了一段时间后,我认为这不是程序问题。但是话说回来,我真的不知道为什么我的连接被拒绝了。 -
是的,但是我需要弄清楚一些端口异常。我会在这周晚些时候试一试,并随时通知你。谢谢。
标签: java mongodb openshift robo3t