SimplifiedDBRouting メッセージ・フローの作成

SimplifiedDBRouting メッセージ・フローを作成するには、以下の手順に従ってください。 詳細な指示については、各ステップの終わりにあるリンクをクリックしてください。

SimplifiedDBRouting メッセージ・フローを作成および構成するには、次のようにします。

  1. SimplifiedDBRouting という新規メッセージ・フロー・プロジェクトを作成します。
    手順については、WebSphere Message Broker 資料の メッセージ・フローの作成を参照してください。
  2. メッセージ・フロー・エディターで、次の表にリストされているノードを追加して名前変更します。
    手順については、WebSphere Message Broker 資料の メッセージ・フロー・ノードの追加を参照してください。
    パレット・ドロワー ノード・タイプ ノード名 (MQ キュー)
    WebSphere MQ MQInput MQInput
    WebSphere MQ MQOutput FailureQ
    WebSphere MQ MQOutput KeyNotFoundQ
    WebSphere MQ MQOutput OrderClockQ
    WebSphere MQ MQOutput SeniorStaffQ
    WebSphere MQ MQOutput DefaultQ
    Routing Route Route
    Database DatabaseRetrieve DatabaseRetrieve
    Database DatabaseRoute DatabaseRoute
    Construction Trace Trace
  3. 次の表に示されているように、ノードを接続します。
    手順については、WebSphere Message Broker 資料の メッセージ・フロー・ノードの接続を参照してください。
    ノードが正しく接続されたかどうかを確認するには、Simplified Database Routing メッセージ・フローについての図を参照してください。
    ノード名 ターミナル 接続先のノード
    MQInput Out Route
    Failure Trace
    Catch Trace
    Route デフォルト DatabaseRetrieve
    Failure Trace
    Match DatabaseRoute
    DatabaseRetrieve Out DatabaseRoute
    Failure Trace
    KeyNotFound KeyNotFoundQ
    DatabaseRoute KeyNotFound KeyNotFoundQ
    Failure Trace
    TenYearsService OrderClockQ
    OlderThanMe SeniorStaffQ
    デフォルト DefaultQ
    Trace Out FailureQ
  4. 次の表に示されているように、ノードのプロパティーを構成します。
    この表に代替値が示されていなければ、すべてのプロパティーに関してデフォルト値を受け入れます。
    手順については、WebSphere Message Broker 資料の メッセージ・フロー・ノードの構成を参照してください。
    ノード名 ページ プロパティー
    MQInput 基本 キュー名 SIMPLERROUTEDB_IN
    このプロパティーは、メッセージ・フローがメッセージを取り出すローカル・キューです。
    入力メッセージ構文解析 メッセージ・ドメイン XMLNSC : XML メッセージの場合
    このプロパティーは、XMLNSC パーサーを使用するようブローカーに指示します。 このパーサーはネーム・スペースを認識し、妥当性検査をサポートし、少ないメモリーを使用します。
    Route 基本 フィルター・パターン $Body/EmpRecord/WorkDept
    このプロパティーは XPath 1.0 式であり、この場合は、このノードの入力メッセージ内に想定されるエレメントのパス・ロケーションを指定します。 このノードは、配属先部門フィールドの探索を試み、存在しない場合は false に解決されます。
    基本 ルーティング出力ターミナル

    Match
    このプロパティーは、フィルター式が true に解決された場合に入力メッセージの伝搬先となる動的出力ターミナルの名前です。 想定されるエレメントが入力メッセージに含まれる場合、式は true に解決されます。
    注: ノードを右クリックして「出力ターミナルの追加」をクリックすることにより、このターミナルをあらかじめ作成しておく必要があります。
    手順については、WebSphere Message Broker 資料の 動的ターミナルの使用を参照してください。

    DatabaseRetrieve 基本 データ・ソース名

    SIMPLERROUTEDB
    ブローカー・レジストリーに保管されている JDBC プロバイダーの詳細を見つけるために使用される別名。 別名は、DBMS への接続に使われる JDBC 接続 URL を検索およびビルドするために使用されます。

    基本 メッセージのコピー Yes
    このプロパティーは、メッセージ・ツリーを更新するために、元の着信メッセージのコピーが必要であることを示します。
    基本 照会エレメント
    表名 列名 演算子 値のタイプ
    EMPLOYEE E LASTNM ASC なし なし
    EMPLOYEE E FIRSTNM ASC なし なし
    EMPLOYEE E YEARSSERVICE ASC なし なし
    EMPLOYEE E AGEINYRS ASC なし なし
    EMPLOYEE E WORKDEPT ASC なし なし
    EMPLOYEE E EMPNUM = エレメント $InputBody/EmpRecord/EmpNumber
    上記の照会エレメント表の内容から、次のような照会が SQL ステートメント・ウィンドウに生成されます。
        SELECT  E.LASTNM,  E.FIRSTNM,  E.YEARSSERVICE,  E.AGEINYRS,  E.WORKDEPT
    FROM EMPLOYEE E
    WHERE  E.EMPNUM = ?
    ORDER BY  E.LASTNM ASC,  E.FIRSTNM ASC,  E.YEARSSERVICE ASC,  E.AGEINYRS ASC,  E.WORKDEPT ASC
        
    データ・エレメント表 データ・エレメント
    列名 メッセージ・エレメント
    E.FIRSTNM $OutputRoot/XMLNSC/EmpRecord/FirstName
    E.LASTNM $OutputRoot/XMLNSC/EmpRecord/LastName
    E.YEARSSERVICE $OutputRoot/XMLNSC/EmpRecord/YrsInService
    E.AGEINYRS $OutputRoot/XMLNSC/EmpRecord/AgeInYrs
    E.WORKDEPT $OutputRoot/XMLNSC/EmpRecord/WorkDept
    上記のデータ・エレメント表の各行は、このノードからのメッセージの伝搬の前に、取り出した列値の挿入先となる出力メッセージ内の場所を指定します。
    その場所が出力メッセージ (入力メッセージのコピー) に存在しない場合は、それが作成されます。 基本プロパティー「複数行」のデフォルト値は「いいえ」に設定されているため、結果セットの最初の行に戻される値だけがこのノードによって処理されます。
    SQL ステートメント・ウィンドウで指定され、基本「照会エレメント」表の内容を使って構成された照会を実行することによって、この結果セットが得られます。
    DatabaseRoute 基本 データ・ソース名

    SIMPLERROUTEDB
    ブローカー・レジストリーに保管されている JDBC プロバイダーの詳細を見つけるために使用される別名。 別名は、DBMS への接続に使われる JDBC 接続 URL を検索およびビルドするために使用されます。

    基本 照会エレメント
    表名 列名 演算子 値のタイプ
    EMPLOYEE M EMPNUM ASC なし なし
    EMPLOYEE M LASTNM ASC なし なし
    EMPLOYEE M AGEINYRS ASC なし なし
    DEPARTMENT D DEPTNUM = エレメント $Body/EmpRecord/WorkDept
    DEPARTMENT D MGRNUM = (EMPLOYEE) M.EMPNUM
    上記の照会エレメント表の内容から、次のような照会が SQL ステートメント・ウィンドウに生成されます。
    SELECT  M.EMPNUM,  M.LASTNM,  M.AGEINYRS
    FROM EMPLOYEE M, DEPARTMENT D
    WHERE  D.DEPTNUM = ?
    AND  D.MGRNUM =  M.EMPNUM
    ORDER BY  M.EMPNUM ASC,  M.LASTNM ASC,  M.AGEINYRS ASC    
    基本 配布モード すべて
    このプロパティーは、インバウンド・メッセージが複数の式に一致する場合にこのノードのルーティング動作を決定します。 「配布モード」First に設定すると、メッセージは最初に一致する出力ターミナルに伝搬されます。 「配布モード」All に設定すると、一致するすべての出力ターミナルにメッセージが伝搬されます。 一致する出力ターミナルが存在しない場合、メッセージはデフォルト・ターミナルに送信されます。
    フィルター式表 フィルター表
    フィルター・パターン ルーティング出力ターミナル
    ($Body/EmpRecord/AgeInYears > $M_AGEINYRS) and ($M_LASTNM = 'KWAN') OlderThanMe
    $Body/EmpRecord/YrsInService >= 10 TenYearsService
    上記のフィルター式の表の各行は XPath 1.0 式を指定します。そこでは、取り出される列値は変数参照の形式で表されます。
    各式はブールとしてキャストされます。 式が true に解決される場合、ノードは、行の「ルーティング出力ターミナル」値に指定された動的出力ターミナルに入力メッセージを伝搬します。
    注: このノードを右クリックして「出力ターミナルの追加」をクリックすることにより、このターミナルをあらかじめ作成しておく必要があります。
    手順については、WebSphere Message Broker 資料の 動的ターミナルの使用を参照してください。
    Trace 基本 宛先 (Destination) ローカル・エラー・ログ
    このプロパティーは、トレース情報をローカル・エラー・ログに書き込むようノードに指示します。 Windows ではローカル・エラー・ログはイベント・ビューアーです。Linux ではローカル・エラー・ログは syslog です。
    基本 パターン (Pattern)
    Root >
    ${Root}
    ExceptionList > ${ExceptionList}
    トレース・パターンは、メッセージ・ツリー情報全体を抽出します。
    基本 メッセージ番号 3051
    FailureQ 基本 キュー名 SIMPLERROUTEDB_FAILURE
    このプロパティーは、処理が失敗した場合にメッセージ・フローがメッセージを書き込むキューです。
    KeyNotFoundQ 基本 キュー名
    SIMPLERROUTEDB_KEYNOTFOUND
    このプロパティーは、メッセージ・フローによってメッセージが書き込まれるローカル・キューです。
    OrderClockQ 基本 キュー名
    SIMPLERROUTEDB_ORDERCLOCK
    このプロパティーは、メッセージ・フローによってメッセージが書き込まれるローカル・キューです。
    SeniorStaffQ 基本 キュー名
    SIMPLERROUTEDB_SNRSTAFF
    このプロパティーは、メッセージ・フローによってメッセージが書き込まれるローカル・キューです。
    DefaultQ 基本 キュー名
    SIMPLERROUTEDB_DEFAULT
    このプロパティーは、メッセージ・フローがメッセージを書き込むローカル・キューです。
  5. メッセージ・フローを保存します。

これで SimplifiedDBRouting メッセージ・フローが作成されました。

『Simplified Database Routing サンプルの作成』に戻る