Oracle Cloud Infrastructureドキュメント

トラブルシューティング

この項では、Java用Oracle Cloud Infrastructure 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

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

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

解決策:

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

ノート

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

代替ソリューションとして、Jacksonライブラリのバンドル済バージョンを含む、Java jar用のSDKの影付きバージョンを使用する方法もあります。

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

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

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

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

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