OTMQ_MIB
- Oracle Tuxedo Message Queue (OTMQ)の管理情報ベース
OTMQ_MIB
は、OTMQアプリケーション・キューを管理できるクラスを定義します。
各クラスの説明セクションには、次の4つのサブセクションがあります。
クラスの各属性に関する名前、型、パーミッション、値、およびデフォルト値を示す表。属性表の形式については以下に示してあります。
このMIBに含まれる各クラスは、4つの部分で記述されています。その1つが属性表です。属性表はクラス内の属性のリファレンス・ガイドであり、管理者、オペレータ、一般ユーザーがそれらの属性を使用してアプリケーションと対話するための方法を説明しています。
MIBは、共通TA_FLAGS
属性を定義します。この属性はlong型で、共通MIBフラグ値とコンポーネントMIB固有フラグ値の両方を持ちます。次のフラグの値はOTMQ_MIB
のために定義されています。これらのフラグ値は、任意の共通MIBフラグを使用してOR結合する必要があります。
QMIB_FORCECLOSE
T_OTMQSPACE
オブジェクトのTA_STATE
属性をCLEaning
に設定する場合、このフラグは、キュー・スペースの状態がACTive
であっても、状態の変更が成功する必要があることを示します。
QMIB_FORCEDELETE
T_OTMQSPACE
オブジェクトのTA_STATE
属性をINValid
に設定する場合、このフラグは、キュー・スペースの状態がACTive
であったり、そのキュー内にメッセージが存在していても、状態の変更が成功する必要があることを示します。同様に、T_OTMQ
オブジェクトのTA_STATE
属性をINValid
に設定する場合、このフラグは、メッセージが存在していたり、キュー・スペースにプロセスがアタッチされていても、キューの削除を許可します。
QMIB_FORCEPURGE
T_OTMQ
オブジェクトのTA_STATE
属性をINValid
に設定する場合、このフラグは、キューにメッセージが存在していても、状態の変更が成功する必要があることを示します。ただし、現在、選択したT_OTMQ
に格納されているメッセージがトランザクションに含まれる場合、状態の変更は失敗し、ユーザー・ログにエラーが書き込まれます。
このリファレンス・ページで説明する属性のフィールド表は、システムにインストールしたOracle Tuxedoソフトウェアのルート・ディレクトリからの相対パスで指定されるudataobj/tpadm
ファイルにあります。${TUXDIR}/udataobj
ディレクトリは、FLDTBLDIR32
環境変数で指定されるパス・リスト(Windowsの場合はセミコロン区切りのリスト、それ以外の場合はコロン区切りのリスト)にアプリケーションによって追加される必要があり、フィールド表名tpadm
は、FIELDTBLS32
環境変数で指定されるカンマ区切りのリストに追加される必要があります。
このMIBはOracle Tuxedo Message Queue 12cリリース2 (12.1.3)以上のサイトでのみ提供されます(ネイティブおよびワークステーションの両方)。
T_OTMQ
クラスは、アプリケーション・キューを表します。単一のアプリケーション・キュー・スペースに1つ以上のアプリケーション・キューが存在する可能性があります。
すべてのキー・フィールドを未設定にすると、このクラスのインスタンスをすべて検索できません。反対に、1つのアプリケーション・キュー・スペースを明示的に指定するには、適切なキー・フィールドを用意する必要があります。これらの必須キー・フィールドはTA_APPQSPACENAME
、TA_QMCONFIG
およびTA_LMID
です。ただし、アプリケーションが構成されていない場合(つまり、TUXCONFIG
環境変数が設定されていない場合)は、TA_LMID
を省略する必要があります。たとえば、TA_APPQSPACENAME
、TA_QMCONFIG
およびTA_LMID
属性が、tpcall()
を使用するリクエストに設定されると、指定されたキュー・スペース内のすべてのT_OTMQ
オブジェクトが取得されます。
b アプリケーションが構成されていない(TUXCONFIG
環境変数が設定されていない)場合を除き、TA_LMID
はキー・フィールドとして指定する必要があります。
c T_OTMQ
オブジェクトのすべての操作(GET
とSET
の両方)は、関連付けられているキュー・スペースをサイレントに開きます。つまり、キュー・スペースの状態がOPEn
またはACTive
になっていない場合、暗黙的にOPEn
に設定します。キュー・スペースが大きいと、この操作は時間がかかります。
d アプリケーション・キューの作成後は、TA_APPQORDER
を変更できません。
e 1つのアプリケーション・キュー・スペースを明示的に指定するには、GET
操作で適切なキー・フィールドを指定する必要があります。
TA_APPQNAME: string
[1..127]
TA_APPQSPACENAME: string
[1..15]
TA_QMCONFIG: string
[1..78]
TA_LMID: string
[1..30] (カンマなし)
TA_STATE
SET
操作は、選択したアプリケーション・キューの特性を変更するか、または新しいキューを作成します。次に、SET
リクエストによって返されるTA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_APPQORDER
PRIO
、TIME
またはEXPIR
です。ソート基準を組み合せる場合は、最も重要な基準を最初に指定し、その後に他の基準を指定します。さらにオプションで、LIFO
またはFIFO
(互いに排他的)を指定できます。EXPIR
が指定されると、有効期限のないメッセージは、有効期限付きのメッセージすべてが取り出された後にキューから取り出されます。FIFO
もLIFO
も指定しない場合は、FIFO
と想定されます。キューの作成時に順序を指定しないと、デフォルトの順序はFIFO
になります。たとえば、次の設定が有効です。 PRIO
PRIO,TIME,LIFO
TIME,PRIO,FIFO
TIME,FIFO
EXPIR
EXPIR,PRIO,FIFO
TIME,EXPIR,PRIO,FIFO
TA_CMD: shell-command-string
[0..127]
TA_CMDHW
に達した際に自動的に実行されるコマンド。このコマンドは、最低水位標TA_CMDLW
に達した後に最高水位標に再度達した際に再実行されます。
TA_CMDHW: 0 <= num[bBm%]
およびTA_CMDLW: 0 <= num[bBm%]
TA_CMD
属性で指定したコマンドの自動実行を制御する最高水位標と最低水位標です。いずれも0以上の整数です。TA_CMDHW
とTA_CMDLW
両方の後には、次のいずれかのキー文字を指定する必要があります。キー文字はTA_CMDHW
とTA_CMDLW
で整合性が取れている必要があります。
TA_CMDLW
が50m
、TA_CMDHW
が100m
である場合、TA_CMD
に指定されたコマンドは、キューに100のメッセージがあるときに実行されます。このコマンドは、キュー内のメッセージが50を下回った後にキューが100のメッセージで再度満たされないかぎり、再実行されません。
TA_CMDNONPERSIST: shell-command-string
[0..127]
TA_CMDNONPERSISTHW
に達した際に自動的に実行されるコマンドを指定します。このコマンドは、一時的(メモリー・ベースの配信)メッセージの最低水位標TA_CMDNONPERSISTLW
に達した後に最高水位標に再度達した際に再実行されます。
TA_CMDNONPERSISTHW: 0 <= num[bB%]
およびTA_CMDNONPERSISTLW: 0 <= num[bB%]
TA_CMDNONPERSIST
属性に指定されているコマンドの自動的な実行を制御する最高水位標および最低水位標を指定します。これらはそれぞれゼロ以上の整数で、次のいずれかのキー文字が後ろに付きます。これらのキー文字は、TA_CMDNONPERSISTHW
およびTA_CMDNONPERSISTLW
と整合性が取れている必要があります。
TA_CMDHW
およびTA_CMDLW
属性(後ろにmが付く場合)を介して指定されたメッセージのしきい値タイプは、永続的メッセージと一時的メッセージの両方を含む、キュー内のすべてのメッセージに適用されるため、TA_CMDNONPERSISTHW
およびTA_CMDNONPERSISTLW
のしきい値タイプとしては使用できません。
TA_CURBLOCKS: 0 <= num
TA_CURMSG: 0 <= num
TA_DEFAULTEXPIRATIONTIME
NONE
を使用できます。相対期限切れ時間は、メッセージがキュー・マネージャ・プロセスに達してからの一定時間をメッセージに関連付けて決定されます。メッセージが有効期限に達したとき、メッセージがキューから取り出されていない場合や管理時に削除されていない場合には、メッセージに関連付けられたすべてのリソースが解放されて、統計情報が更新されます。トランザクション中にメッセージが期限切れになった場合、期限切れによってトランザクションが失敗することはありません。トランザクション内でキューへの登録中、またはキューからの取出し中に期限切れになったメッセージは、トランザクションが終了した時点でキューから削除されます。メッセージの有効期限が切れたことの通知は行われません。キューにデフォルトの有効期限が指定されていない場合、有効期限が明示的に指定されていないキューは有効期限が切れません。キューの有効期限が変更されても、変更前にキュー内にあったメッセージの有効期限は変更されません。
+seconds
です。seconds
はキュー・マネージャが正常に操作を完了してから、メッセージが期限切れになるまでに経過する秒数です。secondsをゼロ(0)に設定した場合、メッセージはすぐ期限切れになります。この属性の値として文字列NONE
を設定することもできます。NONE
文字列を指定すると、明示的な期限切れ時間を指定せずにキューに登録されたメッセージが期限切れになりません。すでにキューにあるメッセージの期限切れ時間は、OTMQ_MIB
のT_OTMQMSG
クラスのTA_EXPIRETIME
属性で変更できます。
TA_DEFDELIVERYPOLICY
PERSIST
の場合、明示的に配信モードを指定せずにキューに登録されたメッセージは永続(ディスク・ベース)配信モードを使用して配信されます。値がNONPERSIST
の場合、明示的に配信モードを指定せずにエンキューされたメッセージは非永続(メモリー内)配信メソッドを使用して配信されます。キューのデフォルトの配信ポリシーを変更しても、変更前にキューにあったメッセージのサービスの配信品質は変化しません。変更中のキューが現在キュー・スペースにあるメッセージに対して名前が付けられている応答キューである場合、キューのデフォルトの配信ポリシーを変更しても、そのメッセージのサービスの応答品質は変わりません。
T_OTMQSPACE
クラスのTA_MEMNONPERSIST
属性がゼロ(0)である場合、一時的メッセージ用の領域は確保されません。この場合、非永続メッセージを登録しようとすると失敗します。たとえば、メッセージに対してサービスの配信の品質が指定されずに、ターゲット・キューのTA_DEFDELIVERYPOLICY
属性がNONPERSIST
に設定された場合などです。
TA_MAXRETRIES: 0 <= num
TA_OUTOFORDER: {NONE | TOP | MSGID}
TA_RETRYDELAY: 0 <= num
TA_CURNONPERSISTBYTES: 0 <= num
TA_CURNONPERSISTMSG: 0 <= num
TA_PID: 0 <= num
TA_ATTACHSTATE: {ATTACHED | NOTATTACHED}
TA_ACTIVESTATE = {Y | N}
TA_QUETYPE: {P | S | M | U}
TA_PRIMQUE: string
[1..127]
TA_PRIMQUE
はプライマリ・キューの名前です。セカンダリ・キューの場合、TA_PRIMQUE
はその制御キューの名前です。MRQまたは一時キューの場合、TA_PRIMQUEUE
は空白です。
TA_TATTACH: YY[MM[DD[hh[mm[ss]]]]]
TA_TDETACH: YY[MM[DD[hh[mm[ss]]]]]
TA_MSGSENT: 0 <= num
TA_MSGRCV: 0 <= num
TA_CONFIRM: {EO|II}
TA_TIMERESTART: 1 <= num
T_SERVER:TA_LMID
でtime(2)システム呼出しから返される、1970年1月1日の00:00:00 UTCからの秒数で表した、このサーバーが最後に起動または再起動された時刻(単位は秒)。
TA_CURTIME: 1 <= num
T_SERVER:TA_LMID
でtime(2)システム呼出しから返される、1970年1月1日の00:00:00 UTCからの秒数で表した現在時刻(単位は秒)。この属性は、T_SERVER:TA_TIMESTART
属性値およびT_SERVER:TA_TIMERESTART
属性値からの経過時間を算出するために使用できます。
T_OTMQMSG
クラスは、アプリケーション・キューに格納されているメッセージを表します。メッセージは管理者によって作成されるのではなく、tpenqplus()
の呼出しの結果として生成されます。メッセージの破棄は、tpdeqplus()
の呼出しによって行うか、管理者によって行われます。また、管理者はメッセージの特定の属性を変更できます。たとえば、管理者は同じキュー・スペース内のキュー間でメッセージを移動したり、その優先度を変更したりできます。
すべてのキー・フィールドを未設定にすると、このクラスのインスタンスをすべて検索できません。反対に、1つのアプリケーション・キュー・スペースを明示的に指定するには、適切なキー・フィールドを用意する必要があります。これらの必須キー・フィールドはTA_APPQSPACENAME
、TA_QMCONFIG
およびTA_LMID
です。ただし、アプリケーションが構成されていない場合(つまり、TUXCONFIG
環境変数が設定されていない場合)は、TA_LMID
を省略する必要があります。たとえば、TA_APPQSPACENAME
、TA_QMCONFIG
およびTA_LMID
属性が、tpcall()
を使用するリクエストに設定されると、指定されたキュー・スペース内のすべてのキューのすべてのT_OTMQMSG
オブジェクトが取得されます。
aT_OTMQMSG
クラスのすべての属性はローカル属性です。
bアプリケーションが構成されていない(TUXCONFIG
環境変数が設定されていない)場合を除き、TA_LMID
はキー・フィールドとして指定する必要があります。
c T_OTMQMSG
オブジェクトのすべての操作(GET
とSET
の両方)は、関連付けられているキュー・スペースをサイレントに開きます。つまり、キュー・スペースの状態がOPEn
またはACTive
になっていない場合、暗黙的にOPEn
に設定します。キュー・スペースが大きいと、この操作は時間がかかります。
d1つのアプリケーション・キュー・スペースを明示的に指定するには、GET
操作で適切なキー・フィールドを指定する必要があります。
TA_APPQMSGID: string
[1..32]
TA_APPQNAME: string
[1..127]
TA_APPQSPACENAME: string
[1..15]
TA_QMCONFIG: string
[1..78]
TA_LMID: string
[1..30] (カンマなし)
TA_STATE
TA_CURRETRIES: 0 <= num
TA_CORRID: string[0..32]
TA_EXPIRETIME: {YY[MM[DD[hh[mm[ss]]]]] | +seconds}
GET
操作で空の文字列が返されます。TA_EXPIRETIME
の形式は次のいずれかです。
TA_LOWPRIORITY: 1 <= num <= 100
and TA_HIGHPRIORITY: 1 <= num <= 100
TA_MSGEXPIRESTARTTIME: {YY[MM[DD[hh[mm[ss]]]]] | +seconds}
およびTA_MSGEXPIREENDTIME: {YY[MM[DD[hh[mm[ss]]]]] | +seconds|NONE}
T_OTMQMSG
オブジェクトのオカレンスを検索する有効期限の開始時刻と終了時刻。範囲には両端が含まれます。開始時刻または終了時刻は絶対時間の値で指定する必要があります。形式については、TA_EXPIRETIME: {YY[MM[DD[hh[mm[ss]]]]] | +seconds}を参照してください。これらの属性は、GET
操作でキー・フィールドとしてのみ使用できます。
TA_MSGSIZE: 0 <= num
TA_MSGSTARTTIME: {YY[MM[DD[hh[mm[ss]]]]] | +seconds}
およびTA_MSGENDTIME: {YY[MM[DD[hh[mm[ss]]]]] | +seconds}
T_OTMQMSG
オブジェクトのオカレンスを検索する開始時刻と終了時刻。範囲には両端が含まれます。開始時刻または終了時刻は絶対時間の値で指定する必要があります。形式についてはTA_TIME: {YY[MM[DD[hh[mm[ss]]]]] | +seconds}を参照してください。これらの属性は、GET
操作でキー・フィールドとしてのみ使用できます。
TA_NEWAPPQNAME: string
[1..127]
VALid
である必要があります。この属性はGET
操作によっては戻されません。移動するメッセージの配信の品質が新規キューのデフォルトの配信ポリシーの結果として変更されることはありません。有効期限のあるメッセージを移動する場合、有効期限が相対時間として前に指定されていても、有効期限は新規キューで絶対時間だとみなされます。
TA_PERSISTENCE: {PERSIST|NONPERSIST}
TA_PRIORITY: 1 <= num <= 100
TA_REPLYPERSISTENCE: {PERSIST | NONPERSIST | DEFAULT}
NONPERSIST
、永続的メッセージの場合はPERSIST
、応答を登録するキューに設定されているデフォルトの永続的メッセージを使用する場合はDEFAULT
に設定されます。
TA_TIME: {YY[MM[DD[hh[mm[ss]]]]] | +seconds}
T_OTMQSPACE
クラスはアプリケーション・キュー・スペースを表します。アプリケーション・キュー・スペースは、Oracle Tuxedoシステム・デバイス内の領域です。デバイスや属性の詳細は、TM_MIB(5)
の T_DEVICE
クラスを参照してください。各キュー・スペースには、通常は1つ以上のアプリケーション・キューが含まれます。各キューはメッセージを格納できます。
キュー・スペースは、複数の属性によって一意に識別されます。これには、名前(TA_APPQSPACENAME
属性)、キュー・スペースが含まれるデバイス(TA_QMCONFIG
属性)、およびデバイスが格納されている論理マシン(TA_LMID
属性)があります。
通常、キュー・スペースは厳密に、構成済アプリケーション内の1つのサーバー・グループに関連付けられます。キュー・スペース名およびデバイス名は、T_GROUP
オブジェクトのTA_OPENINFO
属性のコンポーネントです。
すべてのキー・フィールドを未設定にすると、このクラスのインスタンスをすべて検索できません。かわりに、3つのキー・フィールドすべてを指定して単一のアプリケーション・キュー・スペースを明示的に指定する必要があります。唯一の例外は、アプリケーションが構成されていない状況(TUXCONFIG
環境変数が設定されていない状況)でtpadmcall()
を介してローカル・キュー・スペースにアクセスする場合です。この場合、TA_LMID
キー・フィールドを省略する必要があります。
キュー・スペースのアクセス可能性に関する前述の制限は、T_OTMQ
、T_OTMQMSG
およびT_OTMQTRANS
オブジェクトにも当てはまります。これは、OTMQ MIB内のすべてのオブジェクトに対する操作にキュー・スペースが暗黙的に関与するためです。
a. T_OTMQSPACE
クラスの属性はすべてローカルです。
b.アプリケーションが構成されていない(TUXCONFIG
環境変数が設定されていない)場合を除き、TA_LMID
はキー・フィールドとして指定する必要があります。
c. T_OTMQ
、T_OTMQMSG
およびT_OTMQTRANS
オブジェクトのすべての操作(GET
とSET
)は、関連付けられているキュー・スペースをサイレントに開きます。つまり、キュー・スペースの状態がOPEn
またはACTive
になっていない場合、暗黙的にOPEn
に設定します。キュー・スペースが大きいと、この操作は時間がかかります。
d.キュー・スペースの作成後は、TA_MAXQUEUES
を変更できません。
TA_APPQSPACENAME: string
[1..15]
TA_QMCONFIG: string
[1..78]
TA_LMID: string
[1..30] (カンマなし)
TA_STATE
SET
操作は、選択したアプリケーション・キュー・スペースを変更するか、または新しいキュー・スペースを作成します。次に、SET
リクエストによって返されるTA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_BLOCKING: 0 <= num
TA_CURACTIONS: 0 <= num
OPEn
またはACTive
の場合、またはキュー・スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1
が返されます。
TA_CURCURSORS: 0 <= num
OPEn
またはACTive
の場合、またはキュー・スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1
が返されます。
TA_CUREXTENT: 0 <= num <= 100
TA_MAXPAGES
属性の値が増加するごとに、新規にエクステントが割り当てられます。この属性を変更すると、キュー・スペース内のすべての一時的メッセージは完全に失われます。
TA_CURHANDLES: 0 <= num
OPEn
またはACTive
の場合、またはキュー・スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1
が返されます。
TA_CURMEMFILTERS: 0 <= num
OPEn
またはACTive
の場合、またはキュー・スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1
が返されます。
TA_CURMEMNONPERSIST: 0 <= num
OPEn
またはACTive
の場合、またはキュー・スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1
が返されます。
TA_CURMEMOVERFLOW: 0 <= num
OPEn
またはACTive
の場合、またはキュー・スペースを新規に作成する場合に指定できます。どの条件も適用されない場合は、-1が返されます。
TA_CURMSG: 0 <= num
OPEn
またはACTive
の場合、またはキュー・スペースを新規に作成する場合にのみ指定できます。どの条件にも該当しない場合は、-1が返されます。
TA_CUROWNERS: 0 <= num
OPEn
またはACTive
の場合、またはキュー・スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1
が返されます。
TA_CURPROC: 0 <= num
TA_CURQUEUES: 0 <= num
OPEn
またはACTive
の場合、またはキュー・スペースを新規に作成する場合にのみ指定できます。どの条件にも該当しない場合は、-1
が返されます。
TA_CURTMPQUEUES: 0 <= num
OPEn
またはACTive
の場合、またはキュー・スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1
が返されます。
TA_CURTRANS: 0 <= num
TA_ERRORQNAME: string
[0..127]
TA_FORCEINIT: {Y | N}
TA_HWACTIONS: 0 <= num
CLEaning
に設定されると、この値は0にリセットされます。
TA_HWCURSORS: 0 <= num
CLEaning
に設定されると、この値は0にリセットされます。
TA_HWHANDLES: 0 <= num
TA_HWMEMFILTERS: 0 <= num
CLEaning
に設定されると、この値は0にリセットされます。
TA_HWMEMNONPERSIST: 0 <= num
TA_HWMEMOVERFLOW: 0 <= num
CLEaning
に設定されると、この値は0にリセットされます。
TA_HWMSG: 0 <= num
TA_HWOWNERS: 0 <= num
TA_HWPROC: 0 <= num
TA_HWQUEUES: 0 <= num
TA_HWTMPQUEUES: 0 <= num
CLEaning
に設定されると、この値は0にリセットされます。
TA_HWTRANS: 0 <= num
TUXCONFIG
環境変数で指定されるアプリケーションだけではなく、すべてのアプリケーションを含む値になります。キュー・スペースの状態がCLEaning
に設定されると、この値は0にリセットされます。
TA_IPCKEY: 32769 <= num <= 262143
TA_MAXACTIONS: 0 <= num
TA_MAXCURSORS: 0 <= num
TA_MAXHANDLES: 0 <= num
TA_MAXMSG: 0 <= num
TA_MAXOWNERS: 0 <= num
TA_MAXPAGES: 0 <= num
TA_MAXPAGES
属性が増加するたびに、新しいエクステントが割り当てられます(TA_CUREXTENT: 0 <= num <= 100を参照)。この属性に小さい値を指定してページ数を減少させることはできません。この場合、エラーが報告されます。
TA_MAXPROC: 0 <= num
TA_MAXQUEUES: 0 <= num
TA_MAXTMPQUEUES: 0 <= num
TA_MAXTRANS: 0 <= num
TA_MEMFILTERS: 0 <= nu
m
TA_MEMNONPERSIST: 0 <= num [bB]
[bB]
接尾辞は指定してもしなくても構いませんが、指定しなかった場合はデフォルトでブロック(B)になります。
TA_MEMNONPERSIST
が変更されると、指定されたキュー・スペース内のすべての一時的メッセージが永久に失われます。キュー・スペースのTA_MEMNONPERSIST
がゼロ(0)の場合、一時的メッセージ用の領域は確保されません。この場合、非永続メッセージを登録しようとすると失敗します。たとえば、メッセージに対してサービスの配信の品質が指定されずに、ターゲット・キューのT_OTMQ
クラスのTA_DEFDELIVERYPOLICY
属性がNONPERSIST
に設定された場合などです。非永続的配信では、メモリー領域のすべてが使用されている場合や分割されたメッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあっても、メッセージのキュー登録は異常終了します。同様に、永続ストレージのすべてが使用されているか断片化されているためにメッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあっても、メッセージの登録操作は失敗します。
TA_MEMOVERFLOW: 0 <= num
TA_MEMSYSTEMRESERVED: 0 <= num
TA_MEMTOTALALLOCATED: 0 <= num
TA_PERCENTINIT: 0 <= num <= 100
TA_FIRSTTMPQ: 0 <= num
GET
リクエストを使用して問い合せます。これはSET
リクエスト属性がTA_STATE=NEW
である場合にのみ設定できます。キュー・スペースの作成後は、TA_FIRSTTMPQ
を更新できません。
TA_MSGSENT: 0 <= num
TA_MSGRCV: 0 <= num
TA_MRSJRNSAF: {ENABLE|DISABLE}
SET
リクエストでは、値をENABLE
またはDISABLE
に設定できます。SET
を使用してSAF
ステータスを変更できるのは、キューがACTive
の場合のみです。SET
リクエスト属性がTA_STATE=NEW
であり、TA_MRSJRNSAF
がDISABLE
に設定されている場合、SAF
キューは自動的に作成されません。 GET
リクエストの場合、TA_MRSJRNSAF
によって、ENABLE
、DISABLE
またはNOTUP
が返されます。
TA_MRSJRNDQF: {ENABLE|DISABLE}
SET
リクエストでは、値をENABLE
またはDISABLE
に設定できます。SET
を使用してDQF
ステータスを変更できるのは、キューがACTive
の場合のみです。SET
リクエスト属性がTA_STATE=NEW
であり、このフィールドがDISABLE
に設定されている場合、DQF
キューは自動的に作成されません。 GET
リクエストの場合、TA_MRSJRNDQF
によって、ENABLE
、DISABLE
またはNOTUP
が返されます。
TA_MRSJRNDLJ: {ENABLE|DISABLE}
SET
リクエストでは、値をENABLE
またはDISABLE
に設定できます。SET
は、キューがACTive
の場合にのみ使用できます。 GET
リクエストの場合、TA_MRSJRNDLJ
によって、ENABLE
、DISABLE
またはNOTUP
が返されます。
TA_MRSJRNPCJ: {ENABLE|DISABLE}
SET
リクエストでは、値をENABLE
またはDISABLE
に設定できます。SET
は、キューがACTive
の場合にのみ使用できます。 GET
リクエストの場合、TA_MRSJRNPCJ
によって、ENABLE
、DISABLE
またはNOTUP
が返されます。
TA_TIMERESTART: 1 <= num
T_SERVER:TA_LMID
でtime(2)システム呼出しから返される、1970年1月1日の00:00:00 UTCからの秒数で表した、このサーバーが最後に起動または再起動された時刻(単位は秒)。
TA_CURTIME: 1 <= num
T_SERVER:TA_LMID
でtime(2)システム呼出しから返される、1970年1月1日の00:00:00 UTCからの秒数で表した現在時刻(単位は秒)。この属性は、T_SERVER:TA_TIMESTART
属性値およびT_SERVER:TA_TIMERESTART
属性値からの経過時間を算出するために使用できます。
T_OTMQTRANS
クラスは、アプリケーション・キューに関連付けられるトランザクションの実行時属性を表します。
すべてのキー・フィールドを未設定にすると、このクラスのインスタンスをすべて検索できません。反対に、1つのアプリケーション・キュー・スペースを明示的に指定するには、適切なキー・フィールドを指定する必要があります。たとえば、tpcall()
を使用して、TA_XID
を除くすべてのキー・フィールドをリクエストで設定した場合、指定されたキュー・スペースに対応するT_OTMQTRANS
オブジェクトがすべて検索されます。
このクラスのオブジェクトで表現されるトランザクションは必ずしも検索対象のアプリケーションに関連付けられないので注意してください。トランザクションは実際には別のアプリケーションに属していたり、別のアプリケーションに影響を与えたりする場合があるため、トランザクションをヒューリスティックにコミットまたは中断するときには注意が必要です。TA_XID
属性の値は、アプリケーション間でユニークであるとはかぎりません。
a.T_OTMQTRANS
クラスのすべての属性はローカル属性です。
b.T_OTMQTRANS
オブジェクトのすべての操作(GET
とSET
の両方)は、関連付けられているキュー・スペースをサイレントに開きます。つまり、キュー・スペースの状態がOPEn
またはACTive
になっていない場合、暗黙的にOPEn
に設定します。キュー・スペースが大きいと、この操作は時間がかかります。
c.1つのアプリケーション・キュー・スペースを明示的に指定するには、GET
操作で適切なキー・フィールドを指定する必要があります。
TA_XID: string
[1..78]
TA_APPQSPACENAME: string
[1..15]
TA_QMCONFIG: string
[1..78]
TA_LMID: string
[1..30] (カンマなし)
TA_STATE
GET
操作は、選択したトランザクションに関する実行時情報を検索します。次に、GET
リクエストに対する応答で返されるTA_STATE
の意味を示します。すべての状態はACTive
と同等で、パーミッションのチェックに使用します。
T_OTMQNAMING
はOTMQ NAMING
エイリアスのクラスです。このクラスを使用して、キュー・スペースのエイリアスを取得します。
T_OTMQNAMING
クラスでは、すべてのネーミング・エイリアスをリストするGETリクエストのみがサポートされています。
a.T_OTMQNAMING
クラスのすべての属性はローカル属性です。
b.アプリケーションが構成されていない(TUXCONFIG
環境変数が設定されていない)場合を除き、TA_LMID
はキー・フィールドとして指定する必要があります。
TA_APPQSPACENAME
TA_OTMQALIAS
TA_OTMQALIASSCOPE
TA_OTMQSPACETARGET
TA_OTMQTARGET
TA_STATE
GET
操作は、キュー・スペースに対する共有メモリーおよびその他のIPCリソースが割り当てられ、初期化されており、共有メモリーには現在少なくとも1つのプロセスがアタッチされていることを示す実行時情報を取得します。ネーミング・エイリアスを取得するには、キュー・ネーミング・サーバーの状態がACTive
である必要があります。
TA_LMID: string
[1..30] (カンマなし)
TSAMエージェントでは、OTMQ_MIB
を使用して、特定のTuxedoドメインで構成されたすべてのキュー・スペースを取得します。
アプリケーションが認識しているアプリケーション・キュー・スペースを表示するには、2段階の検索を行います。まず、OTMQトランザクション・マネージャTMS_TMQM
を使用するグループがアプリケーション環境設定から検索され、次に各グループが参照しているキュー・スペースが検索されます。以下のコードは、キュー・スペースを使用する各GROUP
エントリに1つの論理マシンが関連付けられていると仮定します(つまり、サーバー移行は未使用)。
/* Build the request to retrieve all TMS_TMQM groups */
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_GROUP", 0);
Fchg32(rqbuf, TA_TMSNAME, 0, "TMS_TMQM", 0);
fldid1 = TA_OPENINFO;
fldid2 = TA_LMID;
Fchg32(rqbuf, TA_FILTER, 0, (char *)fldid1, 0);
Fchg32(rqbuf, TA_FILTER, 0, (char *)fldid2, 1);
/* Make the request, assuming we are joined to the application */
rval = tpcall(".TMIB", rqbuf, 0, rpbuf, rplen, flags);
/* For each TMS_TMQM group, build the request to retrieve its queue space */
rval = Fget32(*rpbuf, TA_OCCURS, 0, (char *)occurs, NULL);
for (i = 0; i occurs; i++) {
/* Reinitialize the buffer and set all common attributes */
Finit32(rqbuf, (FLDLEN) Fsizeof32(rqbuf));
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_OTMQSPACE", 0);
/* Get the OPENINFO to determine device and queue space name */
/* OPENINFO has the format <resource-mgr>:<qmconfig>:<appqspacename> */
/* or on Windows <resource-mgr>:<qmconfig>;<appqspacename> */
rval = Fget32(rpbuf, TA_OPENINFO, i, openinfo, NULL);
/* The device is the 2nd field in OPENINFO */
qmconfig = strchr(openinfo, ':') + 1;
/* The queue space name is the 3rd field in OPENINFO */
#if defined(_TMDOWN) || defined(_TM_NETWARE)
#define pathsep ";" /* separator for PATH */
#else
#define pathsep ":" /* separator for PATH */
#endif
appqspacename = strchr(qmconfig, pathsep);
appqspacename[0] = '\e0'; /* NULL-terminate qmconfig */
appqspacename++; /* bump past the NULL */
/* Set the APPQSPACENAME and QMCONFIG keys */
Fchg32(rqbuf, TA_APPQSPACENAME, 0, appqspacename, 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, qmconfig, 0);
/* Get the LMID (assume no migration for this group) */
rval = Fget32(rpbuf, TA_LMID, i, lmid, NULL);
Fchg32(rqbuf, TA_LMID, 0, lmid, 0);
/* Make the request */
rval = tpcall(".TMIB", rqbuf, 0, rpbuf2, rplen2, flags);
}
上記のコードでは、キュー・スペースが作成されていても、アプリケーションの構成に対応するGROUP
エントリがないと、キュー・スペースは検索されません。このようなキュー・スペースは、キュー・スペースのキー・フィールド(TA_OTMQSPACENAME
、TA_QMCONFIG
およびTA_LMID
)の優先順位がわかっていなければ検索できません。
TSAMエージェントでは、OTMQ_MIB
を使用して、特定のTuxedoドメインで構成された特定のキュー・スペースに関する構成情報を取得します。
/* Build the request */
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_OTMQSPACE", 0);
Fchg32(rqbuf, TA_APPQSPACENAME, 0, "QSPACE1", 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
/* Make the request;*/
TSAMエージェントでは、OTMQ_MIB
を使用して、特定のTuxedoドメインで構成されたキュー・リストを取得します。
次のコードは、論理マシンSITE1
上のデバイス/dev/q/dsk001
のキュー・スペースQSPACE1
のすべてのキューを取得します。
/* Build the request */ Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_OTMQ", 0);
Fchg32(rqbuf, TA_APPQSPACENAME, 0, "QSPACE1", 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
/* Make the request; see above */
TSAMエージェントでは、OTMQ_MIB
を使用して、特定のTuxedoドメインで構成された特定のキューのメッセージ・カウンタおよび割当てなどの詳細情報を取得します。
/* Build the request */
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_OTMQ", 0);
Fchg32(rqbuf, TA_APPQNAME, 0, "errque", 0);
Fchg32(rqbuf, TA_APPQSPACENAME, 0, "QSPACE1", 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
/* Make the request;*/