アプリケーションが MongoDB サーバーからエラーを受け取ると、次のような問題が発生します。
MongoDB で検索を行ったが、タイムアウトのために MongoDB サーバーからの応答がエラーになったとします。
{ $err: "MongoTimeout が原因で...bla bla bla..." コード: 50 }
JacksonDBDecoder は、クラス「スタッフ」(「価格」や「重量」などのいくつかのフィールドを含む) などの Java タイプを期待していますが、前の JSON を受信すると、「価格」と「重量」に一致するフィールドはありません。 "なので、結果は空です: { }
空の JSON は mongo-java-driver クラス (正確には com.mongodb.QueryResultIterator.throwOnQueryFailure) によって処理され、元の情報「MongoTimeout due to...bla bla bla...」と 50 は記録されません。デコーダーは MongoDB サーバーからの JSON を理解できませんでした。
この種の MongoDB サーバーからの応答を処理するように mongojack または Jackson を構成する方法を教えてください。
どうもありがとう。
よろしく、パコ。