Integration コントロールを使用する

     前  次    目次     
ここから内容

WLI JMS コントロール

注意 : WLI JMS コントロールは、WebLogic Integration の使用許諾を受けた場合にのみ、BEA Workshop for WebLogic Platform で使用できます。

JMS (Java Message Service) は、メッセージング システムと通信するための Java API です。一般に、メッセージング システムは、メッセージ指向ミドルウェア (MOM) と呼ばれる製品としてパッケージ化されています。WebLogic Server には WebLogic JMS によるメッセージング機能が組み込まれていますが、サード パーティの MOM を使用することもできます。メッセージング システムは、レガシー システムと通信するために、または別の環境やホストで実行されているビジネス コンポーネント間で通信を行うために、エンタープライズ アプリケーションでよく使用されます。

WLI JMS コントロールを使用すると、BEA Workshop for WebLogic Platform ビジネス プロセスは JMS 実装を提供するメッセージング システムと簡単に対話できます。特定の WLI JMS コントロールは、メッセージング システムの特定の機能に関連付けられています。WLI JMS コントロールを定義したら、その他の WebLogic Workshop コントロールと同じようにビジネス プロセスで使用することができます。

WLI JMS コントロールは JMS コントロールの拡張版であり、RawData メッセージ タイプのサポート、動的プロパティのコンフィグレーション、および新しいトランザクションを開始するか呼び出し側のトランザクションに留まるかを制御する機能などの追加機能を提供します。JMS イベント ジェネレータを使って、WLI JMS コントロールによって生成されたメッセージをポーリングおよび処理できます。

コントロール インスタンスをビジネス プロセスに追加する方法については、「ビジネス プロセスでコントロールを使用する」を参照してください。

 


この節に含まれるトピック

概要 : メッセージング システムと JMS

メッセージング サービスの概要と Java Message Service の詳細を説明します。

WLI JMS コントロールでサポートされるメッセージングのシナリオ

WLI JMS コントロールを使用できるシナリオについて説明します。

WLI JMS コントロールでサポートされないメッセージングのシナリオ

WLI JMS コントロールを使用できないシナリオについて説明します。

新しい WLI JMS コントロールを作成する

WLI JMS コントロールを作成およびコンフィグレーションする方法について説明します。

既存の WLI JMS コントロールを使用する

Web サービスまたはビジネス プロセス内から既存の WLI JMS コントロールを使用する方法について説明します。

概要 : メッセージング システムと JMS

このトピックでは、JMS (Java Message Service)、したがって WLI JMS コントロールを使用してアクセス可能なメッセージング システムの特徴について説明します。

WLI JMS コントロールの詳細については、「WLI JMS コントロール」を参照してください。

WLI JMS コントロールでサポートされる具体的なメッセージングのシナリオについては、「WLI JMS コントロールでサポートされるメッセージングのシナリオ」を参照してください。

メッセージング システム

メッセージング システムを使用すると、ソフトウェア コンポーネント間で通信することができます。メッセージング システムのクライアントは、他の任意のクライアントとメッセージを送受信することができます。各クライアントは、メッセージの送受信機能を提供するメッセージング サーバに接続します。WebLogic Server のコンポーネントである WebLogic JMS は、メッセージング サーバの一例です。WebLogic Server では、サード パーティのメッセージング システムもサポートしています。

メッセージング システムを使用すると、非同期の分散通信を行うことができます。コンポーネントはメッセージを送り先に対して送信します。メッセージの受信側は送り先からメッセージを取得できます。送信側と受信側は直接通信しません。送信側にはメッセージの送信先となる送り先があることしかわからず、受信側にもメッセージの受信元となる送り先があることしかわかりません。送信側と受信側でメッセージ フォーマットの種類と送り先について一致しているかぎり、メッセージング システムが実際のメッセージ配信を管理します。

メッセージング システムを使用すると信頼性も実現されます。信頼性のレベルは送り先またはクライアントごとにコンフィグレーションするのが一般的ですが、メッセージング システムでは、メッセージが配信されることと、予定されている宛先に 1 回だけ配信されることが保証されます。

JMS は、ポイント ツー ポイントとパブリッシュ/サブスクライブという 2 種類のメッセージベースの通信をサポートしています。

ポイント ツー ポイント メッセージングに対する JMS キュー

ポイント ツー ポイント メッセージングには JMS キューを使用します。キューとは、JMS サーバでコンフィグレーションされている特定の名前付きリソースです。

WLI JMS コントロールなどの JMS クライアントは、キューとの間でメッセージを送受信します。ポイント ツー ポイント メッセージのコンシューマは 1 つだけです。複数のレシーバが同じキューのメッセージをリスンできますが、いずれかのレシーバが特定のメッセージをキューから取り出すと、メッセージは消費され、他のコンシューマが取り出すことはできなくなります。

メッセージが受信されるたびに、メッセージ コンシューマに受信確認が通知されます。

メッセージング システムは、あらかじめ指定されている試行回数に達するまで、個々のメッセージの再送信を続けます。

パブリッシュ/サブスクライブ メッセージングに対する JMS トピック

パブリッシュ/サブスクライブ メッセージングには JMS トピックを使用します。トピックとは、JMS サーバでコンフィグレーションされている特定の名前付きリソースです。

WLI JMS コントロールなどの JMS クライアントは、トピックにメッセージをパブリッシュしたり、サブスクライブしたりします。パブリッシュされたメッセージのサブスクライバは複数でもかまいません。トピックに対するすべてのサブスクライバは、サブスクリプションがアクティブになったら、そのトピックに対してパブリッシュされているすべてのメッセージを受け取ることができます。

接続ファクトリ

JMS クライアントは、メッセージング システムとの接続を取得してからでないと、キューまたはトピックとの間でメッセージを送受信できません。これには接続ファクトリを使用します。接続ファクトリは、メッセージ サーバ管理者がコンフィグレーションするリソースです。接続ファクトリの名前は、接続を取得しようとするクライアントがルックアップできるように、JNDI ディレクトリに保存されます。

WebLogic Workshop には、cgConnectionFactory というデフォルトの接続ファクトリがあらかじめコンフィグレーションされています。この接続ファクトリは、明示的にオーバーライドしないかぎり、すべての WLI JMS コントロールで使用されます。デフォルト以外の接続ファクトリを使用する場合は、そのファクトリは以下のように設定されている必要があります。

userTransactionsEnabled="true"

メッセージ コンポーネント

JMS メッセージのコンポーネントは、標準のヘッダ フィールドのセット、アプリケーション固有のプロパティのセット、およびメッセージ本体です。各 JMS メッセージには、デフォルトで含まれており、メッセージ コンシューマが使用可能な標準のヘッダ フィールドのセットが含まれています。フィールドのいくつかはメッセージ プロデューサが設定できます。メッセージのプロパティ フィールドには、送信側アプリケーションによって追加されるヘッダ フィールドが含まれます。プロパティは、標準の Java の名前と値のペアです。メッセージ本体には、プロデューサからコンシューマに配信されるコンテンツが含まれます。以下のアノテーションを使用して、これらのコンポーネントのコンテンツを操作できます。

JMSHeader アノテーション

JMSProperty アノテーション

関連トピック

WLI JMS コントロール

WLiJMS Control インタフェース

JMSHeader アノテーション

JMSProperty アノテーション

WLI JMS コントロールでサポートされるメッセージングのシナリオ

このトピックでは、WLI JMS コントロールでサポートされる具体的なメッセージングのシナリオについて説明します。

JMS (Java Message Service) の詳細については、「概要 : メッセージング システムと JMS」を参照してください。

WLI JMS コントロールの詳細については、「WLI JMS コントロール」を参照してください。

サポートされるメッセージングのシナリオ

JMS 仕様は、さまざまなメッセージング シナリオをサポートしています。シナリオの中には、Web サービスの性質のため、スタンドアロン アプリケーションでは可能でも BEA Workshop for WebLogic Platform 環境では可能ではないものがあります。

以下の節で取り上げるメッセージングのシナリオは、WLI JMS コントロールでサポートされます。WLI JMS コントロールでサポートされないメッセージングのシナリオについては、WLI JMS コントロールでサポートされないメッセージングのシナリオ」を参照してください。

メッセージをキューに送信する

ビジネス プロセスは、WLI JMS コントロールを使用して、メッセージを JMS キューに送信できます。ビジネス プロセスは応答を受け取りません。キューが存在し、JNDI レジストリに登録されていることが必要です。対象の JMS キューをコンフィグレーションする管理者は、配信保証ポリシーを決定します。

このシナリオ例を実装するには、以下の手順に従います。

  1. WLI JMS コントロールで、WLI JMS コントロールの @jc:jms プロパティの send-jndi-name 属性の値として対象の JMS キューの名前を指定します。また、send-type 属性に queue を指定します。WLI JMS コントロールの作成方法については、「新しい WLI JMS コントロールを作成する」を参照してください。
  2. Web サービスから、コントロールを作成したときに選択したメッセージの種類に応じて WLI JMS コントロールのデフォルト メソッドを呼び出すか、WLI JMS コントロール用に定義したカスタム メソッドを呼び出します。メッセージの種類に応じたデフォルト メソッドは以下のとおりです。
  3. 表 16-1 メッセージ タイプ
    メッセージ タイプ
    デフォルト メソッド
    Text/XMLBean
    sendTextMessage
    Object
    sendObjectMessage
    Raw Data
    sendBytesMessage
    JMS Message
    sendRawMessage

キューを使用した双方向のメッセージング

ビジネス プロセスは、WLI JMS コントロールを使用して、メッセージを JMS の 1 つのキューに送信し、別のキューの応答メッセージを受信することができます。1 つの WLI JMS コントロールがコンフィグレーション済みのキューとの間で送信と受信の両方を行えるので、ビジネス プロセスは同じコントロールを使用して送信と受信を行えます。

注意 : 双方向のメッセージングには、受信した各メッセージと、元のメッセージを送信したビジネス プロセスのインスタンスを対応させる必要があります。WLI JMS コントロールでは、送信側の会話 ID が送信メッセージの send_correlation_property で送信されます。メッセージの相関の詳細については、JMSControl.JMS アノテーションsend-correlation-property および receive-correlation-property 属性の説明を参照してください。

このシナリオ例を実装するには、以下の手順に従います。

  1. WLI JMS コントロールで、JMS コントロールの @jc:jms アノテーションの send-jndi-name 属性の値として、メッセージの送信先の JMS キューの名前を指定します。また、send-type 属性に queue を指定します。
  2. WLI JMS コントロールの @jc:jms アノテーションの receive-jndi-name 属性の値として、メッセージの受信元の JMS キューの名前を指定します。また、receive-type 属性に queue を指定します。
  3. Web サービスから、コントロールを作成したときに選択したメッセージの種類に応じて WLI JMS コントロールのデフォルト メソッドを呼び出すか、WLI JMS コントロール用に定義したカスタム メソッドを呼び出します。メッセージの種類に応じたデフォルト メソッドは以下のとおりです。
  4. 表 16-2 メッセージ タイプ (双方向のメッセージング)
    メッセージ タイプ
    デフォルト メソッド
    Text/XMLBean
    sendTextMessage
    Object
    sendObjectMessage
    Raw Data
    sendBytesMessage
    JMS Message
    sendRawMessage

  5. 受信キューでメッセージを受信した場合に通知を受けるには、WLI JMS コントロールのコールバック (コントロールの作成時に選択したメッセージの種類に応じて receiveTextMessagereceiveBytesMessagereceiveObjectMessage、または receiveRawMessage) 用のコールバック ハンドラ、または WLI JMS コントロールに定義したカスタム コールバックを実装します。

トピックにパブリッシュする

ビジネス プロセスは、WLI JMS コントロールを使用して、メッセージを JMS トピックにパブリッシュできます。ビジネス プロセスは応答を受け取りません。トピックが存在し、JNDI レジストリに登録されていることが必要です。

このシナリオ例を実装するには、以下の手順に従います。

  1. WLI JMS コントロールで、WLI JMS コントロールの @jc:jms プロパティの send-jndi-name 属性の値として対象の JMS トピックの名前を指定します。また、send-type 属性に topic を指定します。
  2. ビジネス プロセスから、WLI JMS コントロールのデフォルト メソッド (コントロールの作成時に選択したメッセージの種類に応じて sendTextMessagesendBytesMessagesendObjectMessage、または sendRawMessage) を呼び出すか、WLI JMS コントロール用に定義したカスタム メソッドを呼び出します。

トピックにサブスクライブする

ビジネス プロセスは、WLI JMS コントロールを使用して、メッセージを JMS トピックにサブスクライブできます。トピックが存在し、JNDI レジストリに登録されていることが必要です。ビジネス プロセスがトピックにサブスクライブした後に送信されたメッセージのみを受信できます。

このシナリオ例を実装するには、以下の手順に従います。

  1. WLI JMS コントロールで、WLI JMS コントロールの @jc:jms アノテーションの receive-jndi-name 属性の値として対象の JMS トピックの名前を指定します。また、receive-type 属性に topic を指定します。
  2. ビジネス プロセスから、WLI JMS コントロールの subscribe メソッドを呼び出します。
  3. 受信トピックでメッセージを受信した場合に通知を受けるには、WLI JMS コントロールのコールバック (コントロールの作成時に選択したメッセージの種類に応じて receiveTextMessagereceiveBytesMessagereceiveObjectMessage、または receiveRawMessage) 用のコールバック ハンドラ、または WLI JMS コントロールに定義したカスタム コールバックを実装します。
  4. 受信トピックでメッセージを受信した際の通知の受け取りを停止するには、WLI JMS コントロールの unsubscribe メソッドを呼び出します。

このシナリオの例を以下に示します。

関連トピック

概要 : メッセージング システムと JMS

WLI JMS コントロールでサポートされないメッセージングのシナリオ

JMSControl.JMS アノテーション

WLI JMS コントロールでサポートされないメッセージングのシナリオ

このトピックでは、WLI JMS コントロールでサポートされない具体的なメッセージングのシナリオについて説明します。

WLI JMS コントロールの詳細については、「WLI JMS コントロール」を参照してください。

サポートされないシナリオ

JMS 仕様は、さまざまなメッセージング シナリオをサポートしています。シナリオの中には、Web サービスの性質のため、スタンドアロン アプリケーションでは可能でも BEA Workshop for WebLogic Platform 環境では可能ではないものがあります。

以下の節で取り上げるメッセージングのシナリオは、WLI JMS コントロールでサポートされません。WLI JMS コントロールでサポートされるメッセージングのシナリオについては、「WLI JMS コントロールでサポートされるメッセージングのシナリオ」を参照してください。

非請求メッセージをキューから受信する

ビジネス プロセスは、WLI JMS コントロールを使用して、受信キューを指定したり、そのキューから非請求メッセージを受信したりすることができません。

ビジネス プロセスは、特定のクライアントに代わって、非同期で特定の会話に関与しつつ処理を実行しなければなりません。非請求メッセージをキューから受信すると、WLI JMS コントロールが、非請求受信メッセージと相関する適切な会話またはクライアントを判別できません。

注意 : JMS イベント ジェネレータおよびメッセージ ブローカの機能を使って、ビジネス プロセスで非請求メッセージを受信できます。メッセージ ブローカ コントロールおよび JMS イベント ジェネレータの使用方法については、「メッセージ ブローカ コントロール」を参照してください。

関連トピック

概要 : メッセージング システムと JMS

WLI JMS コントロールでサポートされるメッセージングのシナリオ

新しい WLI JMS コントロールを作成する

ここでは、新しい WLI JMS コントロールを作成する方法について説明します。

WLI JMS コントロールついては、「WLI JMS コントロール」を参照してください。

新しい WLI JMS コントロールを作成する

新しい WLI JMS コントロールを作成してビジネス プロセスに追加できます。新しい WLI JMS コントロールを定義するには、以下の手順に従います。

  1. [パッケージ・エクスプローラー] ペインで、WLI JMS コントロールを追加するビジネス プロセス (Process.java ファイル) をダブルクリックします。ビジネス プロセスがデザイン ビューに表示されます。
  2. データ パレット をクリックし、ドロップダウン リストから Integration コントロールを選択して、アプリケーションの統合に使用するコントロールのリストを表示します。
注意 : データ パレット ビューが BEA Workshop for WebLogic Platform に表示されない場合は、メニュー バーArrow symbol[ウィンドウArrow symbolビューの表示Arrow symbolデータ パレット] をクリックします。
  1. [WLI JMS] を選択します。
  2. [Insert control: WLI JMS] ダイアログ ボックスが表示されます。

  3. [Insert control: WLI JMS] ダイアログ ボックスで、以下の情報を入力します。
    • [フィールド名] に、ビジネス プロセスから新しい WLI JMS コントロール インスタンスにアクセスするときに使用する変数の名前を入力します。有効な Java 識別子を入力する必要があります。
    • [挿入位置] で、フィールド名をプロセス ファイルに挿入するポイントをドロップダウン リストから選択します。
    • これをコントロール ファクトリにするかどうかを決定し、[これを実行時に複数のインスタンスを作成できるコントロール ファクトリにする] チェック ボックスをチェックするか、チェックをはずします。コントロール ファクトリの詳細については、「コントロール ファクトリ : コントロールをまとめて管理する」を参照してください。
    • [次へ] をクリックします。
    • [コントロールの作成] ダイアログ ボックスが表示されます。

  4. [コントロールの作成] ダイアログ ボックスで、以下の情報を入力します。
    • [名前] フィールドに新しいコントロール拡張ファイルの名前を入力します。
    • 現在のプロジェクトのプロパティに設定されているようにコメントを追加するかどうかを決定し、[コメントの生成] チェック ボックスをチェックするか、チェックをはずします。
    • [次へ] をクリックします。
    • [コントロールの挿入 - JMS] ダイアログ ボックスが表示されます。

  5. [Insert control: 電子メール] ダイアログ ボックスで、以下の情報を入力します。
    • [メッセージ タイプ] ドロップダウン リストから、処理するメッセージのタイプを選択します。メッセージのタイプの詳細については、「メッセージ本体のフォーマットを指定する」を参照してください。
    • [JMS 送信送り先タイプ] ドロップダウン リストから、接続先のメッセージング サービスの種類に合わせて、[キュー] または [トピック] を選択します。メッセージング サービスの詳細については、「概要 : メッセージング システムと JMS」を参照してください。
    • [メッセージを送信するキューの名前] フィールドに、メッセージを送信するキューまたはトピックの名前を入力します。名前がわからない場合は、[参照] をクリックしてリストから選択します。コントロールを使用してメッセージを送信する場合は、送信キューの名前を指定する必要があります。
    • [JMS 受信送り先タイプ] ドロップダウン リストから、接続先のメッセージング サービスの種類に合わせて、[キュー] または [トピック] を選択します。メッセージング サービスの詳細については、「概要 : メッセージング システムと JMS」を参照してください。
    • [メッセージを受信するキューの名前] フィールドに、メッセージを受信するキューまたはトピックの名前を入力します。名前がわからない場合は、[参照] をクリックしてリストから選択します。コントロールを使用してメッセージを受信する場合は、受信キューの名前を指定する必要があります。
    • [キューへの接続を作成するための接続ファクトリ] フィールドに、キューまたはトピックへの接続を作成する接続ファクトリの名前を入力します。名前がわからない場合は、[参照] をクリックしてリストから選択します。
    • [終了] をクリックします。代わりに、WLI JMS コントロールの Java ファイルを手動で作成することもできます。たとえば、既存の WLI JMS コントロールの Java ファイルをコピーしてから変更することができます。

WLI JMS コントロールのメソッド

ファイル コントロールで使用できるメソッドについては、WliJMSControl インタフェースを参照してください。

WLI JMS コントロールの Java ファイル

新しい WLI JMS コントロールを作成すると、プロジェクト内に新しい Java ファイルが作成されます。以下は Java ファイルの例です。

package requestquote;
@org.apache.beehive.controls.api.bean.ControlExtension
@com.bea.control.JMSControl.JMS(sendtype = com.bea.control.JMSControl.Type.queue, sendjndiname = "l", receivetype = com.bea.control.JMSControl.Type.queue, receivejndiname = "l", connectionfactoryjndiname = "o")
public interface WLIJMSCntrl extends com.bea.control.WliJMSControl {
	/**
	 * 次のメソッドは javax.jms.TextMessage を sendJndiName に送信 
	 */
	public void sendTextMessage(String payload);
	/**
	 * コントロールで receiveJndiName を指定する場合、つまり、JWS がこのコントロールからメッセージを受信する場合は、
	 * コールバック ハンドラを実装する必要がある
	 */
	@org.apache.beehive.controls.api.events.EventSet(unicast = true)
	interface Callback extends com.bea.control.WliJMSControl.Callback {
		/**
		 * ここで、コールバック メソッドを 1 つだけ定義 
		 *
		 
		 * このメソッドは、receiveJndiName からのテキスト メッセージを処理できるコールバックを定義する 
		 */
		public void receiveTextMessage(String payload);
	}
	static final long serialVersionUID = 1L;
	public WLIJMSCntrl create();
}


この Java ファイルには、ダイアログで指定した名前の Java インタフェースの宣言が含まれています。このインタフェースは、コントロールの基本インタフェースを拡張します。Java インタフェースのコールバック以外のメソッドを呼び出すと、指定したキューまたはトピックに JMS メッセージが送信されます。

WLI JMS コントロールの Java ファイルの内容は、WLI JMS コントロールの挿入に使用したダイアログ ボックスで選択した設定によって異なります。上記の例は、[メッセージ タイプ] ドロップダウン リストで [テキスト/XMLBean] を選択した場合に生成されるものです。

JMS コントロールのプロパティをコンフィグレーションする

WLI JMS コントロールのほとんどのプロパティは、デザイン ビューでプロパティ エディタからコンフィグレーションできます。これらのプロパティは、JMS コントロールの Java ファイルで @jc:jms アノテーションの属性としてエンコードされます。現在のパラメータ設定を取得するには、getControlProperties() メソッドを使用します (これは基本の JMS コントロールの getProperties() メソッドとは別のメソッドです。getProperties() メソッドは、最後に受信したメッセージの JMS プロパティを取得するために使用します)。

@jc:jms アノテーションとその属性の詳細については、「@jc:jms 注釈」を参照してください。

ControlContext インタフェースを使用して、実行時にコントロールのプロパティにアクセスしたり、コントロール イベントを処理したりすることができます。コントロールを使用する開発者によって設定されたプロパティ値は、JWS、JSP、または プロセス ファイルでコントロールの宣言のアノテーションとして、または コントロール ファイルでインタフェース宣言、コールバック宣言、またはメソッド宣言のアノテーションとして格納されます。

JMS のキュー、トピックおよび接続ファクトリを作成、コンフィグレーション、および登録する方法については、『WebLogic JMS プログラマーズ ガイド』(以下の URL) を参照してください。

http://edocs.beasys.co.jp/e-docs/wls/docs81/jms/index.html

WebLogic Workshop をインストールすると、WLI JMS コントロールのサンプルをサポートするための 2 つのキューがコンフィグレーションされます。キューの名前は、SimpleJmsQCustomJmsCtlQ です。これらのキューとの接続を提供する接続ファクトリは、weblogic.jws.jms.QueueConnectionFactory JNDI 名を持ちます。操作を試すには、これらのリソースを使用します。

注意 : サーバ上にデプロイされた各 WLI JMS コントロールは、ユニークなキューでリスンする必要があります。同じサーバ上の複数の WLI JMS コントロールが同じキューで同時にリスンすると、予期しない結果を招く可能性があります。詳細については、「WLI JMS コントロールに関する注意」を参照してください。

メッセージ本体のフォーマットを指定する

WLI JMS コントロールには、複数のメソッドと 1 つのコールバックを定義することができます。すべてのメソッドは、send-jndi-name で名前を指定したキューまたはトピック (存在する場合) に送信またはパブリッシュします。

JMS では、送信またはパブリッシュ可能な複数のメッセージの種類を定義しています。WLI JMS コントロールで送信できる JMS メッセージの種類は、TextMessageObjectMessageBytesMessage、および JMSMessage です。WLI JMS コントロールは、呼び出された WLI JMS コントロール メソッドのコンフィグレーションに基づいて送信するメッセージのタイプを動的に判別します。XML オブジェクトおよび XML 型付き変数は、text/XMLBean メッセージ タイプを使用します。

注意 : javax.jms.Message 引数を取る send メソッドまたは receive メソッドを使用して、任意のメッセージの種類を送信または受信できます (どのメッセージの種類も javax.jms.Message を拡張します)。たとえば、ObjectMessage を送信するには、myControl.getSession() を呼び出して JMS セッションを取得し、session.createObjectMessage() を呼び出してから、メッセージを送信します。

WLI JMS コントロール メソッドが単一の String 引数または XMLObject 引数を取る場合は、javax.jms.TextMessage が送信されます

WLI JMS コントロール メソッドが単一の java.lang.Object タイプの引数を取る場合は、javax.jms.ObjectMessage が送信されます。

WLI JMS コントロール メソッドが単一の javax.jms.BytesMessage タイプの引数を取る場合は、javax.jms.BytesMessage が送信されます。

WLI JMS コントロール メソッドが単一の javax.jms.Message タイプの引数を取る場合は、JMS Message オブジェクトが直接送信されます。

メッセージのヘッダとプロパティを指定する

メッセージ ヘッダとメッセージ プロパティを制御するパラメータを編集するには、デザイン ビューでコントロールを表示し、メソッドを選択してから、プロパティ エディタ ペインを使用してパラメータを編集します。パラメータは setProperties() メソッドを使用してプログラムで設定できます。現在のパラメータ設定を表示するには、getControlProperties() メソッドを使用します。

キーと値のペアを使用して (ペアごとに @jc:jms-property アノテーションを使用)、追加のプロパティを送信できます。ソース ビューでパラメータを直接編集することもできます。

リモートの JMS リソースにアクセスする

send-jndi-namereceive-jndi-name、および connection-factory に指定された JNDI 名は、リモートの JMS リソースを参照できます。JMS リソース名の指定形式は次のとおりです。

jms:{provider-host}/{factory-resource}/
{dest-resource}?{provider-parameters}

以下に例を示します。

jms://host:7001/cg.jms.QueueConnectionFactory/
jws.MyQueue?URI=/drt/Bank.jws

または

jms://host:7001/MyProviderConnFactory/
MyQueue?SECURITY_PRINCIPAL=foo&SECURITY_CREDENTIALS=bar

WLI JMS コントロールに関する注意

WLI JMS コントロールを操作する場合には、次の点に注意してください。

注意 : 再試行回数として大きな値を設定し、エラーの送り先を設定していないコンフィグレーションの送り先の場合、WLI JMS コントロールのインフラストラクチャでは、メッセージ処理の試行と失敗を半永久的に繰り返すことになります。再配信制限の設定方法については、『WebLogic JMS プログラマーズ ガイド』(http://edocs.bea.com/wls/docs81/jms/index.html) を参照してください。

関連トピック

概要 : メッセージング システムと JMS

WLIJMSControl Interface

@jc:jms-headers 注釈

@jc:jms-property 注釈

既存の WLI JMS コントロールを使用する

ここでは、既存の WLI JMS コントロールを Web サービスで使用する方法について説明します。

WLI JMS コントロールついては、「WLI JMS コントロール」を参照してください。

WLI JMS コントロールの作成方法については、「新しい WLI JMS コントロールを作成する」を参照してください。

既存の WLI JMS コントロールを使用する

すべてのコントロールは一貫したモデルに従います。したがって、既存の WLI JMS コントロールの使用方法は、他の既存のコントロールの使用方法とほぼ同じです。既存の WLI JMS ビューを使用するには、以下の手順を実行します。

  1. [コントロール] タブの [追加] をクリックして、ビジネス プロセスが対話できるリソースを表すコントロールのリストを表示します。
  2. 注意 : [コントロール] タブが BEA Workshop for WebLogic Platform に表示されない場合は、メニュー バーで [ウィンドウArrow symbolビューの表示Arrow symbolデータ パレット] をクリックします。
  3. [Integration コントロール] をクリックして、アプリケーションの統合に使用するコントロールのリストを表示します。
  4. [WLI JMS] を選択して [Insert control: WLI JMS] ダイアログ ボックスを表示します。
  5. [このコントロールの変数名] フィールドに、ビジネス プロセスから既存の WLI JMS ビュー コントロールのインスタンスにアクセスする際に使用する変数名を入力します。有効な Java 識別子を入力する必要があります。
  6. [手順 2] ペインで、[すでに コントロール ファイルで定義済みの WLI JMS コントロールを使用] ラジオ ボタンを選択します。
  7. [参照] をクリックして、既存の WLI JMS コントロールを参照します。[選択] ダイアログ ボックスが表示されます。使用するコントロールが見つかったら、それを選択して [選択] をクリックします。
  8. [作成] をクリックします。

関連トピック

概要 : メッセージング システムと JMS

WliJMSControl Interface


  ページの先頭       前  次