![]() ![]() ![]() ![]() |
「検証サービス シナリオについて」で説明されているメッセージ ブローカ機能を設計するには、RequestQuote ビジネス プロセスに、ValidateOrder メッセージ ブローカ チャネルにパブリッシュするノードと、StopQuote メッセージ ブローカ チャネルにサブスクライブするノードを作成します。次に、ビジネス プロセスにメッセージ パスを作成します。メッセージ パスには、ValidateOrder サービスがメッセージをポストするチャネル (StopQuote) からのコールバックを処理するロジックを作成します。このロジックでは、RequestQuote ビジネス プロセスが、サブスクライブしているチャネルからコールバックを受信したら終了するように指定します。
まず、プロジェクトにメッセージ ブローカ パブリッシュ コントロールを作成してから、メソッドをコントロールからビジネス プロセス内のノードにバインドする必要があります。この手順は、次のとおりです。
/TutorialPrefix/Tutorial/ValidateOrder
/TutorialPrefix/Tutorial/StopQuote
注意 : | /deadletter/xml、/deadletter/string、/deadletter/rawData、 /WorklistEvent というチャネルも使用可能です。アプリケーションでのデッド レター チャネルの使用方法については、 |
[メッセージ タイプ] フィールドに、ValidateOrder チャネルにパブリッシュされるメッセージのデータ型 org.example.request.QuoteRequestDocument
が表示されます。
注意 : | [チャネル名] フィールドでチャネルを選択できない場合、ユーティリティ プロジェクトをビルドする必要があります。そのためには、まず [コントロールの挿入] ダイアログボックスの [取消し] をクリックしてダイアログボックスを閉じます。[パッケージ・エクスプローラー] ペインのユーティリティ プロジェクト フォルダを右クリックし、ドロップダウン メニューから [プロジェクトのビルド] を選択します。プロジェクトのビルドが終了したら、![]() ![]() |
void publish(QuoteRequestDocument value)
[コントロール送信] ノードが作成されます。ノードのデフォルト名は publish です。
void publish (QuoteRequestDocument value)
メソッドがすでに選択されています。
コントロールで想定されているパラメータのデータ型 QuoteRequestDocument
が [コントロールが予期する値] フィールドに表示されます。
注意 : | チュートリアルの始めに、ビジネス プロセスの開始ノードを設計した際に、クライアントからの見積り要求メッセージを requestXML 変数に割り当てました。 |
まず、プロジェクトにメッセージ ブローカ サブスクリプション コントロールを作成してから、メソッドをコントロールからビジネス プロセス内のノードにバインドする必要があります。プロセスは、メッセージ ブローカ サブスクリプション コントロールを使用して、クライアントからの見積り要求が無効な場合に検証サービスがメッセージをパブリッシュできるチャネルにサブスクライブします。チュートリアルのシナリオでは、ValidateOrder サービスは、クライアントから要求されたウィジェット数が 400 を超える場合にその見積り要求を無効と判断します。次の手順を実行してください。
これにより、ビジネス プロセスがサブスクライブするチャネルが指定されます。これは、ValidateOrder サービスが見積り要求を無効と判断した場合にメッセージをパブリッシュするチャネルでもあります。
注意 : | [メッセージ タイプ] フィールドに、StopQuote チャネルにパブリッシュされるメッセージのデータ型 java.lang.String が表示されます。StopQuote チャネルの定義方法については、「チュートリアル アプリケーションのメッセージ ブローカ チャネルについて」を参照してください。 |
[コントロールの挿入] ダイアログ ボックスが閉じ、MBSubValidate.java ファイルが作成されて [パッケージ・エクスプローラー] ペインに表示されます。作成した mbSubValidate コントロールのインスタンスがデータ パレットに表示されます。
void subscribe()
[コントロール送信] ノードが作成されます。ノードのデフォルト名は subscribe です。 は、ノードでの指定が完了し、このノードでのこれ以上の設計作業が不要であることを示します。
注意 : | メッセージ ブローカ サブスクリプション コントロールはコールバック メソッドを定義しません。カスタム コールバックを定義して、ビジネス プロセスがイベント メッセージを受信する方法について指定する必要があります。ビジネス プロセスにコールバックを定義するには、「手順 14 : ビジネス プロセスのメッセージ パスの設計」に進みます。 |
これで、RequestQuote プロセスがメッセージ ブローカ チャネルに対してパブリッシュおよびサブスクライブする方法を指定するノードの設計は完了しました。
チュートリアル アプリケーションのメッセージ ブローカ チャネルについて
![]() ![]() ![]() |