この付録には、Oracle Application Server 10g アプリケーションをOracle WebLogic Serverに再デプロイできるよう準備する際のリファレンス情報が含まれています。
次の項を参照して、それぞれのOC4Jデプロイメント・ディスクリプタの要素のアップグレードに関する詳細を確認してください。
OC4J固有のアプリケーションレベルのWebディスクリプタであるorion-web.xml
は、WARファイルの/WEB-INF
ディレクトリに格納されて配布されます。 このディスクリプタは、OC4J固有の設定を追加したり、web.xml
の設定を上書きするために使用します。
Oracle WebLogic Serverでは、同等のベンダー固有のデプロイメント・ディスクリプタはweblogic.xml
と呼ばれ、Webモジュールの/WEB-INF
ディレクトリ内にあります。
10g アプリケーションをOracle WebLogic Serverに再デプロイする場合は、Webモジュールで設定した特定のOC4J設定を、すべてweblogic.xml
ファイル内の同等の設定でWebLogic Server用に変換する必要があります。 詳細は、この付録に記載された、orion-web.xml
ファイルの各要素に関する情報を参照してください。
Webアプリケーションのスコープ内またはスコープ外にあるコード・ソース(JARファイル、ZIPファイルなど)をOC4J Webアプリケーションが参照できるようにします。 この場所にある有効なコード・ソースは、実行時にWebアプリケーションのクラスローダーに追加されます。
なし。
次の2つのオプションがあります。
『Oracle Fusion Middleware Developing Applications for Oracle WebLogic Server』の共有Java EEライブラリおよびオプション・パッケージの作成に関する項
サーブレット・コンテキスト・パラメータ用に、web.xml
内の対応する<context-param>
要素によって指定された値を上書きします。
なし。
Oracle WebLogic Serverには、直接対応するものがありません。 ただし、任意のサーブレットまたはフィルタから、次のようにしてコンテキスト・パラメータを上書きすることは可能です。
getServletContext().getInitParameter("ContextParam")
Webサイトjava.sun.comにある「Java 2 Platform, Enterprise Edition, v 1.3 API Specification」のServletConfig Javaサーブレット・インタフェース
MIMEマッピングを含むファイルへのパスを定義します。
なし。
Oracle WebLogic Serverには、直接対応するものがありません。 ただし、web.xml
の対応する<mime-mapping>
要素によって、<mimeMappings>
要素に指定された値を上書きすることは可能です。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweb.xmlデプロイメント・ディスクリプタの要素に関する項
静的コンテンツのための仮想ディレクトリ・マッピングを追加します。これは、UNIXシステムのシンボリック・リンクと概念的に類似した方法で機能します。
仮想ディレクトリを使用すると、WebアプリケーションのWARファイルに物理的に存在していなくても、ドキュメントの実際のルート・ディレクトリの内容をアプリケーションから利用できるようになります。 たとえば、複数のWARファイルからエンタープライズ全体のエラー・ページにリンクするような場合に役立ちます。
<virtual-directory-mapping>
同等な<virtual-directory-mapping>
エントリをweblogic.xml
に作成します。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
アプリケーション用のオプションのアクセス・マスクを指定します。 ホスト名またはホスト・ドメインを使用してクライアントをフィルタするか、またはIPアドレスおよびサブネットを使用してクライアントをフィルタするか、あるいはその両方を使用できます。
なし。
使用可能な場合は、ネットワーク・ファイアウォールまたはアプリケーション・ロードバランサのいずれかに、同じフィルタを作成します。 その他に、Oracle WebLogic Serverネットワーク接続フィルタを使用して、Oracle WebLogic Serverドメインにフィルタを設定することも検討してください。
ただし、Oracle WebLogic Serverネットワーク接続フィルタはドメイン全体のみに対して機能し、アプリケーションごとには設定できないことに十分注意してください。
『Oracle Fusion Middleware Programming Security for Oracle WebLogic Server』のネットワーク接続フィルタの使用に関する項
現在のサーブレットのレスポンスに特定のMIMEタイプが設定されているときにコールするサーブレットを指定します。
指定したサーブレットは、現在のサーブレットの後にコールされます。これは、特定の種類の出力をフィルタまたは変換するために使用します。
なし。
同じ機能を実現する標準フィルタを作成します。 OC4Jサーブレット・チェーンは旧式の専用メカニズムで、バージョン2.3のサーブレット仕様で導入された標準のサーブレット・フィルタリングとほぼ同じ機能を持ちます。
Webサイトjava.sun.com
の「The Essentials of Filters」
リクエスト・トラッカとして使用するサーブレットを指定します。このサーブレットは、ブラウザからサーバーに送信されるリクエストごとに、対応するレスポンスがコミットされるのと同じタイミングで(レスポンスが実際に送信される直前に)起動されます。
リクエスト・トラッカは、情報のロギングに役立ちます。
なし。
リクエスト・トラッカ・サーブレットの機能を持つ標準のサーブレット・リクエスト・リスナーを作成します。
OC4Jサーブレット・リクエスト・トラッカは旧式の専用メカニズムで、バージョン2.4のサーブレット仕様で導入された標準のリクエスト・リスナーとほぼ同じ機能を持ちます。
Webサイトjava.sun.com
の「Servlet Life Cycle」
このアプリケーションのセッション・トラッキング設定を指定します。
セッション・トラッキングはCookieによって実現されるので、ブラウザでCookieを有効にしていることを前提とします。
<session-descriptor>
weblogic.xml
で<session-descriptor>
要素を使用します。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
<session-tracking>
のこのサブ要素は、セッション・トラッカとして使用するサーブレットを指定します。
セッション・トラッカは、セッションが作成されるとすぐに起動されます。具体的にはHTTPセッション・リスナー(javax.servlet.http.HttpSessionListener
インスタンスを実装するクラスのインスタンス)のsessionCreated()
メソッドの起動と同時に起動されます。
セッション・トラッカは、情報のロギングなどに役立ちます。
なし。
セッション・トラッカ・サーブレットの機能を持つ標準のHttpSessionListenerを作成します。
Webサイトjava.sun.com
の「Servlet Life Cycle」
データソース、JMSキュー、メール・セッションなどの外部リソースのためのJNDIロケーションを宣言します。 これは、リソースを宣言する、web.xml
ファイル内の対応する<resource-ref>
要素とともに使用します。
<resource-description>
weblogic.xml
で<resource-description>
要素を使用します。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
この要素は、そのlocation属性によって、親の<resource-ref-mapping>
要素でマップされたリソースのルックアップでデフォルトのコンテキストのかわりに使用されるオプションのJNDIコンテキストを指定します。
これは、サード・パーティのモジュール(サード・パーティのJMSサーバーなど)に接続する場合に役立ちます。
なし。
Oracle WebLogic Serverでは、JNDI名のルックアップにデフォルトのモジュール・コンテキストを使用します。 ただし、サード・パーティのJNDIモジュールがJMSサーバーで、関連するコネクション・ファクトリと宛先を使用することがその目的の場合は、WebLogic JMSを使用して、ローカルWebLogic Server JNDIツリー内のサード・パーティのJMSプロバイダを参照できます。
『Oracle Fusion Middleware Configuring and Managing JMS for Oracle WebLogic Server』の、サード・パーティのJMSプロバイダにアクセスするための外部サーバー・リソースの構成に関する項
環境リソースのためのJNDIロケーションを宣言します。 これは、リソースを宣言する、web.xml
ファイル内の対応する<resource-env-ref>
要素とともに使用します。
<resource-env-description>
weblogic.xml
で<resource-env-description>
要素を使用します。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
環境エントリ用に、web.xmlの対応する<env-entry>
要素によって指定された値を上書きします。
なし。
Oracle WebLogic Serverには、直接対応するものがありません。 ただし、web.xml
の対応する<env-entry>
要素に指定された値を上書きすることは可能です。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweb.xmlデプロイメント・ディスクリプタの要素に関する項
EJBのためのJNDIロケーションを宣言します。 これは、EJBを宣言する、web.xml
ファイルの対応する<ejb-ref>
または<ejb-local-ref>
要素とともに使用します。
<ejb-reference-description>
weblogic.xml
で<ejb-reference-description>
要素を使用します。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
この要素は、Webサービスを宣言する、web.xml
ファイルの<service-ref>
要素とともに使用します。
<service-ref-description>
weblogic.xml
で<service-ref-description>
要素を使用します。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
所定の一連のリソースの有効期限、つまりブラウザでそのリソースが期限切れになるまでの時間を指定します。(ブラウザは、期限切れになったリソースが次に要求された際、そのリソースを再ロードします。)
これは、ドキュメントと同じ頻度では画像を再ロードしないなどのキャッシング・ポリシーに役立ちます。
なし。
これは、特定のリクエストをキャッシュするようブラウザに要求してサーバーへのリクエストを減少させるという点で、OC4Jサーブレット・コンテナのパフォーマンス機能といえます。
Oracle WebLogic Serverには、同等の機能がありません。
なし。
OracleAS JAAS Providerおよびシングル・サインオン(SSO)のプロパティをサーブレット実行用に構成します。特定のセキュリティ対応の権限下でサーブレットを起動するには、これらの機能を適切に設定する必要があります。
なし。
Oracle WebLogic Serverでは、セキュリティ・サブジェクトの伝播は同じドメイン内で自動的にサポートされます。
ただし、複数のドメイン間でIDを伝播する場合は、クロスドメイン・セキュリティまたはグローバル信頼が有効になっている必要があります。
『Oracle Fusion Middleware Understanding Security for Oracle WebLogic Server』
Oracle WebLogic Server管理コンソールのオンライン・ヘルプの、ドメイン間のクロスドメイン・セキュリティの有効化に関する項
この要素は、指定するユーザーおよびグループまたは全ユーザーにセキュリティ・ロールをマップします。 これでマップされるのは、web.xml
ファイルの<security-role>
要素によって指定されている名前と同じ名前のセキュリティ・ロールです。 impliesAll属性または適切なサブ要素の組合せ(<group>
または<user>
、あるいはその両方)のいずれかを使用します。
<security-role-assignment>
weblogic.xml
で<security-role-assignment>
要素を使用します。 セキュリティ・ロール名は宛先のOracle WebLogic Serverドメインで作成する必要があります。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
この項では、orion-web.xmlデプロイメント・ディスクリプタのOC4J <web-app-class-loader>
要素によってサポートされる属性について説明します。
この属性をtrueに設定すると、システム・クラスの前にWARファイルのクラスが検索され、ロードされます。 デフォルトでは、最初にシステム・クラスが検索され、ロードされます。
なし。
アプリケーションのweblogic-application.xml
に<prefer-application-package>
要素を追加することで、フィルタリング・クラスローダーを構成します。この要素には、アプリケーションから明示的にロードするパッケージをリストし、アプリケーション共有ライブラリを使用する方法か、アプリケーションのAPP-INF/lib
またはWEB-INF/lib
ディレクトリにJARファイルをバンドルする方法のいずれかによって、必要なバージョンのJARファイルをアプリケーションで確実に使用できるようになります。
OC4Jの場合とは異なり、WebLogic Serverのフィルタ済クラスがアプリケーションのクラスローダーで解決できない場合でも、Oracle WebLogic Serverによってそのクラスが親のクラスローダーからロードされることはありません。 そのため、weblogic-application.xml
の<prefer-application-packages>
要素内にリストされたパッケージ名が正しいことを必ず確認してください。
『Oracle Fusion Middleware Developing Applications for Oracle WebLogic Server』のフィルタリング・クラスローダーの使用に関する項
『Oracle Fusion Middleware Developing Applications for Oracle WebLogic Server』の共有Java EEライブラリおよびオプション・パッケージの作成に関する項
この属性をfalseに設定すると、WARファイルからクラスを検索してロードするときに、(search-local-classes-first
の設定とは関係なく)WARファイルのマニフェストのClass-Path
属性に指定されたクラスパスが無視されます。 falseに設定しない場合は、WARファイルのマニフェストのクラスパスが含まれます。
なし。
WebLogic Serverは、WARファイルのマニフェストで指定されたクラスパスを読み取りません。 ただし、アプリケーションのWEB-INF/lib
ディレクトリの一部としてクラスをバンドルすることは可能です。
『Oracle Fusion Middleware Developing Applications for Oracle WebLogic Server』の共有Java EEライブラリおよびオプション・パッケージの作成に関する項
ユーザーがアプリケーションにログインすると同時に、そのユーザーにセッションを割り当てるかどうかを指定します。
なし。
WebLogic Serverでは、ユーザーがアプリケーションにログインすると同時に、そのユーザーにセッションが自動的に割り当てられます。 OC4Jとは異なり、この動作はデプロイメント・ディスクリプタの要素で無効にすることはできません。
なし。
サーブレット・レスポンス用の出力バッファのデフォルトのサイズをバイト単位で指定します。
なし。
Oracle WebLogic Serverには、この構成要素に直接対応するものはありません。 ただし、任意のサーブレットからレスポンス・オブジェクトを使用して、setBufferSize()
をコールすることは可能です。 バッファ・サイズ・ディレクティブの<%@ page buffer%>
をJSPページに含めることもできます。
なし。
OC4J 10g リリース(10.1.3.1.0)では、この属性はJSPページおよびサーブレット・コンテナに対してデフォルトで使用するISOキャラクタ・セットを指定します。
一般に、JSP 2.0を使用する場合は、かわりに(JSP 2.0仕様に準拠し、web.xml
の<jsp-config>
要素の下にある)標準の<page-encoding>
機能を使用して、URLパターンに基づくキャラクタ・セットを指定することをお薦めします。
ただし、(特に複数のアプリケーションにわたって)多数のJSPページがある場合は、EARファイルで多くの変更を加える必要をなくすためにdefault-charset
が役立つ場合があります。
また、default-charset
を使用してベース・デフォルトを設定してから、<page-encoding>
機能を使用して特定のURLパターンのデフォルトを上書きすることもできます。
jsp-descriptor/encoding
weblogic.xml
でjsp-descriptor/encoding
構成を使用します。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
setContentType()
メソッドがサーブレット実装からコールされない状況での、サーブレット・レスポンスのデフォルトのコンテンツ・タイプを指定します。
default-mime-type
を指定しない場合、デフォルトのコンテンツ・タイプはありません。
container-descriptor /default-mime-type
weblogic.xml
でcontainer-descriptor/default-mime-type
構成を使用します。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
このOC4J固有のフラグは開発時に使用します。このフラグは、特定のディレクトリについて、サーブレット・ソース・ファイルが更新されているかどうかを確認するようOC4Jサーバーに指示します。
なし。
Oracle WebLogic Serverで、javaソースの自動コンパイルは行われません。 ただし、次の処理は可能です。
JSPファイルについて動的なクラスロードを有効にするには、weblogic.xml
でjsp-descriptor/page-check-seconds
を構成します。
サーブレットについて動的なクラスロードを有効にするには、weblogic.xml
でcontainer-descriptor/servlet-reload-check-secs
を構成します。
開発モードでは、この両方のフラグがデフォルト値の1秒に設定されます。 本番環境では、これらのフラグは無効であり、明示的に設定する必要があります。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
この属性は、URLが「/」で終わるときにディレクトリの参照を許可するかどうかを指定します。
container-descriptor /index-directory-enabled
weblogic.xml
でcontainer-descriptor/index-directory-enabled
構成を使用します。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
このOC4J固有のフラグは、パフォーマンス・チューニング用のフラグで、simple-jsp-mappingattribute
属性のtrue設定とともに使用します。
なし。
Oracle WebLogic Serverには、同等なものがありません。
なし。
HTMLファイルなどの静的ファイルをいつチェックして、タイムスタンプが変更されているかどうかと、そのためにファイル・システムから再ロードする必要があるかどうかを確認するかを指定します。
container-descriptor /index-directory-enabled
weblogic.xml
でcontainer-descriptor/resource-reload-check-sec
要素を使用します。
関連する次のweblogic.xml
設定も検討してください。
JSPに同様の設定を使用するには、jsp-descriptor/page-check-seconds
を使用します。
サーブレットに同様の設定を指定するには、container-descriptor/servlet-reload-check-secs
を使用します。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
JSPトランスレータからの出力ファイルのベース・ディレクトリとして使用される、JSPのキャッシュ・ディレクトリを指定します。
jsp-descriptor/workingDir
weblogic.xml
で<jsp-descriptor>
要素のworkingDir
属性を使用します。
ただし、OC4Jのjsp-cache-directory
構成とは異なり、このディレクトリはTLDには関係しません。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
永続TLDキャッシングがJSPページに対して有効かどうかを示します。
なし。
Oracle WebLogic ServerはTLDキャッシングをサポートしており、TLDキャッシングはデフォルトで有効になっているため、この構成はアップグレードの必要がありません。
OC4Jとは異なり、TLDキャッシングはデプロイメント・ディスクリプタの要素で無効にすることはできません。
なし。
このフラグを「false」に設定すると、JSPページからのNULL出力に対して、デフォルトの「NULL」文字列ではなく空の文字列が出力されます。
jsp-descriptor/print-nulls
weblogic.xml
で<jsp-descriptor>
要素のprint-nulls
属性を使用します。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
JSPページで(jsp-cache-tlds
属性によって)永続TLDキャッシングが有効になっている場合に、この属性を使用すると、既知の場所として使用する1つ以上のディレクトリをセミコロンで区切ったリストで指定できます。
なし。
Oracle WebLogic ServerはTLDキャッシングをサポートしており、TLDキャッシングはデフォルトで有効になっているため、この構成はアップグレードの必要がありません。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
指定した時間が経過した後も要求がなければ、JSPページはメモリーから削除されます。
なし。
この機能は、メモリーの効率的な使用が重要視されるアプリケーションに影響します。 コールされる頻度が低いJSPページがある場合は、これによってリソースが解放されます。
この機能はアップグレードの必要がありません。
なし。
サーバーの再起動後またはアプリケーションの再デプロイ後も永続的に保持される、サーブレットのHttpSession
オブジェクトの格納場所を示します。
この機能を有効にするには、セッション・オブジェクトをシリアライズ可能にする(直接的または間接的にjava.io.Serializable
インタフェースを実装する)か、またはリモート対応にする(直接的または間接的にjava.rmi.Remote
インタフェースを実装する)必要があります。
session-descriptor
要素のpersistent-store-type
属性
container-descriptor
要素のsave-sesssions-enables
属性
weblogic.xml
で、session-descriptor
要素のpersistent-store-type
属性をmemoryに設定し、container-descriptor
要素のsave-sessions-enabled
属性をtrueに設定します。
これによって、アプリケーションの再デプロイメント後やサーバーの再起動後も、セッションがディスクに確実にシリアライズされます。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
orion-web.xml
XSDのメジャー・バージョン番号です。
なし。
Oracle WebLogic Serverでは必要ありません。
なし。
orion-web.xml
XSDのマイナー・バージョン番号です。
なし。
なし。
なし。
OC4Jのシステム・プロパティのhttp.webdir.enable
がtrueに設定されている場合は、この属性を使用して、スタンドアロンOC4Jでのクラス名によるサーブレットの起動を有効にします。
このシステム・プロパティを設定すると、スラッシュ(/)で始まるすべてのservlet-webdir
設定によって、この機能が有効になるとともに、OC4Jにクラス名でサーブレットを起動させるために、コンテキスト・パスの後に挿入される特別なURL部分が指定されます。 URL内のこのパス以降に記述されている部分は、すべてクラス名とみなされます(パッケージも含みます)。
この機能は、通常、開発時とテスト時にOC4Jスタンドアロン環境で使用します。これにはセキュリティ上の重大なリスクが伴うので、本番環境では使用しないでください。
なし。
サーブレット仕様の標準サーブレットおよびサーブレット・マッピング宣言を構成して、weblogic.servlet.ServletServlet
を構成します。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のサーブレットの作成と構成に関する項
*.jspがoracle.jsp.runtimev2.JspServlet
フロントエンドJSPサーブレットのみにマップされている場合は、trueに設定します。
これは、アプリケーションに影響を与える任意のWebディスクリプタ(global-web-application.xml
、web.xml
およびorion-web.xml
)の<servlet>
要素で指定されます。
この属性を有効にすると、JSPページのパフォーマンスが向上します。
なし。
これはOC4J JSPコンテナのパフォーマンス・チューニング・フラグなので、WebLogic Serverでは不要です。
なし。
development属性がtrueに設定されている場合は、source-directory
設定で指定する場所で、自動コンパイルの対象となるサーブレット・ソース・ファイルが検索されます。
デフォルトの場所を使用する場合、OC4Jは、デプロイメント後にアプリケーションの/WEB-INF
ディレクトリの場所を追跡し続けます。 修正されたソース・ファイルは、パッケージ名に基づいて、source-directory
ディレクトリの任意の場所で検出されることに注意してください。
jsp-descriptor
要素のpage-check-seconds
属性
container-descriptor
要素のservlet-reload-check-secs
属性
WebLogic Serverで、javaソースの自動コンパイルは行われません。
JSPファイルについて動的なクラスロードを有効にするには、jsp-descriptor
要素のpage-check-seconds
属性を構成します。
サーブレットについて動的なクラスロードを有効にするには、container-descriptor
要素のservlet-reload-check-secs
属性を構成します。
開発モードでは、この両方のフラグがデフォルト値の1秒に設定されます。 本番環境では、これらのフラグは無効であり、明示的に設定する必要があります。
『Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server』のweblogic.xmlデプロイメント・ディスクリプタの要素に関する項
これは、サーブレットおよびJSPページがスクラッチ・ファイル用に使用する一時ディレクトリのパスです。 このパスは、絶対パスまたはデプロイメント・ディレクトリからの相対パスのいずれかで指定できます。
なし。
サーブレット仕様のjavax.servlet.context.tempdir
属性を構成します。
サーブレットや他のクラスが情報の格納に使用できる一時作業ディレクトリを使用すると、アプリケーションが正しく動作しない場合があります。
Webサイトjava.sun.comにある「Java 2 Platform, Enterprise Edition, v 1.3 API Specification」のServletContext Javaサーブレット・インタフェース
OC4J固有のアプリケーションレベルのEJBディスクリプタであるorion-ejb.xml
は、WARファイルの/WEB-INF
ディレクトリに格納されて配布されます。 このディスクリプタは、OC4J固有の設定を追加したり、ejb-jar.xml
の設定を上書きするために使用します。
Oracle WebLogic Serverでは、同等のベンダー固有のデプロイメント・ディスクリプタはweblogic-ejb-jar.xml
と呼ばれ、Webモジュールの/WEB-INF
ディレクトリ内にあります。
10g アプリケーションをOracle WebLogic Serverに再デプロイする場合は、EJBモジュールで設定した特定のOC4J設定を、すべてweblogic-ejb-jar.xml
ファイル内の同等の設定でWebLogic Server用に変換する必要があります。 詳細は、この付録に記載された、orion-ejb.xml
ファイルの主要な要素および要素属性に関する情報を参照してください。
このJARファイル内でデプロイされたセッションBeanの追加のカスタマイズ済デプロイメント情報を提供します。 この要素が存在するということは、セッションBeanのカスタマイズされたデプロイメント設定がアプリケーションに含まれていることを示します。
Oracle WebLogic ServerでのセッションBeanのカスタマイズは、stateless-session-descriptor
要素およびstateful-session-descriptor
要素を使用して行います。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のstateless-session-descriptorに関する項およびstateful-session-descriptorに関する項
<session-deployment>
要素のこの属性は、EJBコールにおけるすべての受信および送信パラメータをコピー(クローン作成)するかどうかを示します。 アプリケーションを高速化するために、copy-by-value
セマンティクスを前提としないことが確実な場合は、この値をfalse
に設定します。 デフォルト値はtrueです。
enable-call-by-reference
enable-call-by-reference
要素を使用して、copy-by-valueセマンティクスをweblogic-ejb-jar.xml
で指定します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のenable-call-by-referenceに関する項
<session-deployment>
要素のこの属性は、各Beanのアイドル・タイムアウトを設定するために使用します。 このタイムアウト時間が経過すると、非アクティブ化が行われます。 この属性には、適切な秒数を設定します。 デフォルトは300秒(5分)です。 無効にするには、任意の負の数を指定します。
stateful-session-cache/idle-timeout-seconds
stateful-session-descriptor
のstateful-session-cache/idle-timeout-seconds
要素を使用して、weblogic-ejb-jar.xml
でアイドル・タイムアウトを設定します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のstateful-session-cacheに関する項
<session-deployment>
要素のこの属性は、インスタンス化またはプールされた状態で維持されるBean実装インスタンスの最小数です。 デフォルトは0(ゼロ)です。 この設定が有効なのは、ステートレス・セッションBeanのみです。
この要素が存在するということは、Beanのカスタマイズされたプーリング設定がアプリケーションに含まれていることを示します。
initial-beans-in-free-pool
initial-beans-in-free-pool
要素を使用して、Beanプールの最小サイズをweblogic-ejb-jar.xml
で設定します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のステートレス・セッションEJBのプーリングに関する項
<session-deployment>
要素のこの属性が存在するということは、Beanのカスタマイズされたプーリング設定がアプリケーションに含まれていることを示します。
max-beans-in-free-pool
max-beans-in-free-pool
要素を使用して、Beanプールの最大サイズをweblogic-ejb-jar.xml
で設定します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のステートレス・セッションEJBのプーリングに関する項
<session-deployment>
要素のこの属性は、非アクティブ化が行われるまでにメモリー内に存在できるBean数のmax-instances
数に対する割合を設定するために使用します。
max-beans-in-cache
stateful-session-descriptor
のstateful-session-cache/max-beans-in-cache
要素を使用して、weblogic-ejb-jar.xml
でアイドル・タイムアウトを設定します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のstateful-session-cacheに関する項
<session-deployment>
要素のこの属性は、システムレベルの障害によってロールバックされたトランザクションの再試行回数を指定します。 デフォルトは0(ゼロ)です。
ステートフル・セッションBeanでは、RuntimeException、ErrorまたはRemoteExceptionがスローされてもOC4Jは再試行しません。
retry-methods-on-a-rollback/retry-count
weblogic-ejb-jar.xml
のEJBモジュール内のすべてのBeanに対して再試行を有効にするには、retry-methods-on-rollback/retry-count
要素を使用します。
ただし、OC4JとOracle WebLogic Serverとでは動作が異なることに注意してください。 OC4JではEJBごとに再試行を指定し、WebLogic ServerではEJBモジュールごとに再試行を構成します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のretry-methods-on-rollbackに関する項
<session-deployment>
要素のこの属性は、すべてのリソースをこの時間間隔でチェックするために使用します。 この時点でいずれかのしきい値に達している場合は、非アクティブ化が行われます。 デフォルトは180秒(3分)です。
無効にするには、任意の負の数を指定します。
なし。
Oracle WebLogic Serverではサポートされていません。
該当なし
<session-deployment>
要素のこの属性は、いずれかのリソースしきい値に達した場合に非アクティブ化するBeanの数を定義するために使用します。
Beanの非アクティブ化は、最低使用頻度アルゴリズムを使用して実行されます。 デフォルトは、max-instances属性の1/3です。 この属性を無効にするには、カウントを0(ゼロ)または負の数に設定します。
なし。
Oracle WebLogic Serverではサポートされていません。
該当なし
<session-deployment>
要素のこの属性は、再起動のたびにセッションが保存されるファイルへのパスを定義するために使用します。
なし。
これは、Oracle WebLogic Serverでサポートされていません。ただし、Oracle WebLogic Serverのカスタム永続ストアを使用できる場合があります。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』の非アクティブ化Beanに対する永続ストア・ディレクトリの指定に関する項
<session-deployment>
要素のこの属性は、プールにキャッシュされたステートレス・セッションを維持する期間を指定します。
ステートレス・セッションBeanの場合、pool-cache-timeout
を指定すると、pool-cache-timeout
の時間間隔で、プール内の対応するBeanタイプのBeanがすべて削除されます。 0(ゼロ)または負の値を指定すると、pool-cache-timeout
が無効になり、Beanはプールから削除されません。
idle-timeout-seconds
idle-timeout-seconds
要素を使用して、Beanプールのタイムアウト値をweblogic-ejb-jar.xml
で設定します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のステートレス・セッションEJBのプーリングに関する項
<session-deployment>
要素のこの属性は、ステートフル・セッションBeanがプールのクリーンアップの対象となるまでに非アクティブ状態を継続できる最大秒数を設定するために使用します。 値が0(ゼロ)または負の数の場合、すべてのタイムアウトが無効になります。
プール・クリーンアップ・ロジックは、30秒ごとに起動されます。 プール・クリーンアップ・ロジックの実行中に、タイムアウト値を渡すことによって削除されるのは、タイムアウトしたセッションのみです。
stateful-session-cache
stateful-session-descriptor
のstateful-session-cache/session-timeout-seconds
要素を使用して、weblogic-ejb-jar.xml
でセッション・タイムアウトを設定します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のstateful-session-cacheに関する項
<session-deployment>
要素のこの属性は、このステートレスまたはステートフルのセッションBeanによって開始されたトランザクションがコミットまたはロールバックされるのをOC4Jが待機する最大秒数を示します。 値が0(ゼロ)または負の数の場合、タイムアウトは無効になります。
transaction-descriptor
要素とそのtrans-timeout-seconds
子要素
transaction-descriptor
/trans-timeout-seconds
要素および子要素を使用して、EJBのトランザクション・タイムアウト値をweblogic-ejb-jar.xml
で設定します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のtransaction-descriptorに関する項
この要素は、あらゆるEJB参照をJNDI名にマップします。
クライアントのロールで動作している1つのエンタープライズBean(ソース・エンタープライズBeanと呼ぶ)が別のエンタープライズBean(ターゲット・エンタープライズBeanと呼ぶ)にアクセスするには、その前にソース・エンタープライズBeanのデプロイメント・ディスクリプタでターゲット・エンタープライズBeanへのEJB参照を定義する必要があります。
ejb-reference-description
weblogic-ejb-jar.xml
のejb-reference-description
要素を使用して、EJB参照のJNDIロケーション・マッピングを設定します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のejb-reference-descriptionに関する項
この要素は、あらゆるEJB参照をJNDI名にマップします。
JDBCデータソース、JMSトピックまたはキュー、JavaMail、HTTP URLなどのサービスへの接続を提供するリソース・マネージャ・コネクション・ファクトリへの環境参照を定義できます。 これらの参照は、OC4Jが提供する実際のリソース・マネージャ・コネクション・ファクトリに、OC4Jがデプロイメント時にバインドする論理名です。
resource-description
weblogic-ejb-jar.xml
のresource-description
要素を使用して、リソース参照のJNDIロケーション・マッピングを設定します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のresource-descriptionに関する項
<resource-env-ref-mapping>
要素は、リソースの管理オブジェクトをマップするために使用されます。
たとえば、JMSを使用するためには、BeanはJMSファクトリ・オブジェクトと宛先オブジェクトの両方を取得する必要があります。 これらのオブジェクトは、JNDIから同時に取得されます。 <resource-ref>
要素でJMSファクトリを宣言し、<resource-env-ref>
要素を使用して宛先を宣言します。 したがって、<resource-env-ref-mapping>
要素は宛先オブジェクトをマップします。
resource-env-description
weblogic-ejb-jar.xml
のresource-env-description
要素を使用して、リソース環境参照のJNDIロケーション・マッピングを設定します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のresource-env-descriptionに関する項
<message-destination-ref-mapping>
要素は、JMS 1.1を使用している場合にのみ使用します。
この要素を使用して、クライアント・デプロイメント・ディスクリプタのmessage-destination-ref-name
をOC4J環境で使用できる別の場所にマップします。 これにより、メッセージのコンシューマとプロデューサを1つ以上の共通の論理的な宛先にリンクする手段が提供されます。
message-destination-descriptor
weblogic-ejb-jar.xml
のmessage-destination-descriptor
要素を使用して、メッセージ宛先マッピングのJNDIロケーション・マッピングを設定します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のmessage-destination-descriptorに関する項
session-type
要素のこの値は、アプリケーションにステートフル・セッションBeanが含まれていることを示します。
stateful-session-cache/cache-type
ステートフル・セッションBeanを非アクティブ化するデフォルトの方法は、OC4JとWebLogic Serverで異なります。
WebLogic Serverの場合、デフォルトでは、NRU(Not Recently Used)の非アクティブ化モデルが使用され、リソースの限度に達したときにのみ非アクティブ化が行われます。 OC4Jの場合は、Beanのアイドル・タイムアウトに達すると同時に非アクティブ化が行われるLRU(Least Recently Used)モデルに厳密に従います。
非アクティブ化を頻繁に行うセマンティクスが必要な場合は、weblogic-ejb-jar.xml
のstateful-session-descriptorでstateful-session-cache/cache-type
要素をLRUに設定し、OC4Jセマンティクスを維持します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のステートフル・セッションEJBの非アクティブ化に関する項
orion-ejb-jar.xml
のこのセクションでは、このJARファイル内でデプロイされたメッセージドリブンBeanの追加のデプロイメント情報を提供します。
この要素が存在するということは、メッセージドリブンBeanのカスタマイズされたデプロイメント設定がアプリケーションに含まれていることを示します。
message-driven-descriptor
weblogic-ejb-jar.xml
のmessage-driven-descriptor
要素を使用します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のmessage-driven-descriptorに関する項
<message-driven-deployment>
要素のこの属性は、使用するコネクション・ファクトリのJNDIロケーションを定義するために使用します。 JMSの宛先コネクション・ファクトリは、この属性で指定されます。 構文は、java:comp/resource
+ リソース・プロバイダ名 + TopicConnectionFactories
またはQueueConnectionFactories
+ ユーザー定義名です。 nnnConnectionFactories
は、定義するファクトリのタイプを指定します。
connection-factory-jndi-name
weblogic-ejb-jar.xml
でmessage-driven-descriptor
要素のconnection-factory-jndi-name
を使用します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のmessage-driven-descriptorに関する項
<message-driven-deployment>
要素のこの属性は、データベース・フェイルオーバーの発生後、リスナー・スレッドによって試行されるJMSセッションの再取得頻度を指定するために使用します。 これは、MDB内のコンテナ管理トランザクションに対してのみ適用されます。
なし。
dequeue-retry-count
はMDBに対して指定し、宛先が停止していることをOC4Jが検出したときに、宛先に対するリスナー・スレッドの再起動を試行する回数を構成します。
Oracle WebLogic Serverには、直接対応するものがありません。 この機能は、Oracle AQに対するフェイルオーバーのサポートを目的としており、Oracle WebLogic Serverでリソース・アダプタに固有な設定になります。
該当なし
<message-driven-deployment>
要素のこの属性は、再試行の間隔を指定するために使用します。
なし。
dequeue-retry-interval
はMDBに対して指定し、宛先が停止していることをOC4Jが検出したときに、宛先に対するリスナー・スレッドの再起動を試行する時間間隔を構成します。
Oracle WebLogic Serverには、直接対応するものがありません。 この機能は、Oracle AQに対するフェイルオーバーのサポートを目的としており、Oracle WebLogic Serverでリソース・アダプタに固有な設定になります。
該当なし
<message-driven-deployment>
要素のこの属性は、使用する宛先(キューまたはトピック)のJNDIロケーションを定義するために使用します。
JMS宛先は、destination-location
属性で指定されます。 構文は、java:comp/resource
+ リソース・プロバイダ名 + トピックまたはキュー + 宛先名です。 トピックまたはキューは、定義する宛先のタイプを指定します。 宛先名は、データベースで定義された実際のキュー名またはトピック名です。
destination-jndi-name
weblogic-ejb-jar.xml
でmessage-driven-descriptor
のdestination-jndi-name
要素を使用します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のmessage-driven-descriptorに関する項
<message-driven-deployment>
要素のこの属性は、複数のJMSメッセージを同時にコンシュームするために使用します。 デフォルトは1スレッドです。 トピックには、1スレッドのみを指定できます。 キューには複数のスレッドを設定できます。
max-beans-in-free-pool
Oracle WebLogic Serverでは、使用するリソース・アダプタに応じた様々な方法でスレッド管理を制御できます。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のMDBおよび同時処理に関する項
<message-driven-deployment>
要素のこの属性は、メッセージドリブンBeanのonMessage
メソッドがエラーを戻した場合(確認応答操作の起動に失敗した場合、例外をスローした場合、またはその両方の場合)にOC4Jがこのメソッドにメッセージの即時再配信を試行する最大回数を設定するために使用します。
この回数の再配信が行われると、メッセージは配信不能とみなされ、メッセージ・サービス・プロバイダのポリシーに従って処理されます。 たとえば、OEMS JMSはその例外キュー(jms/Oc4jJmsExceptionQueue
)にメッセージを挿入します。
なし。
max-delivery-count
はMDBに対して指定され、障害が発生したときに同じメッセージの配信を試行する最大回数を設定します。 Oracle WebLogic Serverでは、このオプションをMDBごとに設定することはサポートされていません。
『Oracle Fusion Middleware Programming JMS for Oracle WebLogic Server』
<message-driven-deployment>
要素のこの属性は、このMDBが使用するリソース・アダプタ・インスタンスの名前を定義するために使用します。 このMDBがJ2CAメッセージ・サービス・プロバイダを使用している場合にのみ適用されます。 リソース・アダプタにより受信されたメッセージでMDBをアクティブにするには、MDBとリソース・アダプタを接続する必要があります。
resource-adapter-jndi-name
weblogic-ejb-jar.xml
でmessage-destination-descriptor
要素のresource-adapter-jndi-name
を使用します。
『Oracle Fusion Middleware Programming Enterprise JavaBeans for Oracle WebLogic Server』のmessage-driven-descriptorに関する項
<message-driven-deployment>
要素のこの属性は、このメッセージドリブンBeanがサブスクライブするトピックの名前を定義するために使用します。
なし。
リソース・アダプタを使用し、そのリソース・アダプタがsubscription-name
プロパティをサポートしている場合は、ejb-jar.xml
のactivation-config-property
要素を使用してそのリソース・アダプタを指定する必要があります。 Oracle WebLogic Serverでは、このプロパティをweblogic-ejb-jar.xml
で設定することはできません。
該当なし
dequeue-retry-count
はMDBに対して指定し、宛先が停止していることをOC4Jが検出したときに、宛先に対するリスナー・スレッドの再起動を試行する回数を構成します。
Oracle WebLogic Serverには、直接対応するものがありません。 この機能は、Oracle AQに対するフェイルオーバーのサポートを目的としており、Oracle WebLogic Serverでリソース・アダプタに固有な設定になります。
該当なし
<config-property>
要素は、J2CAメッセージ・サービス・プロバイダを使用している場合にのみ使用します。 この要素を使用して、J2CAリソース・アダプタ構成プロパティを設定します。 J2CAメッセージ・サービス・プロバイダを使用するように構成されているMDBをOC4Jがデプロイする場合、OC4Jはリソース・アダプタにMDBのアクティブ化仕様を提供します。 この仕様には、<config-property>
要素で設定したプロパティが含まれます。
別の方法として、EJB 3.0のメッセージドリブンBeanでは、@MessageDrivenの属性configProperty
および@ActivationConfigアノテーションを使用して、J2CAリソース・アダプタ構成プロパティを設定できます。
orion-ejb-jar.xml
ファイルの<config-property>
構成を使用すると、@MessageDriven構成を上書きできます。
なし。
Oracle WebLogic Serverでは、アクティブ化の構成プロパティをweblogic-ejb-jar.xml
で上書きすることはサポートされていません。 これらの設定は、ejb-jar.xml
ファイルにある通常のアクティブ化構成プロパティとマージする必要があります。
該当なし