私は Jelastic に環境を持っていますが、彼らのサポートは役に立ちませんでした:P
Tomcat 7.0.55 を Java 8 と MongoDB 2.6.4 でセットアップしました。mongo の場合は、外部 IP もセットアップして、ローカルの Tomcat からアクセスできるようにします。
ここで何が起こるか、ローカルの Tomcat と Jelastic のリモート Mongo DB を実行できますが、展開すると、リモートの mongo からこのログを取得します
2015-01-07T22:57:29.637+0000 [conn22208] authenticate db: easylend {authenticate: 1, user: "cre8tech", nonce: "xxx", key: "xxx" }
2015-01-07T22:57:29.638+0000 [conn22208] Failed to authenticate cre8tech@easylend with mechanism MONGODB-CR: AuthenticationFailed keymismatch
資格情報が正しいことを1000%確信しているため、リモートmongoに対してローカルで使用できるため、ログに記録する方法を使用します+を使用してアクセスできます
mongo XXXX.whelastic.net/{myDbName} --username {ユーザー名} --password {パスワード}
@Bean
@Override
public Mongo mongo() throws Exception {
ServerAddress serverAdress = new ServerAddress(host, Integer.parseInt(port));
Mongo mongo = null;
if (usr != null && !usr.isEmpty()) {
MongoCredential credential = MongoCredential.createMongoCRCredential(usr, database, pwd.toCharArray());
mongo = new MongoClient(serverAdress, Arrays.asList(credential));
} else {
mongo = new MongoClient(serverAdress);
}
mongo.setWriteConcern(WriteConcern.SAFE);
return mongo;
}
tomcat へのログオンで、認証できないと表示される
com.mongodb.CommandFailureException: { "serverUsed" : "********" , "code" : 18 , "ok" : 0.0 , "errmsg" : "auth fails"}
私の理論では、リモートの Jelastic tomcat には、私が使用している mongo ドライバーに干渉する jar/libs が含まれている可能性があります。
助けてくれてありがとう