B JMSアプリケーション・モジュールのデプロイメントの構成(非推奨)
Oracle WebLogic ServerでJMSアプリケーション・モジュールのデプロイメントを構成する方法を学習します。これには、Java EEエンタープライズ・アプリケーションと一緒にパッケージ化されたJMSアプリケーション・モジュールや、グローバルに使用可能なスタンドアロン・アプリケーション・モジュールが含まれます。
ノート:
WebLogic JMSアプリケーション・モジュールのデプロイメントは、パッケージ化されたモジュールとスタンドアロン・モジュールも含めて非推奨になりました。JMSアプリケーション・モジュールのサポートは、今後のリリースではなくなります。必須のJMS構成は、システム・モジュールを使用して作成することをお薦めします。
この章の内容は次のとおりです。
JMSアプリケーション・モジュールの構成方法
JMSシステム・モジュールに構成できるすべてのJMSリソースは、標準Java EEモジュールと同様にデプロイ可能なアプリケーション・モジュールとして構成および管理できます。
ノート:
アプリケーションがデプロイされた後で、アプリケーションのスコープ内で構成されたJMSリソースを変更することはできません。また、アプリケーション・モジュールで作成された宛先を直接削除するオプションはありません。アプリケーションをアンデプロイしても、宛先は削除されません。これらの理由から、かわりにJMSシステム・モジュールを使用して接続ファクトリと宛先を構成することをお薦めします。 「JMSシステム・モジュールの構成」を参照してくださいデプロイされたJMSアプリケーション・モジュールの所有者は、モジュールをデプロイした管理者ではなく、モジュールを作成およびパッケージ化した開発者となります。したがって、デプロイしたリソースに対しては、管理者の制御が及ぶ範囲がより制限されます。
たとえば、管理者はデプロイメント時にデプロイメント・プラン(JSR-88)を使用して、モジュール内に指定されたリソースの特定のプロパティのみを修正(オーバーライド)することはできますが、リソースを動的に追加したり削除することはできません。他のJava EEモジュールのように、アプリケーション・モジュールの構成の変更はモジュールのデプロイメント・プランに格納され、元のモジュール自体は変更されません。
アプリケーション開発者は、こうしたツールを使用してシステム・リソースを作成およびデプロイ(ターゲット指定)できます。:
-
「JMSシステム・モジュールの構成」の説明に従ってJMSシステム・モジュールを作成し、生成されるXMLファイルを別のディレクトリにコピーして、ファイル接尾辞として
-jms.xml
を付加した名前に変更します。 -
エンタープライズ・レベルのIDEまたはXMLファイルの編集に対応した開発ツールでアプリケーション・モジュールを作成し、そのJMSモジュールをアプリケーションの一部としてパッケージ化して、デプロイのためにWebLogic管理者に渡します。
-
ソース・コード・アノテーションに基づいて、Java EE接続ファクトリとアプリケーション・モジュールを暗黙的に作成する宛先定義を使用してください。「Java EEリソース定義を使用したJMSリソースの定義」を参照してください。
JMSスキーマ
weblogic-jms.xsd
というスキーマが用意されています。JMSモジュール(記述子)を作成する際は、モジュールをこのスキーマに準拠させる必要があります。IDEや他のツールでは、このスキーマに基づいてJMSモジュールを検証できます。weblogic-jms.xsd
スキーマは、http://xmlns.oracle.com/weblogic/weblogic-jms/1.7/weblogic-jms.xsd
からオンラインで入手できます。
スキーマ内のJMSリソース定義については、Oracle WebLogic Server MBeanリファレンスのSystem Module MBeansフォルダ内の対応するシステム・モジュールBeanの説明を参照してください。JMSモジュールのルートBeanはJMSBeanで、JMSモジュール全体を表します。
JMSアプリケーション・モジュールのエンタープライズ・アプリケーションへのパッケージ化
JMSアプリケーション・モジュールは、パッケージ化されたモジュールのように、エンタープライズ・アプリケーション・アーカイブ(EAR)の一部としてパッケージ化できます。パッケージ化されたモジュールは、EARまたは展開されたEARディレクトリにバンドルされ、weblogic-application.xml
記述子内で参照されます。
パッケージ化されたJMSモジュールは、エンタープライズ・アプリケーションと一緒にデプロイされます。このモジュールに定義されたリソースは、同梱されたアプリケーションでのみ利用可能(すなわちアプリケーション・スコープのリソース)にすることもできます。このようなモジュールは、JMSリソースを使用するEJB(特にMDB)またはWebアプリケーションとともにパッケージ化すると、非常に役立ちます。パッケージ化モジュールを使用することにより、アプリケーションで必要なリソースを常に使用でき、アプリケーションを新しい環境に移動する処理が簡素化されます。
パッケージ化JMSアプリケーション・モジュールを作成する
パッケージ化JMSモジュールは、エンタープライズ・レベルのIDEまたはXML記述子ファイルの編集をサポートする他の開発ツールを使用して作成します。スタンドアロンのモジュールをデプロイおよび管理するには、weblogic.Deployer
ユーティリティ、WebLogic Server管理コンソールなど、JSR 88ベースのツールを使用します。
ノート:
WebLogic Server管理コンソールを使用してパッケージ化されたJMSモジュールを作成したら、作成されたXMLファイルを別のディレクトリにコピーし、ファイル接尾辞として-jms.xml
を付加してファイル名を変更します。
パッケージ化JMSアプリケーション・モジュールの要件
EARファイル内では、JMSモジュールが以下の条件を満たしている必要があります。
-
http://xmlns.oracle.com/weblogic/weblogic-jms/1.7/weblogic-jms.xsd
スキーマに準拠している -
ファイル接尾辞として
-jms.xml
を使用します(例:MyJMSDescriptor
-jms.xml
) -
WebLogicドメイン内で一意の名前が付けられており、Java EEアプリケーションのルートからの相対パスが指定されている
パッケージ化JMSアプリケーション・モジュールの主な作成ステップ
パッケージ化JMSモジュールを構成するには:
-
必要に応じて、JMSモジュールをターゲット指定するJMSサーバーを作成します。Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJMSサーバーの構成を参照してください。
-
JMSシステム・モジュールを作成し、必要なリソース(キュー、トピックなど)を構成します。Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJMSシステム・モジュールの構成およびJMSリソースの追加を参照してください。
-
システム・モジュールは、ドメイン・ディレクトリの
config\jms
サブディレクトリに、接尾辞-jms.xml
が付加された形で保存されます。 -
システム・モジュールを新しい場所にコピーしてから以下を行います。
-
モジュールの名前を、ドメイン・ネームスペース内で一意の名前に変更します。
-
JNDI-Name
属性を削除して、そのアプリケーションでのみ使用できるアプリケーション・スコープのモジュールにします。
-
-
該当するすべてのJava EEアプリケーション・コンポーネントのディスクリプタ・ファイルに、モジュール内のJMSリソースへの参照を追加します。Oracle WebLogic Server JMSアプリケーションの開発のデプロイメント・ディスクリプタ・ファイルにおけるパッケージ化JMSアプリケーション・モジュールの参照を参照してください。
-
EAR内のすべてのアプリケーション・モジュールをパッケージ化します。「エンタープライズ・アプリケーションをJMSアプリケーション・モジュールと共にパッケージ化する」を参照してください
-
EARをデプロイします。「パッケージ化JMSアプリケーション・モジュールをデプロイする」を参照してください
EJBアプリケーション内のパッケージ化JMSアプリケーション・モジュールのサンプル
次のコード・スニペットは、パッケージ化JMSモジュールappscopedejbs-jms.xml
の例です。このモジュールは、図B-1のように記述子ファイルで参照されています。
<weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms"> <connection-factory name="ACF"> </connection-factory> <queue name="AppscopeQueue"> </queue> </weblogic-jms>
図B-1に、パッケージ化JMSモジュールのJMS接続ファクトリ・リソースとキュー・リソースが、EJB EARファイルで参照されている様子を示します。
weblogic-application.xmlでパッケージ化JMSアプリケーション・モジュールを参照する
エンタープライズ・アプリケーションにJMSモジュールを含める際は、アプリケーションと一緒にパッケージ化されたweblogic-application.xml
記述子ファイルで、JMSタイプのモジュール要素として各JMSモジュールを列挙し、アプリケーションのルートからの相対パスを指定する必要があります。例:
<module> <name>AppScopedEJBs</name> <type>JMS</type> <path>jms/appscopedejbs-jms.xml</path> </module>
ejb-jar.xmlでパッケージ化JMSアプリケーション・モジュールを参照する
アプリケーション内のEJBで、アプリケーションと一緒にパッケージ化されたJMSモジュールを介して接続ファクトリを使用している場合は、JMSモジュールをres-ref
要素として列挙し、EJBと一緒にパッケージ化されたejb-jar.xml
記述子ファイルにres-ref-name
パラメータとres-type
パラメータを含める必要があります。これにより、アプリケーションのローカル・コンテキストで、EJBがJMS接続ファクトリをルックアップできるようになります。例:
<resource-ref> <res-ref-name>jms/QueueFactory</res-ref-name> <res-type>javax.jms.QueueConnectionFactory</res-type> </resource-ref>
res-ref-name
要素により、java:comp/env
で使用するリソース名が、EJBから参照されるモジュールにマップされます。res-type
要素には、モジュール・タイプ(この例ではjavax.jms.QueueConnectionFactory
)を指定します。
アプリケーション内のEJBで、アプリケーションと一緒にパッケージ化されたJMSモジュールを介してキューまたはトピックを使用している場合は、JMSモジュールをresource-env-ref
要素として列挙し、EJBと一緒にパッケージ化されたejb-jar.xml
記述子ファイルにresource-env-ref-name
パラメータとresource-env-ref-type
パラメータを含める必要があります。これにより、アプリケーションのローカル・コンテキストで、EJBがJMSキューまたはトピックをルックアップできるようになります。例:
<resource-env-ref> <resource-env-ref-name>jms/Queue</resource-env-ref-name> <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type> </resource-env-ref>
resource-env-ref-name
要素により、EJBによって参照されるモジュールに宛先名がマップされます。res-type
要素には、キューの名前(この例ではjavax.jms.Queue
)を指定します。
weblogic-ejb-jar.xmlでパッケージ化JMSアプリケーション・モジュールを参照する
参照されるJMSモジュールをres-ref-name
要素として列挙し、EJBと一緒にパッケージ化されているweblogic-ejb-jar.xml
記述子ファイルのresource-link
パラメータに含める必要があります。
<resource-description> <res-ref-name>jms/QueueFactory</res-ref-name> <resource-link>AppScopedEJBs#ACF</resource-link> </resource-description>
res-ref-name
要素により、EJBによって参照されるモジュールに接続ファクトリ名がマップされます。resource-link
要素では、JMSモジュール名の後ろにシャープ記号(#)の区切り文字を付加し、その後ろにモジュール内のリソースの名前を指定します。この例では、接続ファクトリACFを含むJMSモジュールAppScopedEJBsが、AppScopedEJBs#ACFという名前で指定されています。
上の例の続きでは、res-ref-name
要素によって、EJBが参照するモジュールにキュー名もマップされます。そのresource-link
要素では、次のようにキューAppScopedQueueの名前がAppScopedEJBs#AppScopedQueueになります。
<resource-env-description> <resource-env-ref-name>jms/Queue</resource-env-ref-name> <resource-link>AppScopedEJBs#AppScopedQueue</resource-link> </resource-env-description>
エンタープライズ・アプリケーションをJMSアプリケーション・モジュールと共にパッケージ化する
JDBCモジュールを含むアプリケーションは、他のエンタープライズ・アプリケーションと同じようにパッケージ化します。Oracle WebLogic Serverアプリケーションの開発のwlpackageを使用したアプリケーションのパッケージ化を参照してください。
パッケージ化JMSアプリケーション・モジュールをデプロイする
パッケージ化JMSモジュールのデプロイメントは、アプリケーションの他のコンポーネントと同じモデルに従って行われます。個別のモジュールは、単一のサーバー、クラスタ、またはクラスタの個別のメンバーにデプロイできます。
他のアプリケーション・コンポーネントの推奨ベスト・プラクティスは、Oracle WebLogic Server JMSアプリケーションの開発のデプロイメント・ディスクリプタ・ファイルにおけるパッケージ化JMSアプリケーション・モジュールの参照で説明されているように、java:comp/env
JNDI環境を使用してJMSエンティティへの参照を取得することです。(ただし、このプラクティスは必須ではありません。)
パッケージ化JMSモジュールは、定義によってエンタープライズ・アプリケーションに含まれているため、エンタープライズ・アプリケーションをデプロイすると一緒にデプロイされます。パッケージ化JMSモジュールを含むアプリケーションのデプロイメントの詳細は、Oracle WebLogic Serverアプリケーションの開発のwldeployを使用したアプリケーションのデプロイメントを参照してください。
スタンドアロンJMSアプリケーション・モジュールのデプロイ
weblogic.Deployer
ユーティリティまたはWebLogic Server管理コンソールを使用して、スタンドアロンのJMSアプリケーション・モジュールをデプロイおよび管理できます。この項では、スタンドアロンJMSアプリケーション・モジュールを作成、デプロイおよび管理する方法について説明します。
スタンドアロンJMSモジュールについて
JMSアプリケーション・モジュールは、スタンドアロン・モジュールとしてデプロイできます。この場合、アプリケーション・モジュールはデプロイメント・プロセス中にターゲット指定されたサーバーまたはクラスタで使用できます。この方法でデプロイされるJMSモジュールは、weblogic.Deployer
ユーティリティまたはWebLogic Server管理コンソールで再構成できますが、JMXまたはWLSTでは使用できません。
しかし、WebLogic Serverプラグインに付属の基本的なJSR-88デプロイメント・ツールでは、APIのWebLogic Server拡張を使用せずにスタンドアロンJMSモジュールを使用でき、Java EEアプリケーションやモジュールをWebLogic Serverに構成、デプロイ、および再デプロイできます。WebLogic Serverのデプロイメントについては、Oracle WebLogic ServerへのアプリケーションのデプロイのWebLogic Serverデプロイメントの理解を参照してください。
この方法でデプロイしたJMSモジュールを「スタンドアロン・モジュール」といいます。スタンドアロンJMSモジュール内のリソースは、モジュールがどのようにターゲット指定されているかに応じて、クラスタ内でグローバルに使用できるか、サーバー・インスタンスでローカルに使用できるかが決まります。スタンドアロンJMSモジュールを使用すると、JMSリソースの共有と移植が容易になります。作成したJMSモジュールは他の開発者に配布できます。スタンドアロンJMSモジュールも、ドメイン間でJMS情報を移動するために使用できます。たとえば、JMSを広範囲にわたって手動で再構成することなく、開発ドメインと本番ドメインの間でJMS情報を移動できます。
スタンドアロンJMSアプリケーション・モジュールを作成する
スタンドアロンJMSモジュールは、エンタープライズ・レベルのIDEまたはXML記述子ファイルの編集をサポートする他の開発ツールを使用して作成できます。スタンドアロンのモジュールをデプロイおよび管理するには、weblogic.Deployer
ユーティリティ、WebLogic Server管理コンソールなどのWebLogic Serverツールを使用します。
ノート:
WebLogic Server管理コンソールを使用してJMSアプリケーション・モジュールを作成したら、アプリケーションで使用するテンプレートとしてモジュールをコピーし、ファイル接尾辞として-jms.xml
を付加します。また、ネームスペース内での名前の競合を避けるため、モジュールをアプリケーションと一緒にデプロイする前に、モジュールのName要素とJNDI-Name
要素を変更する必要があります。
スタンドアロンJMSアプリケーション・モジュールの要件
スタンドアロンJMSモジュールは、以下の条件を満たしている必要があります。
-
http://xmlns.oracle.com/weblogic/weblogic-jms/1.7/weblogic-jms.xsd
スキーマに準拠している -
ファイル接尾辞として
-jms.xml
を使用します(例:MyJMSDescriptor
-jms.xml
) -
WebLogicドメイン内で一意の名前を使用します(JMSシステム・モジュールと競合することはできません)
スタンドアロンJMSアプリケーション・モジュールの主な作成ステップ
スタンドアロンJMSモジュールを構成するには:
-
必要に応じて、JMSモジュールをターゲット指定するJMSサーバーを作成します。Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJMSサーバーの構成を参照してください。
-
JMSシステム・モジュールを作成し、必要なリソース(キュー、トピックなど)を構成します。Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJMSシステム・モジュールの構成およびJMSリソースの追加を参照してください。
-
システム・モジュールは、ドメイン・ディレクトリの
config\jms
サブディレクトリに、接尾辞-jms.xml
が付加された形で保存されます。 -
システム・モジュールを新しい場所にコピーしてから以下を行います。
-
モジュールの名前を、ドメイン・ネームスペース内で一意の名前に変更します。
-
モジュールをグローバルに使用できるようにするには、モジュール内のリソースのJNDI-Name属性を一意の名前に変更します。
-
宛先のしきい値や接続ファクトリのフロー・コントロールのパラメータなど、その他の調整可能な値を必要に応じて修正します。
-
-
モジュールをデプロイします。「スタンドアロンJMSアプリケーション・モジュールをデプロイする」を参照してください
単純なスタンドアロンJMSアプリケーション・モジュールのサンプル
次のコード・スニペットは、単純なスタンドアロンJMSモジュールの例です。
<weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms"> <connection-factory name="exampleStandAloneCF"> <jndi-name>exampleStandAloneCF</jndi-name> </connection-factory> <queue name="ExampleStandAloneQueue"> <jndi-name>exampleStandAloneQueue</jndi-name> </queue> </weblogic-jms>
スタンドアロンJMSアプリケーション・モジュールのデプロイ
weblogic.Deployer
ユーティリティを使用してスタンドアロンJMSモジュール(前述の例で使用)をデプロイするコマンド・ラインは、次のようになります。
java weblogic.Deployer -adminurl http://localhost:7001 -user weblogic -password weblogic \ -name ExampleStandAloneJMS \ -targets examplesServer \ -submoduletargets ExampleStandaloneQueue@examplesJMSServer,ExampleStandaloneCF@examplesServer \ -deploy ExampleStandAloneJMSModule-jms.xml
スタンドアロンJMSモジュールのデプロイについては、Oracle WebLogic ServerへのアプリケーションのデプロイのJDBC、JMS、およびWLDFアプリケーション・モジュールのデプロイを参照してください。
スタンドアロンJMSモジュールをデプロイすると、ドメインのconfig.xml
ファイルにapp-deployment
エントリが追加されます。例:
<app-deployment> <name>standalone-examples-jms</name> <target>MedRecServer</target> <module-type>jms</module-type> <source-path>C:\modules\standalone-examples-jms.xml</source-path> <sub-deployment> ... </sub-deployment> <sub-deployment> ... </sub-deployment> </app-deployment>
モジュールのsource-path
は、絶対パスでも、domain
ディレクトリからの相対パスでも構いません。この点は、domain
\config
ディレクトリからの相対パスで指定するシステム・リソース・モジュールのdescriptor-file-name
パスとは異なります。
スタンドアロンJMSアプリケーション・モジュールをチューニングする
スタンドアロン・モジュール内でデプロイされたJMSリソースは、リソースがバインド可能(JNDI名など)または調整可能(宛先のしきい値など)と見なされるかぎり、weblogic.Deployer
ユーティリティまたはWebLogic Server管理コンソールを使用して再構成できます。ただし、WebLogic JMX APIやWebLogic Scripting Tool (WLST)を介してスタンドアロン・リソースを使用することはできません。
しかし、WebLogic Serverプラグインに付属の基本的なJSR-88デプロイメント・ツールでは、APIのWebLogic Server拡張を使用せずにスタンドアロンJMSモジュールを使用でき、Java EEアプリケーションやモジュールをWebLogic Serverに構成、デプロイ、および再デプロイできます。WebLogic Serverのデプロイメントについては、Oracle WebLogic ServerへのアプリケーションのデプロイのWebLogic Serverデプロイメントの理解を参照してください。
また、どのWebLogic Serverユーティリティを使用しても、スタンドアロン・リソースを動的に追加または削除することはできません。再デプロイする必要があります。
JMSリソースの一意の実行時JNDI名の生成
接続ファクトリ、宛先などのJMSリソースの構成ではJNDI名を使用します。これらのリソースの実行時実装は、特定の名前を使用してJNDIにバインドされます。WebLogic Serverでは、これらのリソースに静的なJNDI名を使用するかわりに、JNDI名を動的に生成できます。
しかし、状況によっては、これらのリソースに静的なJNDI名を指定することが不可能(または不都合)な場合があります。たとえば、JMSリソースがアプリケーション・ライブラリ内のJMSモジュールに定義されている場合です。この場合、アプリケーション・ライブラリは複数のアプリケーションから参照できます。各アプリケーションはデプロイ時にライブラリ(およびそれに含まれているJMSモジュール)のコピーを受け取ります。この状況でJMSリソースに静的なJNDI名を使用すると、ライブラリを参照するすべてのアプリケーションが、同じ静的JNDI名で同じJNDIリソースのセットをバインドすることになります。
その結果、最初にデプロイしたアプリケーションではJMSリソースをJNDIに問題なくバインドできますが、それ以降のアプリケーション・デプロイメントではJNDI名がすでにバインドされていることを示す例外が発生します。
この問題を回避するため、WebLogic Serverには以下のJMSリソースのJNDI名を動的に生成する機能が用意されています。
-
接続ファクトリ
-
宛先(キューおよびトピック)
-
重み設定された分散宛先(非推奨)
-
重み設定された分散宛先メンバー
-
共通分散宛先
この機能では、前述のJMSリソースのJNDI名に${APPNAME
}という特別な文字シーケンスを含めることで、一意の名前を生成します。JMSリソース(JMSモジュール記述子またはweblogic-ejb-jar.xml
記述子)のJNDI名要素に${APPNAME
}を含めると、実行時に実際に使用されるJNDI名では、${APPNAME
}文字列がそのJMSリソースをホストするアプリケーションの有効なアプリケーションID (名前と、可能であればバージョン)で置き換えられます。
ノート:
${APPNAME
}機能を使用して独自の変数を定義したり、実行時にそれらの値をJNDI名に代入したりすることはできません。文字列${APPNAME}
はJMS実装によって特別に処理されるもので、JMSリソース以外で${<some name>}
形式の文字列を使用しても特に効力はありません。
ローカル・アプリケーションの一意の実行時JNDI名
ローカル・アプリケーション内のJMSモジュールの場合は、実行時の${APPNAME
}がそのアプリケーションの名前またはIDで置き換えられます。例:
<jndi-name>${APPNAME}/jms/MyConnectionFactory</jndi-name>
MyApp
アプリケーション内にデプロイされているとすると、実行時JNDI名は次のようになります。
MyApp/jms/MyConnectionFactory
アプリケーション・ライブラリの一意の実行時JNDI名
アプリケーション・ライブラリ内のJMSモジュールの場合は、実行時の${APPNAME}が、そのライブラリ(ライブラリの名前ではない)を参照するアプリケーションの名前/IDで置き換えられます。例:
<jndi-name>${APPNAME}/jms/MyConnectionFactory</jndi-name>
MyAppLib
というアプリケーション・ライブラリ内にデプロイされており、MyApp
というアプリケーションから参照されているとすると、実行時JNDI名は次のようになります。
MyApp/jms/MyConnectionFactory
スタンドアロンJMSモジュールの一意の実行時JNDI名
スタンドアロン・モジュールとしてデプロイされているJMSモジュールの場合は、実行時の${APPNAME}がそのスタンドアロン・モジュールの名前/IDで置き換えられます。例:
<jndi-name>${APPNAME}/jms/MyConnectionFactory</jndi-name>
MyJMSModule
というスタンドアロンJMSモジュール内にデプロイされているとすると、実行時JNDI名は次のようになります。
MyJMSModule/jms/MyConnectionFactory
${APPNAME}文字列の使用場所
${APPNAME}文字列は、JMSモジュールのJNDI名を参照する場所であればどこでも使用できます。以下に、使用できる場所の例を示します。
-
JMSモジュール記述子の
connection-factory
要素のjndi-name
またはlocal-jndi-name
要素 -
JMSモジュール記述子の
queue
またはtopic
要素のjndi-name
またはlocal-jndi-name
要素 -
JMSモジュール記述子の
distributed-queue
またはdistributed-topic
要素のjndi-name
要素 -
JMSモジュール記述子の
uniform-distributed-queue
またはuniform-distributed-topic
要素のjndi-name
要素 -
weblogic-ejb-jar.xml
記述子のmessage-destination-descriptor
要素のdestination-jndi-name
要素ノート:
${APPNAME}文字列は、WebLogic EJBでもサポートされています。
-
weblogic-ejb-jar.xml
記述子のweblogic-enterprise-bean
要素のjndi-name
サンプル・ユースケース
シングル・サーバー環境では、モジュール形式のデプロイメント・モデルをサポートするため、WebLogic Integrationワークリストでアプリケーション・スコープのJMSリソース(キュー、接続ファクトリなど)を使用します。Weblogic Integrationでアプリケーション・スコープのJMSを使用すると、ワークリストで必要なEJBやJMSリソースなどをアプリケーション・ライブラリに定義できます。ユーザーはlibrary-ref
を追加するだけで、アプリケーションにワークリストを含めることができます。ただし、この場合は、ワークリスト・ユーザーがそれらの宛先をアプリケーション・ライブラリからクラスタにスケーリングできなくなります。
クラスタリングされた環境においては、キューのJNDI名の${APPNAME
}文字列を実行時に置換して、キューのグローバルJNDI名を一意にすることができるようになりました。JMS ${APPNAME
}パラメータは、この方法により、アプリケーション・ライブラリに結合されているホスト・アプリケーションのアプリケーション名で実行時に置き換えられます。