mongoインスタンスに接続するためにMongo DB javaドライバを使用しています。以下は、MongoClientインスタンスを作成するために使用しているコードです。MongoClientインスタンスの作成時に例外をキャッチする方法
ホスト名またはポート番号が正しくない場合は、以下の例外が発生します。私はその例外をどのように捕まえることができるのかを迷っています。 MongoDBの接続は、クライアントコードではキャッチできない内部スレッドで起こっています。私はMongoClientが正しく接続されているかどうかを知りたい。どうすればその情報を入手できますか?
INFO: Exception in monitor thread while connecting to server localhost:0
com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.connection.SocketStream.open(SocketStream.java:63)
at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115)
at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:116)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Can't assign requested address (connect failed)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:50)
at com.mongodb.connection.SocketStream.open(SocketStream.java:58)
... 3 more
EDIT1
私のコードでキャッチされていない上に示した例外。それはMongoのコードで捕捉されるかもしれません。したがって、インスタンスが正しく作成されているかどうかはわかりません。
を私が試してみましたが、私はまだ例外をキャッチしません。あなたが私の投稿に印刷した例外スタックを見れば、スレッドで例外が発生したことを示すjava.lang.Thread.run(Thread.java:745)の行を見ることができます。 –