![]() |
![]() |
|
|
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 セクションでこのサーバをアプリケーション・サーバとして指定することにより、アプリケーション・サーバのメッセージ処理を自動化することができます。
位置指定、サーバ・グループ、サーバ識別子、その他の汎用サーバ関連パラメータは、サーバ用にすでに定義されているコンフィギュレーション・ファイル機構を使用して、サーバに関連付けられます。カスタマイズに利用できる、追加コマンド行オプションの一覧を次に示します。
メッセージは、メッセージが読み取られるキューと同じ名前のサービスを提供するサーバに送信されます。キューへのメッセージ登録時に優先順位を指定した場合は、その優先順位がメッセージの優先順位になります。指定していない場合は、優先順位は、コンフィギュレーション・ファイルにおいて定義されているサービスの優先順位か、または省略時値 (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 のオプションは次のとおりです。
サービスを宣言する -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 アプリケーションのプログラミング』
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|