デプロイメントのトラブルシューティング

次の表を使用してデプロイメントの問題、最も可能性の高い原因および解決策を識別します。

問題 考えられる原因と解決策
JDeveloperブラウザにマルチバイト・テキストが白いボックスとして表示される。

埋込みブラウザでマルチバイト・キャラクタを強制的に正常に処理させるには、jdev.confを編集してAddVMOption -Dice.pilots.html4.ignoreNonGenericFonts=trueパラメータを追加します。JDeveloperを再起動すると変更内容が初期化されます。

スタンドアロンOC4Jへのデプロイに失敗する。

スタンドアロンOC4Jインスタンスにデプロイする場合は、OC4Jに付属のadmin.jarを使用してください。デプロイ先のOC4Jのバージョンと一致しないadmin.jarを使用すると、デプロイが失敗する場合があります。JDeveloperのアプリケーション・サーバー接続ウィザードを使用して接続を設定する際、OC4Jスタンドアロン・インスタンスのadmin.jarを使用するようにデプロイメントを構成できます。

Struts Controllerを使用して大きいファイルをデータベースにアップロードするときに、「マルチデータ/フォーム・データ・リクエストの処理に失敗しました。読取りがタイムアウトしました。」などのメッセージが戻されてorg.apache.commons.fileupload.FileUploadExceptionがスローされる。 この例外は、ラージ・オブジェクトの移動中のソケット・タイムアウト・エラーを示します。JDeveloperでは、「ツール」 次に選択「埋込みOC4Jサーバーの設定」次に選択 「グローバル」次に選択 「HTTPキープ・アライブのタイムアウト」を選択して、「埋込みOC4Jサーバー」のプロパティでタイムアウト値を設定します。この属性の値を大きくすると、より大きいオブジェクトをタイムアウト前に転送できます。
アプリケーションを起動せずにStrutsアプリケーションをスタンドアロンOC4Jに再デプロイすると、エラーが戻される。 これは予期された動作です。StrutsアプリケーションをスタンドアロンOC4Jにデプロイするときに、以前のデプロイメントのアンデプロイが試行され、このクリーン・アップ操作により、ロードされていない項目のアンロードが試行されます。失敗はログに記録されますが、デプロイメントは成功します。
Webアプリケーションのデプロイメント・エラー。

Webアプリケーションの場合は、デプロイされたビジネス・コンポーネントに接続するためのサーバー接続がbc4j.xcfgファイルで適切に構成されていることを確認します。このファイルは、ビジネス・コンポーネント・プロジェクト内の特定アプリケーション・モジュールのデプロイメント構成をすべて定義し、データ・タグおよびData Web Beanに対して、アプリケーション・モジュールに属す特定のビュー・オブジェクトへのアクセスを許可します。

  • JSPからアクセスされるCMP BeanのデータがJDeveloperに表示されない。
  • あるスキーマにアクセスして作成され、別のスキーマにアクセスしてデプロイされるCMP Beanの場合、デプロイに失敗する。
あるスキーマを使用してCMP Beanを作成して別のスキーマにデプロイする場合は、正常にデプロイされるようにスキーマ名を削除してください。同様に、リリース9.0.4以前のOracle Application ServerにデプロイするCMP Beanが、以降のリリースのJDeveloperでJSPによりアクセスされる場合は、データが表示されるようにスキーマ名を削除してください。たとえば、このフィールドのエントリがSCOTT.DEPTであれば、値をDEPTに変更します。
OutOfMemoryError: PermGen space例外

大規模なアプリケーションをスタンドアロンOC4Jにデプロイした後、または、大規模なアプリケーションを埋込みOC4Jサーバーで実行した後に、ランタイム例外OutOfMemoryError: PermGen spaceがスローされる場合があります。JDeveloper 10.1.3.1では、MaxPermSizeはデフォルトで64MBです。埋込みOC4Jサーバーにデプロイされたアプリケーションの場合、JDeveloper 10.1.3.1での解決策は、このサイズを大きくすることです。

  1. 影響を受けるアプリケーションごとに、「プロジェクト・プロパティ」から「実行/デバッグ」 次に選択 「デフォルト」 次に選択 「編集」を選択します。
  2. 適切な仮想マシンを選択し、このフラグを空の「Javaオプション」フィールドに追加します。-XX:MaxPermSize=N(ここで、N > 64)。
JDeveloper 10.1.3.2では、埋込みOC4JサーバーおよびスタンドアロンOC4Jの場合start_oc4j.batおよびstart_oc4j.confの次のエントリによって、デフォルトのMaxPermSizeが256MBになっています。

Windows:  jdev¥bin¥start_oc4j.bat:   set VM_OPTS=-XX:MaxPermSize=256m

Windows以外: jdev/bin/start_oc4j.conf:   AddVMOption  -XX:MaxPermSize=256M

これらのファイルで特定のメモリーの量を調整することによって、アプリケーションに必要なメモリー量を大きくできます。