BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedoホーム   |   ファイル形式、データ記述方法、MIB、およびシステム・プロセスのリファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


TMQFORWARD(5)

名前

TMQFORWARD-メッセージ転送サーバ

形式

TMQFORWARD SRVGRP="identifier" SRVID="number" REPLYQ=N CLOPT=" 
[-A] [servopts options] -- -q queuename[,queuename...]
[-t trantime ] [-i idletime] [-e] [-d] [-n] [-f delay] "

機能説明

メッセージ転送サーバは、BEA Tuxedo システム が提供するサーバです。このサーバは、後で処理するために tpenqueue() を使用して格納されたメッセージを転送します。アプリケーション管理者は、*SERVERS セクションでこのサーバをアプリケーション・サーバとして指定することにより、アプリケーション・サーバのメッセージ処理を自動化することができます。

位置指定、サーバ・グループ、サーバ識別子、その他の汎用サーバ関連パラメータは、サーバ用にすでに定義されているコンフィギュレーション・ファイル機構を使用して、サーバに関連付けられます。カスタマイズに利用できる、追加コマンド行オプションの一覧を次に示します。

-q queuename[,queuename...]

このサーバのメッセージの転送先である、1 つまたは複数のキュー/サービスの名前を指定する場合に使用します。キューおよびサービスの名前は、15 文字以内に制限された文字列です。このオプションは必須です。

-t trantime

キューからメッセージを取り出し、そのメッセージをアプリケーション・サーバに転送するトランザクションのために、tpbegin() で使用されるトランザクション・タイムアウト値を示す場合に使用します。指定されない場合、省略時値は 60 秒です。

-i idletime

サーバが読み取るキューを排出した後に、サーバがアイドル状態になる時間を示すために、使用します。値が 0 の場合は、サーバがキューを連続して読み取ることを示しますが、これを指定した場合は、キューのメッセージが連続していないと効率が低下する可能性があります。指定されない場合、省略時値は 30 秒です。

-e

キュー上にメッセージがなければサーバを終了させる場合に使用します。このオプションは、キューに関連付けられたしきい値コマンドと併せて使用することにより、キューに登録されたメッセージの変化に応じて、TMQFORWARD サーバを開始したり停止したりすることができます。

-d

サービスを異常終了 (TPESVCFAIL) させ、応答メッセージ (長さがゼロ以外) を持つメッセージを、再試行しないようトランザクションのロールバック後にキューから削除させる場合に使用します。つまり、サービスが失敗し、かつ長さがゼロ以外の応答メッセージがサーバから受信された場合、元の要求メッセージはキューに返されるのではなく削除されます。

応答メッセージは、異常終了キューがメッセージに関連付けられていて、かつ存在していれば、そのキューに登録されます。キューに設定されている再試行の制限に達すると同時にメッセージが削除されるようになっている場合、元の要求メッセージはエラー・キューに移されます。

-n

TPNOTRAN フラグを使ってメッセージを送信する場合に使用します。このフラグは、リソース・マネージャと関連のないサーバ・グループへの転送を可能にします。

-f delay

サーバに、tpcall を使う代わりにサービスにメッセージを転送させる場合に使用します。メッセージが送信され、サービスからの応答は期待されません。TMQFORWARD サーバは、サービスからの応答を待つときにブロックすることなく、キューの次のメッセージを続けて処理できます。TMQFORWARD がシステムを要求でいっぱいにしないようにするには、delay 値に処理する要求間の遅延を秒単位で指定します。ゼロを指定すると、遅延は設定されません。

メッセージは、メッセージが読み取られるキューと同じ名前のサービスを提供するサーバに送信されます。キューへのメッセージ登録時に優先順位を指定した場合は、その優先順位がメッセージの優先順位になります。指定していない場合は、優先順位は、コンフィギュレーション・ファイルにおいて定義されているサービスの優先順位か、または省略時値 (50) になります。

メッセージは、1 つのトランザクション内で、キューから取り出され、サーバに送信されます。サービスが正常終了すると、トランザクションはコミットされ、メッセージはキューから削除されます。メッセージが応答キューに関連付けられている場合は、サービスからの応答はいずれも、返された tpurcode を伴って応答キューに登録されます。応答キューが存在しない場合、応答はドロップされます。

元のメッセージをキューに登録する際、アプリケーションではメッセージに対する応答のサービス品質を指定することができます。応答のサービス品質が指定されていない場合、応答キューに指定されているデフォルトの配信方針が使用されます。デフォルトの配信方針が決まるのは、メッセージへの応答がキューに登録されるときです。つまり、元のメッセージがキューに登録されて、メッセージへの応答がキューに登録される間に、応答キューのデフォルトの配信方針が変更された場合、最終的に応答がキューに登録されたときに配信方針が有効になります。

サービスが異常終了すると、そのキューについて構成されている再試行制限回数の範囲内で、トランザクションはロールバックされ、メッセージはキューに戻されます。メッセージがキューに戻される際、そのメッセージが最初にキューに登録されたときに適用された順位付けルールおよびキューからの取り出しルールは、delay 秒の間中断されます。これにより、たとえば、順位付けの低いメッセージが、キューに戻されたメッセージより先に取り出される可能性が出てきます。

-d オプションが指定されている場合は、サービスが TPESVCFAIL で異常終了し、かつサーバから応答メッセージが受信されると、メッセージはキューから削除され、そして、応答メッセージ (および関連する tpurcode) は、異常終了キューがメッセージに関連付けられていて、かつ存在していれば、そのキューに登録されます。キューに設定されている再試行の制限に達すると同時にメッセージが削除されるようになっている場合、元の要求メッセージはエラー・キューに移されます。

コンフィギュレーション条件によっては、TMQFORWARD がキューからメッセージを取り出したり、メッセージを転送したりできないことがあり、このような構成条件では、サーバはブートに失敗します。このために注意すべき構成条件として、次のものがあります。

アプリケーション・バッファ・タイプの処理

提供時の TMQFORWARD では、BEA Tuxedo システム に提供されている標準バッファ・タイプの処理に対応します。これ以外のアプリケーション・バッファ・タイプが必要な場合は、buildserver(1) をカスタマイズ・タイプ・スイッチとともに使用して、TMQFORWARD のカスタマイズ・バージョンを構築する必要があります。『BEA Tuxedo /Q コンポーネント』を参照してください。

呼び出し元によって組み込まれるファイルには、アプリケーション・バッファ・タイプ・スイッチおよび必要なサポートされるルーチンのみを入れてください。buildserver は、サーバ・オブジェクト・ファイル $TUXDIR/lib/TMQFORWARD.o とアプリケーション・タイプ・スイッチのファイル (複数可) を結合し、これに、必要な BEA Tuxedo システム ライブラリをリンクするために使用されます。次の例を利用して、詳細を説明します。

buildserver -v -o TMQFORWARD -r TUXEDO/QM -f ${TUXDIR}/lib/TMQFORWARD.o -f apptypsw.o

この buildserver のオプションは次のとおりです。

-v

buildserver が冗長モードで動作することを指定します。これは、cc コマンドを標準出力に表示します。

-o name

出力ロード・モジュールのファイル名を指定します。このオプションで指定された名前は、コンフィギュレーション・ファイルの SERVERS セクション中にも指定しなければなりません。一貫性を保つために、TMQFORWARD を使用することを推奨します。このコマンドのアプリケーション固有バージョンは、$APPDIR にインストールすることができ、インストールすると $TUXDIR/bin にあるコマンドの代わりにそれがブートされます。

-r TUXEDO/QM

このサーバに関連付けられているリソース・マネージャを指定します。値 TUXEDO/QM は、$TUXDIR/udataobj/RM に配置されているリソース・マネージャ・テーブルにあり、BEA Tuxedo システムのキュー・マネージャ用のライブラリを含んでいます。

-f $TUXDIR/lib/TMQFORWARD.o

TMQFORWARD サービスが入っているオブジェクト・ファイルを指定します。このファイルは、-f オプションの第 1 引数として指定してください。

-f firstfiles

buildserver のコンパイル段階やリンク・エディット段階で組み込まれる、 1 つまたは複数のユーザ・ファイルを指定します。ソース・ファイルは、cc コマンド、または CC 環境変数を通して指定されるコンパイル・コマンドのいずれかを使用してコンパイルされます。ここに指定するファイルは、TMQFORWARD.o オブジェクト・ファイルを組み込んだ後に指定しなければなりません。複数のファイルを指定する場合には、ファイル名を空白類 (スペースまたはタブ) で区切り、全体を引用符で囲みます。このオプションは、複数回指定できます。

サービスを宣言する -s オプションを指定してはなりません。

移植性

TMQFORWARD は、サポートされているすべてのサーバ・プラットフォームで BEA Tuxedo システム 提供のサーバとしてサポートされます。

相互運用性

TMQFORWARD は、相互運用するアプリケーションで実行できますが、BEA Tuxedo リリース 4.2 以降のノードで実行する必要があります。

使用例

*GROUPS # Window NT の場合、:myqueue を ;myqueue にする
TMQUEUEGRP LMID=lmid GRPNO=1 TMSNAME=TMS_QM
OPENINFO="TUXEDO/QM:/dev/device:myqueue"
# CLOSEINFO は必要ない

*SERVERS # 推奨値は RESTART=Y GRACE=0
TMQFORWARD SRVGRP="TMQUEUEGRP" SRVID=1001 RESTART=Y GRACE=0
CLOPT=" -- -qservice1,service2" REPLYQ=N
TMQUEUE SRVGRP="TMQUEUEGRP" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-s ACCOUNTING:TMQUEUE"

関連項目

buildserver(1)tpdequeue(3c)tpenqueue(3c)servopts(5)TMQUEUE(5)UBBCONFIG(5)

『BEA Tuxedo アプリケーションの設定』

『C 言語を使用した BEA Tuxedo アプリケーションのプログラミング』

 

先頭へ戻る 前のトピックへ 次のトピックへ