ページの先頭行へ戻る
 Apcoordinator定義ファイルリファレンス

5.2.11 ejbExt

EJB複数指定機能において、呼び出すEJBセションBeanのグループと名前を定義します。また、EJB再試行機能において、呼び出すEJBセションBeanの名前を定義します。

アトリビュート

ejbExtタグでは以下のアトリビュートを指定します。

アトリビュート名

省略

意味

省略時の動作

name

不可

EJB複数指定機能を使用する場合はグループの名前、EJB再試行機能のみを使用する場合はEJBセションBeanに与える名前です。EJBセションBeanを呼び出す際にこの名前を指定して呼び出します。

省略できません。

type

EJB複数指定機能の設定です。グループ内からEJBセションBeanを選択する方式を指定します。

  • "proxy"
    グループ内で利用可能なEJBセションBeanのうち、最も優先度が高いものを選んで使用します。 EJBコンテナのダウンによりEJBセションBeanが利用不能になった場合は、グループ内の別のEJBセションBeanを代わりに使用します。 EJBセションBeanの優先度はejbExtタグのコンテントに書いた順番で与えられ、最初に書いたEJBセションBeanが最優先となります。

  • "round"
    EJBセションBeanを使用するたびに、使用するEJBセションBeanを順番に切り替えます。 EJBコンテナのダウンによりEJBセションBeanが利用不能になった場合は、次のEJBセションBeanを代わりに使用します。

proxy

recovertime

EJB複数指定機能の設定です。EJBコンテナがダウンしたと判定された場合に、そのEJBセションBeanを選択対象から除外する期間を1以上の整数で分単位で指定します。

10

createOnInvoke

EJB複数指定機能の設定です。
Callインターフェースのinvokeメソッドを呼び出すたびに新しくEJBセションBeanオブジェクトを作成する場合はtrueを指定します。
falseを指定すると、Callオブジェクト1個に付き、1回だけEJBセションBeanオブジェクトが作成され、Callオブジェクトが破棄されるまで使用されます。

false

retryCount

EJB再試行機能の設定です。再試行最大回数を指定します。例えば2を指定すると、初回の呼び出しを含めて最大で合計3回呼び出されます。

2

retryInterval

EJB再試行機能の設定です。再試行するまでの時間をミリ秒単位で指定します。

100

convMap

EJB複数指定機能とEJB再試行機能に共通の設定です。EJBセションBeanを呼び出す際に参照するデータBean変換マップのファイル名です。

  • ファイル名が'/'で始まる場合、ルートを基点とした指定になります(*)。

  • ファイル名が'/'以外で始まる場合、設定ファイルフォルダを基点とした指定になります。

  • 長さ0の文字列("")を指定すると、データBean変換は行われません。

初期化パラメタuji.convMapで指定されたデータBean変換マップが使用されます。

(*)ルートとは、Webアプリケーションではアプリケーションのコンテキストルートのフォルダを、それ以外ではクラスのパッケージ階層のルートに対応したフォルダを指します。

コンテント

コンテントには以下を任意の順番で記述します。

  • applicationタグを記述します。EJB複数指定機能を使用する場合は1個以上、EJB再試行機能のみを使用する場合は、1個だけ記述します。

  • retriableExceptionタグを記述します。EJB再試行機能を使用する場合1個以上記述します。EJB複数指定機能のみ使用する場合は省略します。

使用例
  • EJB複数指定機能を使用する場合

    <ejbExt name="MySessionBeans" type="proxy" recovertime="10">
            <application name="java:comp/env/ejb/MySessionBean1" />
            <application name="java:comp/env/ejb/MySessionBean2" />
            <application name="java:comp/env/ejb/MySessionBean3" />
    </ejbExt>
  • EJB再試行機能を使用する場合

    <ejbExt name="MySessionBean" retryCount="3" retryInterval="150">
            <application name="java:comp/env/ejb/MySessionBean" />
            <retriableException class="some.pkg.BusyException" />
            <retriableException class="some.pkg.NotReadyException" />
    </ejbExt>
  • EJB複数指定機能とEJB再試行機能を併用する場合

    <ejbExt name="MySessionBeans" type="proxy" >
            <application name="java:comp/env/ejb/MySessionBean1" />
            <application name="java:comp/env/ejb/MySessionBean2" />
            <application name="java:comp/env/ejb/MySessionBean3" />
            <retriableException class="some.pkg.BusyException" />
            <retriableException class="some.pkg.NotReadyException" />
    </ejbExt>