ワイヤーされていない EIS データ・バインディング・インポートを使用し、SMO によってエンドポイントの動的起動を有効にする方法について説明します。
概要
インポートで指定されたものと異なるエンドポイントを使用してサービスを起動できます。
EIS バインディングの場合、接続ファクトリーの JNDI 名を表す URI を使用して動的エンドポイントを指定することができます。
図 1. ワイヤーされていないインポートを使用した SMO による動的起動でのエンドポイント・オーバーライドの図
WebSphere® Integration Developer でタスクを実行して、動的エンドポイントが設定されたメディエーション・モジュールを作成します。
JCA エンドポイントの記述
JCA URI は以下の形式になります。

>>-scheme--:--jca-variant--:--jndiName-------------------------><
- scheme
- JCA URI のスキームは常に jca です。
- jca-variant
- jca-variant により、JCA 接続の追加情報を指定します。値は常に jndi になります。
- jca-connectionFactory
- この値により、メッセージの動的ターゲット・アドレスを生成する JCA 接続ファクトリーを指定します。
接続ファクトリーから返されるターゲット・アドレスを指定するためのパラメーターを追加することができます。
有効な JCA URI の例を次に示します。
jca:jndi:SAPConn
この URI を指定すると、EIS インポート・ハンドラーは、JNDI で SAPConn として定義されている接続ファクトリーを探します。
EIS バインディングはこの接続ファクトリーを使用して、動的エンドポイントのターゲット・アドレスを取得します。
ターゲット・アドレスが見つかった場合、メッセージはそのアドレスに送信されます。
ターゲット・アドレスが見つからなかった場合、メッセージは元のエンドポイントに送信されます。
JCA エンドポイントを使用した動的起動の作成
動的エンドポイントが設定されたメディエーション・モジュールを作成するには、以下のタスクを実行します。
- メディエーション・モジュールを作成し、エクスポート、メディエーション・フロー・コンポーネント、EIS JDBC インポートを格納します。
エクスポートはどのタイプでもかまいません。
- メディエーション・モジュールのインポートを静的 SvcProvider 1 に接続します。
- SvcProvider 2 を作成します。
- SvcProvider 1 と SvcProvider 2 のポート・タイプが同じであることを確認します。
- インポートがメッセージを SvcProvider 1 に送信するように構成されていることを確認します。
- コールアウト・ノードで動的エンドポイント起動のオーバーライドが有効になっていることを確認します。
- モジュールをサーバーにデプロイします。
動的起動の使用
ターゲット・インポートと、SvcProvider 2 に解決されるルーティング基準が含まれているメッセージでエクスポートを起動すると、動的起動が実行されます。
メディエーション・フロー・コンポーネントは、メッセージ・エレメント・セッター・プリミティブを使用してメッセージからエンドポイントとターゲット・インポートを抽出し、SMO に格納します。
コールアウトは、この SMO から取得した情報を使用して SvcProvider 2 を起動します。応答フローからエクスポートの呼び出し元に応答が返されます。
片方向の起動メッセージは、両方向の起動メッセージと同じように機能しますが、応答メッセージは返しません。
以下の 3 つの条件のいずれかに該当する場合は、実行時例外が発生します。
- ターゲットのアドレス/インポート/バインディング情報が見つからないか、正しくない場合。
- 指定のターゲット・インポートが存在しない場合。
- SvcProvider 2 が使用できない場合。
いずれかに該当する場合はインポートによって実行時例外がスローされ、応答フローに返されます。