ネットワーク接続に問題があります。
これが状況です。
Javaアプリケーション(JSPまたはコンソール)はMongoDBとRedisに接続する必要があります。
最初の環境では、
- Java->ローカルmongodb:OK
- Java->リモートmongodb:OK
- Java->リモートredis:OK
問題のある(より安全な)2番目の環境では、
- Java->ローカルmongodb:OK
- Java->リモートmongodb:例外
- Java->リモートredis:例外
面白いことに、mongo.exe(コンソール)は問題なくリモートのmongodbに接続します。(私はredisでテストしていません)
最新バージョンのJavaをアップグレードしました。テスト用にJSPバージョンをJavaコンソールに変換しました。そして、いくつかのコードを変更しました。何も機能しません。
m = new MongoDB( ADDRESS, PORT );
m.setReadPreference( ReadPreference.SECONDARY );
DB db = m.getDB("test");
db.authenticate( ID, PASS.toCharArray() ); //!< exception
MongoDB例外メッセージ
DBPortPool gotError
Warning: emptying DBPortPool to [ADDRESS...]:27017 b/c of error
java.io.IOException: couldn't connect to [/[ADDRESS...]:27017] bc:java.net.SocketException: Permission denied: connect
Redis例外メッセージ
JedisConnectionException: java.net.SocketException: Permission denied: connect
いくつかのセキュリティ問題が関係していると思います。2台目のPCは非常に厳格なセキュリティネットワークにあります。(私はVPN経由でそれらを使用します)