|
TuxMsgQLD SRVGRP="identifier" SRVID="number"
[CLOPT="[-A] [servopts options]
[-g grp_id][ -l //hostname:port][ -f config_filename]"]
従来のOMQリンク・ドライバから移植されたOTMQのTuxMsgQLD(リンク・ドライバ・サーバー)は、OTMQアプリケーションとOMQアプリケーション間のメッセージ・レベルの互換性を実現します。
OTMQリンク・ドライバ・サーバーにより、従来のOMQリンク・ドライバと同様のルーティング機能も提供されますが、いくつかの制限があります。
リンク・ドライバ・サーバーを構成するには、新規の構成ファイルを作成します。この構成ファイルは、APPDIRの下に置きます。構成ファイルは、従来のOMQの構成ファイルの%XGROUPおよび%ROUTEセクションから移植されています。
リスト3-1に、リンク・ドライバ・サーバーの構成ファイルの例を示します。
# Define cross-group connections with remote OMQ,
# only the remove OMQ group info should be listed here
%XGROUP
# Group Group Node/ Init- Thresh Buffer Recon- Window Trans- End-
# Name Number Host iate old Pool nect Delay Size (Kb) port point
GRP_11 11 host1.abc.com Y - - 30 10 250 TCPIP 10001
GRP_12 12 host2.abc.com Y - - 30 10 250 TCPIP 10002
%EOS
%ROUTE
#----------------------------------
# Target Route-through
# Group Group
#----------------------------------
2 11
3 12
%EOS
%END
TuxMsgQ
SRVGRP="identifier"
SRVID="number" CLOPT=" [-A][servopts options] -- [-t timeout][-i interval]"
メッセージ・キュー・マネージャは、Oracle Tuxedoシステムで提供されるサーバーであり、tpenqplus()およびtpdeqplus()を呼び出すプログラムのためにメッセージをエンキューおよびデキューします。アプリケーション管理者は、*SERVERSセクションでこのサーバーをアプリケーション・サーバーとして指定することにより、アプリケーションでメッセージのエンキューおよびデキューを実行できるようにします。
Qspaceのデフォルトのアタッチ・タイムアウトを構成するには、TuxMQATH[qspace]という名前のサービスの*SERVICESセクションのBLOCKTIMEプロパティを設定します([qspace]は、TuxMsgQサーバーからTuxMsgQルーチンで通知されるサービス名)。
位置指定、サーバー・グループ、サーバー識別子、その他の汎用サーバー関連パラメータは、サーバー用に定義されている構成ファイル機構を使用して、このサーバーに関連付けられます。次に、カスタマイズに使用できる追加コマンド行オプションを示します。
-t timeout
-i interval
TuxMsgQでは、次の永続メッセージ・キャッシュの環境変数を使用します。
TM_OTMQCACHE_ENABLED, TM_OTMQCACHE_TIMEOUT, TM_OTMQCACHE_TIMEOUT.
TuxMsgQでは、永続メッセージと非永続メッセージの両方を管理できます。非永続メッセージは共有メモリーに格納されます。通常、永続メッセージはディスクに格納されます。共有メモリーへのメッセージの格納は、永続ストレージへのメッセージの格納よりも大幅に高速です。
TM_OTMQCACHE_ENABLED
TM_OTMQCACHE_TIMEOUT
TM_OTMQCACHE_TIMEOUTを使用して、エンキュー操作によってメッセージが永続ストレージに移動される前の遅延時間が変更されます。値の単位はmicroseconds (us)です。デフォルトのタイムアウト値は100usです。
TM_OTMQCACHE_MAXCACHEMSG
*SERVERS
TuxMsgQ SRVGRP="TUXMSGQGRP" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-s myqueue:TuxMsgQ"
)
TuxMQFWD - メッセージ・キュー・オフライン・トレード・ドライバ
TuxMQFWD
SRVGRP="identifier"
SRVID="number" CLOPT=" [-A][servopts options] -- [-f delay time][-t timeout][-i idle time]"
メッセージ・キュー・オフライン・トレード・ドライバは、Oracle Tuxedoシステムが提供するサーバーです。
位置指定、サーバー・グループ、サーバー識別子、その他の汎用サーバー関連パラメータは、サーバー用に定義されている構成ファイル機構を使用して、このサーバーに関連付けられます。次のオプションを指定できます。
-f delay time
-i idletime
-t timeout
構成によっては、TuxMQFWDがキューからメッセージを取り出せないか、メッセージを転送できないことがあり、その場合はサーバーを起動できなくなります。こうした条件では、次のことが必要です。
TuxMQFWD
SRVGRP=QGRP1 SRVID=51 GRACE=0 RESTART=Y CONV=N MAXGEN=10
CLOPT="-- -i 1"
TMQ_NA
SRVGRP="identifier"
SRVID="number" CLOPT=" [-A][servopts options] -- [-g OTMQ group] [-r OMQ group]"
TMQ_NAはOTMQのシステム・サーバーです。これにより、ネーミングおよびキュー・エイリアスとキュー名の実行時バインドを提供できます。次のオプションがサポートされます。
-g xxx
-r yyy
| 注: | パラメータの順序により、どのネーミング・サーバーがプライマリで、どれがバックアップかが決定します。 |
TMQ_NA
SRVGRP=QGRP1 SRVID=51 GRACE=0 RESTART=Y CONV=N MAXGEN=10
CLOPT=" -- -g 1 "
TMS_TMQM - OTMQリソース・マネージャのTMSサーバーです。
OTMQでは、独立したTuxedoトランザクション管理サーバー(TMS)も提供されます。TMS_TMQMは、TuxMsgQまたはTuxMQFWD、あるいはその両方のグループ内に構成する必要があります。
*GROUPS
QGRP1
LMID=L1 GRPNO=1 TMSNAME=TMS_TMQM TMSCOUNT=2
OPENINFO="TUXEDO/TMQM:/dev/device2:myqueue"
TMQEVT SRVGRP="identifier" SRVID="number"
[CLOPT="[-A] [servopts options]
[-- [-S] [-p poll-seconds] [-f control-file]]"]
TMQEVTはOracle Tuxedoシステムが提供するサーバーで、tpqpublishからのイベント・レポート・メッセージ・バッファを処理し、それらにフィルタを適用して転送するEventBrokerとして動作します。
フィルタや通知に関するルールは、制御ファイルcontrol-fileに格納され、デフォルトの名前は${APPDIR}/tmqevt.datです。control-fileの構文はEVENT_MIB(5)で定義され、特に、EVENT_MIBのクラス属性を設定することで、通知ルールの範囲内でサブスクリプションをアクティブ化できます。
1つ以上のセカンダリTMQEVTプロセスを起動して、可用性を高めることができます。追加サーバーは、「セカンダリ・サーバー」であることを示すコマンド行オプション-Sを指定して起動する必要があります。
EVENT_MIB(5)の構成が更新されるときには、プライマリTMQEVTサーバーがその制御ファイルに書込みを行います。セカンダリ・サーバーは、プライマリ・サーバーの制御ファイルが更新されているかどうかをポーリングを通じてチェックし、必要であれば各自の(ローカルの)制御ファイルを更新します。ポーリングの間隔は-pオプションで指定できます。デフォルト値は30秒です。
| 注: | 複数のリリースのOracle Tuxedoシステムで構成されたMP構成を設定し、TMQEVTサーバーを実行する場合は、これらのサーバーを最新のリリースのノードで実行する必要があります。 |
TMQEVTは、TMS_TMQMと同じグループにはデプロイできません。
TMQEVTは、Oracle Tuxedoリリース6.0以降のマシンで実行する必要があります。
プライマリTMQEVTサーバーを別のマシンに移行するには、システム管理者は現在の制御ファイルのコピーを提供する必要があります。セカンダリTMQEVTサーバーは、最新のコピーを自動的に維持します。
tpqupublis()をトランザクション・モードで呼び出す場合は、すべてのTMQEVTサーバー・グループがトランザクション機能(TMSプロセス)を備えている必要があります。
TMQEVTサーバーの環境変数は、メッセージ・フィルタリングおよびフォーマットに必要なFMLフィールド表やVIEWファイルが使用可能となるように設定しておく必要があります。これらの環境変数は、マシンまたはサーバーの環境設定ファイルで設定できます。
*SERVERS
TMQEVT SRVGRP=ADMIN1 SRVID=100 RESTART=Y MAXGEN=5 GRACE=3600
CLOPT="-A --"
TMQEVT SRVGRP=ADMIN2 SRVID=100 RESTART=Y MAXGEN=5 GRACE=3600
CLOPT="-A -- -S -p 120"
tpqpublish()、tpqsubscribe() (『Oracle Tuxedo Message Queue関数リファレンス』)
EVENTS(5), EVENT_MIB(5) ( 『Oracle Tuxedoファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』)
TMQFORWARDPLUS SRVGRP="identifier" SRVID="number" REPLYQ=N CLOPT="
[-A] [servopts options] -- -q queuename[,queuename...]
[-t trantime ] [-i idletime] [-b timeout] [-e] [-d] [-n] [-f delay] "
メッセージ転送サーバーはOracle Tuxedoシステムが提供するサーバーで、tpenqplus()で格納されたメッセージを後処理のために転送します。アプリケーション管理者は、*SERVERSセクションでこのサーバーをアプリケーション・サーバーとして指定することにより、アプリケーション・サーバーのメッセージ処理を自動化できます。
位置指定、サーバー・グループ、サーバー識別子、その他の汎用サーバー関連パラメータは、サーバー用に定義されている構成ファイル機構を使用して、このサーバーに関連付けられます。次のオプションがサポートされます。
-q queuename[,queuename...]
-t trantime
-i idletime
-b timeout
-e
TMQFORWARDPLUSサーバーを開始および停止できます。
-d
-n
-f delay
TMQFORWARDPLUSサーバーは、サービスからの応答を待つときにブロックすることなく、キューの次のメッセージを続けて処理できます。TMQFORWARDPLUSなどのリクエストの殺到でシステムの処理能力を超えないように調整するには、リクエストを処理する間の遅延時間を秒単位でdelay値に指定します(ゼロは遅延なし)。
メッセージは、それが読み取られるキューと同じ名前のサービスを提供するサーバーに送信されます。キューへのメッセージ登録時に優先度を指定した場合は、その優先度がメッセージの優先度になります。指定していない場合、優先度は構成ファイルで定義されているサービスの優先度か、またはデフォルト(50)になります。
メッセージは、1つのトランザクションの中でキューから取り出され、サーバーに送信されます。サービスが正常に終了すると、トランザクションはコミットされ、メッセージはキューから削除されます。メッセージが応答キューに関連付けられている場合は、サービスからの応答はいずれも、返されたtpurcodeとともに応答キューにエンキューされます。応答キューが存在しない場合、応答はドロップされます。
元のメッセージをキューに登録する場合、アプリケーションではメッセージに対する応答のサービス品質を指定できます。応答のサービス品質が指定されていない場合、応答キューに指定されているデフォルトの配信ポリシーが使用されます。デフォルトの配信ポリシーは、メッセージに対する応答がキューに登録されるときに決定される点に注意してください。つまり、元のメッセージがキューに登録されてからメッセージに対する応答が登録されるまでの間に、応答キューのデフォルトの配信ポリシーが変更された場合、応答が最後に登録される時点で有効なポリシーが使用されます。
サービスが異常終了した場合、そのキューに対する再試行制限によって指定されている回数の範囲内でトランザクションがロールバックされ、メッセージがキューに戻されます。メッセージがキューに戻される際、そのメッセージが最初にキューに登録されたときに適用された順位付けルールおよびキューからの取出しルールは、delay秒の間、一時的に効力を失います。これにより、たとえば、順位付けの低いメッセージが、キューに戻されたメッセージより先に取り出される可能性が出てきます。
-dオプションを指定した場合、サービスが異常終了し、サーバーから応答メッセージが受信されると、メッセージはキューから削除され、また、応答メッセージ(および関連するtpurcode)は、異常終了キューがそのメッセージに関連付けられており、かつ存在していればそのキューにエンキューされます。キューに設定されている再試行の制限に達すると同時にメッセージが削除されるようになっている場合、元のリクエスト・メッセージはエラー・キューに移されます。
構成によっては、TMQFORWARDPLUSがキューからメッセージを取り出せないか、メッセージを転送できないことがあり、その場合はサーバーを起動できなくなります。こうした条件では、次のことが必要です。
*GROUPS # For Windows, :myqueue becomes ;myqueue
TUXMSGQGRP LMID=lmid GRPNO=1 TMSNAME=TMS_TMQM
OPENINFO="TUXEDO/TMQM:/dev/device:myqueue"
# no CLOSEINFO is required
*SERVERS # recommended values RESTART=Y GRACE=0
TMQFORWARDPLUS SRVGRP="TUXMSGQGRP" SRVID=1001 RESTART=Y GRACE=0
CLOPT=" -- -qservice1,service2" REPLYQ=N
tpenqplus (), servopts(5), UBBCONFIG(5)
|