bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo のファイル形式とデータ記述方法 > セクション 5 ―ファイル形式、データ記述方法、MIB、およびシステム・プロセスのリファレンス |
Tuxedo のファイル形式とデータ記述方法
|
診断
ACL_MIB(5) への接続時には、2 つの一般的なタイプのエラーがユーザに返される場合があります。1 つは、管理要求に対する応答を検索する 3 つの ATMI 関数 (tpcall()、tpgetrply()、および tpdequeue()) が返すエラーです。これらのエラーは、該当するリファレンス・ページの記述に従って解釈されます。
ただし、要求がその内容に対応できるシステム・サービスに正常にルーティングされても、システム・サービス側でその要求を処理できないと判断されると、アプリケーション・レベルのサービス障害としてエラーが返されます。このような場合、tpcall() と tpgetrply() は、tperrno() を TPESVCFAIL に設定してエラーを返し、以下のようにエラーの詳細を示す TA_ERROR、TA_STATUS、および TA_BADFLD フィールドと一緒に、元の要求を含む応答メッセージを返します。TMQFORWARD(5) サーバ経由でシステムに転送された要求に対してサービス障害が発生すると、元の要求で識別される異常終了キューに障害応答メッセージが追加されます (TMQFORWARD に対して -d オプションが指定されたと見なされる)。
管理要求の処理中にサービス・エラーが発生すると、TA_STATUS という FML32 フィールドにエラーの内容を説明したテキストが設定され、TA_ERROR というFML32 フィールドにはエラーの原因 (下記参照) を示す値が設定されます。以下のエラー・コードは、いずれもマイナスであることが保証されています。
以下の診断コードは TA_ERROR で戻されるもので、管理要求が正常に完了したことを示します。これらのコードはマイナスでないことが保証されています。
相互運用性
このリファレンス・ページで定義されているヘッダ・ファイルおよびフィールド・テーブルは、BEA Tuxedo リリース 6.0 以降で利用できます。これらのヘッダやテーブルで定義するフィールドはリリースが変わっても変更されません。ただし、以前のリリースで定義されていない新しいフィールドが追加される場合があります。AdminAPI には、要求を作成するために必要なヘッダ・ファイルとフィールド・テーブルがあれば、どのサイトからでもアクセスできます。T_ACLPRINCIPAL、T_ACLGROUP、および T_ACLPERM クラスは、BEA Tuxedo リリース 6.0 で追加されたものです。
移植性
BEA Tuxedo システムの MIB を使用した管理作業をサポートするために必要な既存の FML32 および ATMI 関数、さらにこのリファレンス・ページに定義するヘッダ・ファイルとフィールド・テーブルは、すべてのサポート対象ネイティブ・プラットフォームとワークステーション・プラットフォームで使用可能です。
使用例
以下に、ユーザをグループに追加し、当該グループに対するパーミッションをサービス名に追加するコードを示します。
フィールド・テーブル
属性フィールド識別子にアクセスするには、フィールド・テーブル tpadm が必要です。そのためには、次のようにシェルで入力します。
$ FIELDTBLS=tpadm
$ FLDTBLDIR=${TUXDIR}/udataobj
$ export FIELDTBLS FLDTBLDIR
ヘッダ・ファイル
次のヘッダ・ファイルがインクルードされます。
#include <atmi.h>
#include <fml32.h>
#include <tpadm.h>
ユーザの追加
以下のコードでは、デフォルト・グループ "other." にユーザを追加します。
/* 入力バッファと出力バッファを割り当てる */
ibuf = tpalloc("FML32", NULL, 1000);
obuf = tpalloc("FML32", NULL, 1000);
/* 要求タイプを定義する MIB(5) 属性を設定 *
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_ACLPRINCIPAL", 0);
/* Set ACL_MIB(5) attributes */
Fchg32(ibuf, TA_PRINNAME, 0, ta_prinname, 0);
Fchg32(ibuf, TA_PRINID, 0, (char *)ta_prinid, 0);
Fchg32(ibuf, TA_STATE, 0, (char *)"NEW", 0);
Fchg32(ibuf, TA_PRINPASSWD, 0, (char *)passwd, 0);
/* 要求を作成 */
if (tpcall(".TMIB", (char *)ibuf, 0, (char **)obuf, olen, 0) 0) {
fprintf(stderr, "tpcall failed: %s¥en", tpstrerror(tperrno));
if (tperrno == TPESVCFAIL) {
Fget32(obuf, TA_ERROR, 0,(char *)ta_error, NULL);
ta_status = Ffind32(obuf, TA_STATUS, 0, NULL);
fprintf(stderr, "Failure: %ld, %s¥en",
ta_error, ta_status);
}
/* 追加のエラー処理 */
}
ファイル
${TUXDIR}/include/tpadm.h, ${TUXDIR}/udataobj/tpadm,
関連項目
tpacall(3c)、tpalloc(3c)、tpcall(3c)、tpdequeue(3c), tpenqueue(3c)、tpgetrply(3c)、tprealloc(3c), FML 関数の紹介、Fadd、Fadd32(3fml)、Fchg、Fchg32(3fml), Ffind、Ffind32(3fml)、MIB(5)、TM_MIB(5)
『BEA Tuxedo アプリケーションの設定』
『C 言語を使用した BEA Tuxedo アプリケーションのプログラミング』
『FML を使用した BEA Tuxedo アプリケーションのプログラミング』
APPQ_MIB(5)
名前
APPQ_MIB-/Q の管理情報ベース
形式
#include <fml32.h>
#include <tpadm.h>
機能説明
/Q MIB は、アプリケーション・キューを管理するためのクラスを定義します。
管理要求のフォーマットと管理応答の解釈を行うには、APPQ_MIB(5) を共通 MIB リファレンス・ページ MIB(5) と一緒に使用します。このリファレンス・ページで説明するクラスと属性を使用し、MIB(5) の説明に従ってフォーマットした要求を使用すると、アクティブなアプリケーションの既存の ATMI インターフェイスの 1 つを通じて管理サービスを要求できます。非アクティブなアプリケーションのアプリケーション・キューは、tpadmcall() 関数インターフェイスを使用して管理できます。APPQ_MIB(5) のすべてのクラス定義の追加情報については、APPQ_MIB(5) に関する追加情報を参照してください。
APPQ_MIB(5) は、次のクラスで構成されています。
このMIB は、サーバ・キュー (TM_MIB(5) コンポーネントの T_QUEUE クラス) ではなく、アプリケーションで定義される永続的 (信頼性の高いディスク・ベースの) キューおよび非永続的 (メモリ内の) キュー (つまり /Q キュー) を示していることに注意してください。 各クラスの説明セクションには、次の 4 つのサブセクションがあります。
属性表の形式
この MIB に含まれる各クラスは、4 つの部分に分けて定義されています。その 1 つが属性表です。属性表はクラス内の属性のリファレンス・ガイドであり、管理者、オペレータ、一般ユーザがそれらの属性を使用してアプリケーションと対話するための方法を説明しています。
属性表の各属性の説明には、5 つの構成要素 (名前、タイプ、パーミッション、値、デフォルト) があります。各要素については、MIB(5) を参照してください。.
TA_FLAGS 値
MIB(5) は、共通 TA_FLAGS 属性を定義します。この属性は long 型で、共通 MIB フラグ値とコンポーネント MIB 固有フラグ値の両方を持ちます。APPQ_MIB(5) コンポーネントには、次に示すフラグ値が定義されます。これらのフラグ値は、共通 MIB フラグと一緒に使用する必要があります。
FML32 フィールド・テーブル
このリファレンス・ページで説明する属性のフィールド・テーブルは、システムにインストールした BEA Tuxedo ソフトウェアのルート・ディレクトリからの相対パスで指定される udataobj/tpadm ファイルにあります。${TUXDIR}/udataobj ディレクトリは、FLDTBLDIR 環境変数で指定されるパス・リスト (Windows の場合はセミコロンで区切り、それ以外はコロンで区切る) にアプリケーションによって追加される必要があり、フィールド・テーブル名 tpadm() は、FIELDTBLS 環境変数で指定されるカンマ区切りのリストに追加される必要があります。
制限事項
この MIB は、BEA Tuxedo システム 6.0 以降が実行されているサイト (ネイティブおよび Workstation の両方) からのみアクセスできます。
BEA Tuxedo 6.0 より前のリリースが実行されているサイトがアプリケーション内でアクティブ化された場合、この MIB による管理アクセスは次のとおり制限されます。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |