ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic ServerメッセージドリブンBeanのプログラミング
12c リリース1 (12.1.1)
B65955-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

11 MDBのデプロイメント要素とアノテーション

この章は、MDBの動作に影響を及ぼすデプロイメント要素と構成プロパティを示します。表11-1の各行は、デプロイメント要素(EJBデプロイメント記述子で使用)およびそれに関連する構成プロパティ(アノテーションで指定)を記載しています。すべての要素が関連プロパティを持つとは限りません。

MDBにおいてデプロイメント記述子の使用とアノテーションの使用の違いに関する詳細は、「EJB 3.1準拠MDBのプログラミング」を参照してください。


注意:

関連構成プロパティを持つ要素の場合、要素のかわりに該当するプロパティを使用することをお薦めします。


表11-1は、次のように構成されています。

表11-1 MDBのデプロイメント要素とアノテーション

要素 構成プロパティ 説明 有効な値 デフォルト値

acknowledge-mode

(ejb-jar.xml)

acknowledgeMode

メッセージが受信および処理されたことをJMSプロバイダに通知します。コンテナ管理トランザクションを使用する場合は、確認応答モードは無視されます。(確認応答はトランザクションのコンテキストで実行されます。)

  • AUTO_ACKNOWLEDGE: メッセージはただちに確認されます

  • DUPS_OK_ACKNOWLEDGE: 確認応答は遅延し、重複メッセージが受信される可能性があります

AUTO_ACKNOWLEDGE

connection-factory-jndi-name

(weblogic-ejb-jar.xml)

connectionFactoryJndiName

キューおよびトピックを作成するためにMDBがルックアップするJMS ConnectionFactoryのJNDI名。「connection-factory-jndi-nameの設定方法」を参照してください。

有効なJNDI名

weblogic.jms.MessageDrivenBeanConnectionFactory

connection-factory-resource-link

(weblogic-ejb-jar.xml)

connectionFactoryResourceLink

ejb-jar.xmlに定義されているJMSモジュール内のリソースをWebLogic Serverの実際のJMSモジュール参照にマップします。ほとんど使用されません。

JMSモジュール内の有効なリソース

なし

destination-jndi-name

(weblogic-ejb-jar.xml)

destinationJndiName

WebLogic Server JNDIツリーにデプロイされている実際のJMSキューまたはトピックにMDBを関連付けるために使用するJNDI名。「destination-jndi-nameの設定方法」を参照してください。

有効なJNDI名

なし

destination-resource-link

(weblogic-ejb-jar.xml)

destinationResourceLink

ejb-jar.xmlに定義されているJMSモジュール内のリソースをWebLogic Serverの実際のJMSモジュール参照にマップします。ほとんど使用されません。

JMSモジュール内の有効なリソース

なし

dispatch-policy

(weblogic-ejb-jar.xml)

なし

このオプション要素を使用すると、Beanに特定のWorkManagerを指定できるようになります。『Oracle WebLogic Serverパフォーマンスおよびチューニング』のメッセージドリブンBeanのチューニングに関する項を参照してください。

有効な実行キューの名前

なし

distributed-destination-connection

(weblogic-ejb-jar.xml)

distributedDestinationConnection

同一クラスタ内のWebLogic JMS分散宛先(トピックまたはキュー)にアクセスするMDBが、すべての分散宛先メンバーから消費するか、または現在のWebLogic Serverインスタンスに対してローカルの分散宛先メンバーのみから消費するかを指定します。すべてのユース・ケースに適用することはできません。「JMS分散宛先」および第10章「JMSトピックを使用したMDBの構成とデプロイ」を参照してください。

  • LocalOnly

  • EveryMember

LocalOnly

durable-subscription-deletion

(weblogic-ejb-jar.xml)

durableSubscriptionDeletion

MDBがアンデプロイまたは削除されるときに恒久トピック・サブスクリプションが自動的に削除されるようにするかどうかを指定します。

  • True

  • False

False

generate-unique-jms-client-id

(weblogic-ejb-jar.xml)

weblogic.javaee.JMSClientIDアノテーションのgenerateUniqueClientID属性を参照してください。

EJBコンテナが一意のclient-idをMDBのすべてのインスタンスに対して生成するかどうかを示します。この設定は、topicMessagesDistributionMode互換性(デフォルト)に設定されているときにのみ使用する必要があります。第10章「JMSトピックを使用したMDBの構成とデプロイ」を参照してください。

  • True

  • False

False

initial-beans-in-free-pool

(weblogic-ejb-jar.xml)

なし

フリー・プールの初期サイズを設定します。WebLogic Serverは起動時に、Beanクラスごとに指定された数のBeanインスタンスをフリー・プールに格納します。この方法でBeanインスタンスをフリー・プールに格納しておくと、要求が来てから新しいインスタンスを生成せずにBeanに対する初期リクエストが可能になるため、MDBの初期レスポンス時間が短縮されます。

0からmaxBeans

0

initial-context-factory

(weblogic-ejb-jar.xml)

initialContextFactory

接続ファクトリの作成にEJBコンテナが使用する初期コンテキスト・ファクトリ。「initial-context-factoryの設定方法」を参照してください。

初期コンテキスト・ファクトリの有効な名前

weblogic.jndi.WLInitialContextFactory

init-suspend-seconds

(weblogic-ejb-jar.xml)

initSuspendSeconds

EJBコンテナがJMSリソースの停止を検出したときにMDBのJMS接続を中断する初期秒数。「JMSリソース停止中のメッセージ配信の中断の構成」を参照してください。

任意の整数

5

jms-client-id

(weblogic-ejb-jar.xml)

jmsClientId

JMS宛先に接続時のMDBのクライアントID。オプションです。JMSトピックへの恒久サブスクリプションに使用されます。詳細は、付録B「トピック・サブスクリプション識別子」を参照してください。

なし

topicMessagesDistributionModeアクティブ化構成プロパティに依存し、generate-unique-client-idにも依存する可能性があります。付録B「トピック・サブスクリプション識別子」を参照してください。

jms-polling-interval-seconds

(weblogic-ejb-jar.xml)

jmsPollingIntervalSeconds

アクセスできなくなっているJMS宛先にEJBコンテナが再接続しようとする試みの秒間隔。「クラスタ化MDBの移行とリカバリ」を参照してください。

任意の整数

10

max-beans-in-free-pool

(weblogic-ejb-jar.xml)

なし

MDBフリー・プール内のBeanインスタンスの最大数。また、インスタンスの実際の数は、スレッド・プール・サイズおよびその他の要因によっても制限されます。『Oracle WebLogic Serverパフォーマンスおよびチューニング』のメッセージドリブンBeanのチューニングに関する項を参照してください。

0からmaxBeans

1000

max-messages-in-transaction

(weblogic-ejb-jar.xml)

maxMessagesInTransaction

MDBのトランザクションに入れることができるメッセージの最大数を指定します。

すべての正の整数

なし

max-suspend-seconds

(weblogic-ejb-jar.xml)

maxSuspendSeconds

EJBコンテナがJMSリソースの停止を検出したときにMDBのJMS接続を中断する最大秒数。「JMSリソース停止中のメッセージ配信の中断の構成」を参照してください。

任意の整数

60

message-destination-type

(ejb-jar.xml)

destinationType

JMS宛先のタイプ(宛先で実装されるJavaインタフェース)を指定します。

  • javax.jms.Queue

  • javax.jms.Topic

なし

message-selector

(ejb-jar.xml)

messageSelector

ヘッダー・フィールド参照およびプロパティ参照ごとに、関連のあるメッセージを指定するためにクライアントによって使用される文字列。ヘッダーとプロパティ値がセレクタに一致するメッセージのみが送信されます。

メッセージ・プロパティまたはメッセージ・ヘッダーを使用する条件式

NULL

messaging-type

(ejb-jar.xml)

なし

ほとんど使用されません。

javax.jms.MessageListener

なし

provider-url

(weblogic-ejb-jar.xml)

providerURL

InitialContextで使用されるURLプロバイダ。通常はhost:portです。「provider-urlの設定方法」を参照してください。

有効なURL

NULL

resource-adapter-jndi-name

(weblogic-ejb-jar.xml)

resourceAdapterJndiName

JCAドリブンMDBの場合、このMDBがメッセージを受信する元のリソース・アダプタを識別します。

なし

なし

security-role-assignment

(weblogic-ejb-jar.xml)

なし

ejb-jar.xmlファイルのアプリケーション・ロールをWebLogic Serverのセキュリティ・プリンシパルの名前にマップします。

なし

なし

start-mdbs-with-application

(weblogic-application.xml)

なし

MDBがいつメッセージの処理を開始するのかを制御します。trueに設定すると、WebLogic Serverが完全に起動していなくても、MDBはそのデプロイメントと同時にメッセージの処理を開始します。このため、MDBアプリケーションは起動の途中で初期化されていないサービスやアプリケーションにアクセスし、失敗することがあります。

falseに設定すると、WebLogic Serverがそのリスニング・ポートを開くまでメッセージの処理が延期されます。

  • True

  • False

False

subscription-durability

(ejb-jar.xml)

subscriptionDurability

JMSトピック・サブスクリプションがDurableまたはNonDurableかを指定します。詳細は、「サブスクリプション永続性の設定」を参照してください。

  • Durable

  • NonDurable

NonDurable

なし

topicMessagesDistributionMode

トピック・メッセージの配信モードを設定します。第10章「JMSトピックを使用したMDBの構成とデプロイ」を参照してください。

  • One-Copy-Per-Application

  • One-Copy-Per-Server

  • Compatibility

Compatibility

transaction-type

(ejb-jar.xml)

「trans-attribute」を参照してください。

エンタープライズBeanのトランザクション管理タイプを指定します。詳細は、「MDBのトランザクション管理戦略の構成」を参照してください。

  • Bean

  • Container

Container

trans-attribute

(ejb-jar.xml)

@TransactionAttributeTransactionAttributeTypeプロパティです。例:

import javax.ejb.TransactionAttribute
@TransactionAttribute(TransactionAttributeType.REQUIRED)

メソッドの呼出しをエンタープライズBeanのビジネス・メソッドに委託するときにコンテナがトランザクションの境界をどのように管理するのかを指定します。

注意: Beanがコンテナ管理トランザクションの境界設定を使用すると指定されている場合、REQUIREDまたはNOT_SUPPORTEDトランザクション属性をメッセージ・リスナー・メソッドに使用し、REQUIREDREQUIRES_NEW、またはNOT_SUPPORTEDトランザクション属性をタイムアウト・コールバック・メソッドに使用する必要があります。詳細は、「MDBのトランザクション管理戦略の構成」を参照してください。

  • Required

  • NotSupported

  • Supports

  • RequiresNew

  • Mandatory

  • Never

Required

trans-timeout-seconds

(weblogic-ejb-jar.xml)

@TransactionTimeoutSeconds

import weblogic.javaee.TransactionTimeoutSeconds

EJBのコンテナで初期化されたトランザクションの最長継続時間(秒単位)。この時間を過ぎると、トランザクションはロールバックされます。「MDBのトランザクション管理戦略の構成」を参照してください。

0からmax

トランザクション・タイムアウトが指定されていないか、または0に設定されている場合、ドメインに構成されたトランザクション・タイムアウトが使用されます。ドメインにタイムアウトが構成されていない場合、デフォルトは30です。

use81-style-polling

(weblogic-ejb-jar.xml)

use81StylePolling

WebLogic Serverバージョン8.1方式のポーリングの下位互換性を有効にします。

  • True

  • False

False