Oracle Cloud Infrastructureドキュメント

トラブルシューティング

このセクションでは、Oracle Cloud Infrastructure Java SDKのトラブルシューティング情報を示します。

ObjectStorageクライアントが、クライアントが閉じられても接続を閉じません。

ファイル記述子が多く開きすぎて、既存のファイル記述子を閉じるには時間がかかりすぎています。 例外は次のようになります:

Caused by: java.io.FileNotFoundException: classes/caspertest.pem (Too many open files)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)

この問題を解決するには、次のいずれかの回避策を使用してください。

  • クライアントを作成する前にこの呼び出しを行う: System.setProperty("http.keepAlive", "false");
  • Javaを実行する場合は、このコマンド・ライン引数を使用: -Dhttp.keepAlive=false

リクエストを行うときやレスポンスを処理するときの直列化エラー

Java SDKに対する呼び出しに対するレスポンスを処理する際にUnrecognizedPropertyException エラーが発生した場合、これは使用中のJacksonライブラリのバージョンが、アプリケーション・クラス・パスの別の依存関係から実行時に挿入された機能をサポートしていないことを示します。 これは、構成されたObjectMapperFAIL_ON_UNKNOWN_PROPERTIESデ・シリアライゼーション・プロパティがfalseに構成されていても発生します。

解決策:

アプリケーションのクラスパスで参照されるバージョンのJacksonライブラリを特定し、必要に応じてバージョン2.9.5にアップグレードします。 Java SDKが依存するJacksonライブラリの完全なリストについては、GitHubでホストされている「pom.xmlファイル」を参照してください。

ノート

アプリケーションでインスタンス化するときにクライアントをカスタマイズする場合は、RestClientFactory#getObjectMapper()メソッドを使用して、RestClientFactoryから事前設定されたObjectMapperを参照するようにしてください。

別の解決策は、Java SDK jarファイルの影付きバージョンを使用することです。Java SDK jarファイルには、バンドル版のJacksonライブラリが含まれています。

暗号化キー・サイズ・エラー

デフォルトでは、Java SDKはキーの長さが128ビット以下のキーしか処理できません。 AES256などの長いキーを使用すると、無効なキー例外および不正なキー・サイズ・エラーが発生します。

この問題を解決するには、次のいずれかの回避策を使用してください。

サービス・エラーのトラブルシューティング

サービス・エラーを引き起こす操作は、SDKによってcom.oracle.bmc.model.BmcException型の例外がスローされる原因となります。 OCIから返される一般的なサービス・エラーの詳細は、「APIエラー」を参照してください。