bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo のファイル形式とデータ記述方法

 Previous Next Contents View as PDF  

TM_MIB(5) に関する追加情報

診断

TM_MIB(5) への接続時には、2 つの一般的なタイプのエラーがユーザに返される場合があります。1 つは、管理要求に対する応答を検索する 3 つの ATMI 関数 (tpcall()tpgetrply()、および tpdequeue()) が返すエラーです。これらのエラーは、該当するリファレンス・ページの記述に従って解釈されます。

ただし、要求がその内容に対応できるシステム・サービスに正常にルーティングされても、システム・サービス側でその要求を処理できないと判断されると、アプリケーション・レベルのサービス障害としてエラーが返されます。このような場合、tpcall()tpcall() は、tpgetrply()TPESVCFAIL に設定してエラーを返し、以下のようにエラーの詳細を示す TA_ERRORTA_STATUS、および TA_BADFLD フィールドと一緒に、元の要求を含む応答メッセージを返します。TMQFORWARD(5) サーバ経由でシステムに転送された要求に対してサービス障害が発生すると、元の要求で識別される異常終了キューに障害応答メッセージが追加されます (TMQFORWARD に対して -d オプションが指定されたと見なされる)。

管理要求の処理中にサービス・エラーが発生すると、TA_STATUS という FM32 フィールドにエラーの内容を説明したテキストが設定され、TA_ERROR というFM32 フィールドにはエラーの原因 (下記参照) を示す値が設定されます。エラー・コードは、いずれもマイナスであることが保証されています。

[other]

すべてのコンポーネント MIB に共通のその他のエラー・リターン・コードは、MIB(5) リファレンス・ページに指定されています。これらのエラーは、ここに定義する TM_MIB(5) 固有のエラー・コードと相互に排他関係にあることが保証されています。

以下の診断コードは TA_ERROR で戻されるもので、管理要求が正常に完了したことを示します。これらのコードはマイナスでないことが保証されています。

[other]

すべてのコンポーネント MIB に共通のその他のリターン・コードは、MIB(5) リファレンス・ページに指定されています。これらのコードは、ここに定義する TM_MIB(5) 固有のリターン・コードと相互に排他関係にあることが保証されています。

相互運用性

このリファレンス・ページで定義されているヘッダ・ファイルおよびフィールド・テーブルは、BEA Tuxedo リリース 6.1 以降で利用できます。これらのヘッダやテーブルで定義するフィールドはリリースが変わっても変更されません。ただし、以前のリリースで定義されていない新しいフィールドが追加される場合があります。AdminAPI には、要求を作成するために必要なヘッダ・ファイルとフィールド・テーブルがあれば、どのサイトからでもアクセスできます。

リリースが異なるサイト (共に BEA Tuxedo リリース 6.1 以降) を相互運用する場合、当該リリースの MIB マニュアル・ページに定義されるように、旧サイト上の情報はアクセスおよび更新可能で、以降のリリースで利用可能な情報のサブセットとなります。

移植性

BEA Tuxedo システムの MIB を使用した管理作業をサポートするために必要な既存の FML32 および ATMI 関数、さらにこのリファレンス・ページに定義するヘッダ・ファイルとフィールド・テーブルは、すべてのサポート対象ネイティブ・プラットフォームとワークステーション・プラットフォームで使用可能です。

使用例

このセクションでは、tpadmcall()tpcall() を使用して 2 つのノードを持つアプリケーションをコンフィギュレーション、アクティブ化、問い合わせ、および非アクティブ化するためのコードを抜粋しています。ローカル環境に応じて値が変わる部分には変数名を使用します。たとえば、TUXCONFIG は 2 つの要素からなる文字ポインタの配列で、それぞれ要素によってマシン上の TUXCONFIG ファイルの絶対パス名を識別します。

フィールド・テーブル

属性フィールド識別子にアクセスするには、フィールド・テーブル tpadm が必要です。そのためには、次のようにシェルで入力します。

$ FIELDTBLS=tpadm 
$ FLDTBLDIR=${TUXDIR}/udataobj
$ export FIELDTBLS FLDTBLDIR

ヘッダ・ファイル

次のヘッダ・ファイルがインクルードされます。

#include <atmi.h> 
#include <fml32.h>
#include <tpadm.h>

ライブラリ

${TUXDIR}/lib/libtmib.a, ${TUXDIR}/lib/libqm.a,
${TUXDIR}/lib/libtmib.so.<rel>, ${TUXDIR}/lib/libqm.so.<rel>,
${TUXDIR}/lib/libtmib.lib

buildclient を使用するときには、ライブラリを手動でリンクする必要があります。この場合は、-L${TUXDIR}/lib -ltmib -lqm を指定する必要があります。

初期コンフィギュレーション

以下のコードでは、FML32 バッファを作成して設定しています。このFML32 バッファは、処理のために tpadmcall() に渡されます。この例ではさらに、tpadmcall() のリターン・コードの解釈を示しています。ここで示す要求により、アプリケーションの初期コンフィギュレーションが作成されます。

 /* バッファの割り当ておよび初期化 */
ibuf = (FBFR32 *)tpal loc("FML32", NULL, 4000);
obuf = (FBFR32 *)tpalloc("FML32", NULL, 4000);
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* T_DOMAIN クラス・オブジェクトに設定する TM_MIB(5) 属性を設定*/
Fchg32(ibuf, TA_OPTIONS, 0, "LAN,MIGRATE", 0);
Fchg32(ibuf, TA_IPCKEY, 0, (char *)&ipckey, 0);
Fchg32(ibuf, TA_MASTER, 0, "LMID1", 0);
Fchg32(ibuf, TA_MODEL, 0, "MP", 0);
/* TA_MASTER T_MACHINE クラス・オブジェクトの TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
Fchg32(ibuf, TA_PMID, 0, pmid[0], 0);
Fchg32(ibuf, TA_TUXCONFIG, 0, tuxconfig[0], 0);
Fchg32(ibuf, TA_TUXDIR, 0, tuxdir[0], 0);
Fchg32(ibuf, TA_APPDIR, 0, appdir[0], 0);
Fchg32(ibuf, TA_ENVFILE, 0, envfile[0], 0);
Fchg32(ibuf, TA_ULOGPFX, 0, ulogpfx[0], 0);
Fchg32(ibuf, TA_BRIDGE, 0, "/dev/tcp", 0);
Fchg32(ibuf, TA_NADDR, 0, naddr[0], 0);
Fchg32(ibuf, TA_NLSADDR, 0, nlsaddr[0], 0);
/* tpadmcall() を使用して処理を実行 */
if (tpadmcall(ibuf, obuf, 0) 0) {
fprintf(stderr, "tpadmcall failed: %s¥n", tpstrerror(tperrno));
/* 追加のエラー処理 */
}

2 つ目のマシンの追加

以下のコードでは、前のセクションで割り当てたバッファを再利用して要求バッファを作成しています。以下に示す要求により、先に確立したコンフィギュレーションに別のマシンが追加されます。

/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* T_MACHINE クラス・オブジェクトに設定する TM_MIB(5) 属性を設定*/
Fchg32(ibuf, TA_LMID, 0, "LMID2", 0);
Fchg32(ibuf, TA_PMID, 0, pmid[1], 0);
Fchg32(ibuf, TA_TUXCONFIG, 0, tuxconfig[1], 0);
Fchg32(ibuf, TA_TUXDIR, 0, tuxdir[1], 0);
Fchg32(ibuf, TA_APPDIR, 0, appdir[1], 0);
Fchg32(ibuf, TA_ENVFILE, 0, envfile[1], 0);
Fchg32(ibuf, TA_ULOGPFX, 0, ulogpfx[1], 0);
Fchg32(ibuf, TA_BRIDGE, 0, "/dev/tcp", 0);
Fchg32(ibuf, TA_NADDR, 0, naddr[1], 0);
Fchg32(ibuf, TA_NLSADDR, 0, nlsaddr[1], 0);

tpadmcall(...) /* 詳細なエラー処理については上記の例を参照のこと */

2 つ目のマシンのバックアップ・マスタの作成

既存のバッファを再利用して、新たにコンフィギュレーションした 2 つ目のマシンをこのアプリケーションのバックアップ・マスタ・サイトとして識別します。

/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));

/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);

/* Set TM_MIB(5) T_DOMAIN attributes changing *
Fchg32(ibuf, TA_MASTER, 0, "LMID1,LMID2", 0);

tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */

2 つのサーバ・グループの追加

バッファを再利用して、コンフィギュレーション済みのアプリケーションにサーバ・グループを 1 つずつ追加する要求を 2 つ作成します。2 つ目の要求は、単に既存の入力バッファの必要なフィールドを変更するためのものです。

/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));

/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_GROUP", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);

/* 1 つ目のグループを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_GRPNO, 0, (char *)&grpno[0], 0);
Fchg32(ibuf, TA_LMID, 0, "LMID1,LMID2", 0);

tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */

/* 2 つ目のグループを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP2", 0);
Fchg32(ibuf, TA_GRPNO, 0, (char *)&grpno[1], 0);
Fchg32(ibuf, TA_LMID, 0, "LMID2,LMID1", 0);

tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */

グループごとにサーバを 1 つずつ追加

割り当て済みのバッファを再利用し、グループごとに 1 つのサーバをコンフィギュレーション済みのアプリケーションに追加します。

/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));

/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVER", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);

/* 1 つ目のサーバを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&srvid[0], 0);
Fchg32(ibuf, TA_SERVERNAME, 0, "ECHO", 0)

tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */

/* 2 つ目のサーバを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP2", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&srvid[1], 0);

tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */

ルーティング基準の追加

ルーティング基準の定義を追加します。ルーティング基準は、tpcall() インターフェイスを使用して同様の操作を行うことで、動作中のアプリケーションに動的に追加することもできます。

/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));

/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_ROUTING", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);

/* ルーティング基準を定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_ROUTINGNAME, 0, "ECHOROUTE", 0);
Fchg32(ibuf, TA_BUFTYPE, 0, "FML", 0);
Fchg32(ibuf, TA_FIELD, 0, "LONG_DATA", 0);
Fchg32(ibuf, TA_RANGES, 0, "MIN-100:GRP1,100-MAX:GRP2", 26);

tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */

サービス定義の追加

上記で定義したルーティング基準に、宣言されたサービス名をマップするサービス・オブジェクトを定義します。

/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));

/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVICE", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);

/* サービス・エントリを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SERVICENAME, 0, "ECHO", 0);
Fchg32(ibuf, TA_ROUTINGNAME, 0, "ECHOROUTE", 0);

tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */

マスタ・サイトの管理プロセスのアクティブ化

T_DOMAIN クラス・オブジェクトの状態を ACTIVE に設定して、マスタ・サイトの管理プロセス (DBBL、BBL、BRIDGE) をアクティブにします。

/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));

/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "ACT", 0);

tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */

アクティブなアプリケーション管理への切り替え

これでアプリケーションがアクティブになりました。次は、アプリケーションに参加して、tpcall() インターフェイスを使用して AdminAPI 要求を作成します。

/* システムがアクティブなので、システムに管理者として参加 */ tpinfo = (TPINIT *)tpalloc("TPINIT", NULL, TPINITNEED(0));
sprintf(tpinfo->usrname, "appadmin");
sprintf(tpinfo->cltname, "tpsysadm");
if (tpinit(tpinfo) < 0) {
fprintf(stderr, "tpinit() failed: %s¥n", tpstrerror(tperrno));
/* 追加のエラー処理 */
}

/* バッファを型付きバッファとして再初期化*/
Finit32(ibuf, Fsizeof32(ibuf));
Finit32(obuf, Fsizeof32(obuf));

残りのアプリケーションのアクティブ化

アプリケーションの残り部分をアクティブにします。管理者ユーザは、要求の TA_FLAGS 属性にある TMIB_NOTIFY フラグを設定して、各サーバを起動しようとする直前または直後に任意通知型メッセージを送信するよう要求します。この例では、tpcall() からのエラー・リターンの処理を示しています。

/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));

/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_STATE, 0, "RAC", 0);

/* マシンを識別する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);

/* /AdminAPI を呼び出して結果を解釈 */
if (tpcall(".TMIB", (char *)ibuf, 0, (char **)&obuf, &olen, 0) < 0) {
fprintf(stderr, "tpcall failed: %s¥n", 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¥n",
ta_error, ta_status);

/* 追加のエラー処理 */
}

サーバ状態の問い合わせ

アクティブなサーバの状態に関する問い合わせを生成します。

/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));

/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "GET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVER", 0);
flags = MIB_LOCAL;
Fchg32(ibuf, TA_FLAGS, 0, (char *)&flags, 0);

/* マシンを識別する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&srvid[0], 0);

tpcall(...); /* 詳細なエラー処理については上記の例を参照 */

アプリケーションの非アクティブ化

各マシンの状態を INACTIVE に設定してアプリケーションを非アクティブ化します。この操作でも TMIB_NOTIFY フラグを使用できます。

/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));

/* 最初にリモート・マシンをシャットダウン*/
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_LMID, 0, "LMID2", 0);
Fchg32(ibuf, TA_STATE, 0, "INA", 0);

tpcall(....); /* 詳細なエラー処理については上記の例を参照 */

/* つづいてマスタ・マシンのアプリケーション・サーバをシャットダウン */
flags = TMIB_APPONLY;
Fchg32(ibuf, TA_FLAGS, 0, (char *)&flags, 0);
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);

tpcall(...); /* 詳細なエラー処理については上記の例を参照 */

/* アクティブなアプリケーション・アクセスを終了*/
tpterm();

/* 最後にマスタ管理プロセスを終了 */
Finit32(ibuf, Fsizeof32(ibuf));
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "INA", 0);

tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */

ファイル

${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)WS_MIB(5)

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

『BEA Tuxedo アプリケーション実行時の管理』

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

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

 


TMFFNAME(5)

形式

FactoryFinder およびサポートする NameManager サービスを実行するサーバ

構文

TMFFNAME SRVGRP="identifier" SRVID="number"
[CLOPT="[-A] [servopts
options]
[-- [-F ] [-N | -N -M [-f
filename]]]"]

機能説明

TMFFNAME は BEA Tuxedo が提供するサーバで、FactoryFinder およびサポートする NameManager サービス (アプリケーションが提供する名前とオブジェクト・リファレンスとのマッピングを管理する) を実行します。

パラメータ

-A

サーバに組み込まれているすべてのサービスを宣言します。

-F

FactoryFinder サービス。

-N

スレーブ NameManager サービス。これがデフォルトです。

--m

マスタ NameManager サービス。

-f filename

FactoryFinder のインポート・ファイルおよびエクスポート・ファイルの場所。

FactoryFinder サービスは CORBA から派生したサービスです。このサービスは、アプリケーション固有の検索基準に対応するアプリケーション・ファクトリの検出機能をクライアント・アプリケーションに提供します。FactoryFinder API の詳細については、『BEA Tuxedo CORBA プログラミング リファレンス』を参照してください。ファクトリの登録および登録解除については、『BEA Tuxedo CORBA サーバ・アプリケーションの開発方法』を参照してください。CLOPT でサービスが指定されていない場合、FactoryFinder サービスが「デフォルト」のサービスになります。

NameManager は、アプリケーションが提供する名前とオブジェクト・リファレンスとのマッピングを管理する BEA Tuxedo-固有のサービスです。このサービスの用途の 1 つとして、アプリケーション・ファクトリ名とオブジェクト・リファレンス間の対応関係を示すリストを維持することが挙げられますNameManager サービスは、-M オプションを使用してマスタ・ロールとして起動できます。-M オプションを指定しない場合、NameManager はスレーブになります。スレーブの NameManager はマスタから更新データを取得します。1 つのアプリケーションでマスタとして指定できる NameManager は 1 つだけです。

マスタ NameManager は、リモート・ドメインにあるファクトリ・オブジェクトをローカル・ドメインでアクセスできるようにコンフィギュレーションできます。また、ローカル・ドメインにあるファクトリ・オブジェクトをリモート・ドメインからアクセスできるようにコンフィギュレーションすることもできます。これらのコンフィギュレーションはいずれも、FactoryFinder Domains コンフィギュレーション・ファイル、factory_finder.ini で指定します。

factory_finder.ini ファイルの場所は、マスタ NameManager の -f コマンド行オプションで指定します。-f オプションを指定しても factory_finder.ini ファイルが見つからない場合、マスタ NameManager の初期化が失敗します。-f オプションを指定しない場合、ローカル・アプリケーションからはローカルに登録されたファクトリ・オブジェクトにしかアクセスできず、リモート・ドメイン内のアプリケーションからはローカル・ファクトリ・オブジェクトにアクセスできません。

注記 同じサービスを実行する TMFFNAME プロセスを 1 つまたは複数起動できます。信頼性を高めるには、異なるマシンで少なくとも 2 つ以上の NameManager サービスをコンフィギュレーションする必要があります。

相互運用性

TMFFNAME サーバは、BEA Tuxedo 4.0 以降のソフトウェアで動作します。

注意

アプリケーションの UBBCONFIG (TMFFNAME -N) でコンフィギュレーションされている NameManager サービスが 2 つに満たない場合、サーバは起動中に終了し、ユーザ・ログにエラー・メッセージを書き込みます。

アプリケーションの UBBCONFIG ファイルでコンフィギュレーションされていないマスタ NameManager サービスがスレーブ NameManager サービスの開始時に実行されていると、サーバは起動中に終了し、ユーザ・ログにエラー・メッセージを書き込みます。また、マスタがダウンしている場合は、マスタが再起動するまでファクトリを登録および登録解除できません。

TMSYSEVT サーバがアプリケーションの UBBCONFIG ファイルでコンフィギュレーションされておらず、NameManager サービスの開始時に実行されていない場合、サーバは起動中に終了し、ユーザ・ログにエラー・メッセージを書き込みます。

NameManager サービスがアプリケーションの UBBCONFIG ファイルでコンフィギュレーションされていない場合に FactoryFinder サービスが開始されると、サーバは起動中に終了し、ユーザ・ログにエラー・メッセージを書き込みます。

使用例

*SERVERS
TMSYSEVT SRVGRP=ADMIN1 SRVID=44 RESTART=Y
CLOPT="-A"

TMFFNAME SRVGRP=ADMIN1 SRVID=45 RESTART=Y
CLOPT="-A -- -F"

TMFFNAME SRVGRP=ADMIN1 SRVID=46 RESTART=Y
CLOPT="-A -- -N -M -f c:¥appdir¥import_factories.ini"
TMFFNAME SRVGRP=ADMIN2 SRVID=47 RESTART=Y
CLOPT="-A -- -N"
TMFFNAME SRVGRP=ADMIN3 SRVID=48 RESTART=Y
CLOPT="-A -- -F"
TMFFNAME SRVGRP=ADMIN4 SRVID=49 RESTART=Y
CLOPT="-A -- -F"

関連項目

『BEA Tuxedo CORBA プログラミング リファレンス』のfactory_finder.ini(5)TMSYSEVT(5)UBBCONFIG(5)userlog(3c) および TP Framework

 


TMIFRSVR(5)

名前

インターフェイス・リポジトリ・サーバ

形式

TMIFRSVR SRVGRP="identifier" SRVID="number" RESTART=Y GRACE=0 CLOPT="[servopts options] -- [-f repository_file_name]"

機能説明

TMIFRSVR サーバは、インターフェイス・リポジトリにアクセスするために BEA が提供するサーバです。API は、CORBA で定義されるインターフェイス・リポジトリ API のサブセットです。インターフェイス・リポジトリ API については、『BEA Tuxedo CORBA プログラミング リファレンス』を参照してください。

パラメータ

[-f repository_file_name]

インターフェイス・リポジトリ・ファイルの名前。このファイルは、あらかじめ idl2ir コマンドを使用して作成しておく必要があります。このパラメータが指定されていない場合、マシン用のアプリケーション・ディレクトリ (APPDIR) に置かれたデフォルトのリポジトリ・ファイル名 repository.ifr が使用されます。リポジトリ・ファイルが読み取れない場合、サーバは起動できません。

使用例

*SERVERS

#このサーバはデフォルトのリポジトリ TMIFRSVR を使用する
SRVGRP="IFRGRP" SRVID=1000 RESTART=Y GRACE=0

#このサーバはデフォルト以外のリポジトリ TMIFRSVR を使用する
SRVGRP="IFRGRP" SRVID=1001 RESTART=Y GRACE=0
CLOPT="-- -f /nfs/repository.ifr"

関連項目

ir2idl(1)UBBCONFIG(5)servopts(5)

 


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

サーバが読み取るキューを排出した後に、サーバがアイドル状態になる時間を指定する場合に使用します。負の値は、ミリ秒単位の時間を表します。たとえば、-i -10 の場合、アイドル時間は 10 ミリ秒となります。

値が 0 の場合、サーバがキューを連続して読み取ることを示しますが、これを指定した場合は、キューのメッセージが連続していないと効率が低下する可能性があります。指定されない場合、デフォルトは 30 秒です。

-e

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

-d

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

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

-n

TPNOTRAN フラグを使ってメッセージを送信する場合に使用します。このフラグを指定すると、リソース・マネージャに関連付けられていないサーバ・グループに転送できるようになります。

-f delay

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

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

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

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

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

-d オプションを指定した場合、サービスが異常終了し、かつサーバから応答メッセージが受信されるとメッセージはキューから削除されます。また、応答メッセージ (および関連する 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 オプションの最初の引数として指定してください。

-f firstfiles

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

サービスを宣言するための -s を指定してはなりません。

移植性

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

相互運用性

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

使用例

*GROUPS # Windows の場合、: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 アプリケーションのプログラミング』

 


TMQUEUE(5)

名前

TMQUEUE-メッセージ・キュー・マネージャ

形式

TMQUEUE 
SRVGRP="
identifier"
SRVID="
number" CLOPT=" [-A][servopts options] -- [-t timeout]"

機能説明

メッセージ・キュー・マネージャは BEA Tuxedo システムが提供するサーバで、tpenqueue() および tpdequeue() を呼び出すプログラムの代わりにキューへのメッセージの登録とキューからのメッセージの取り出しを実行します。アプリケーション管理者は、SERVERS セクションでこのサーバをアプリケーション・サーバとして指定することにより、アプリケーションでキューに対するメッセージの登録および取り出しを行うことができます。

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

-t timeout

トランザクション・モード以外でのキュー操作で使用するタイムアウトを指定するために使用します。たとえば、tpenqueue() または tpdequeue() がトランザクション・モード以外の呼び出し元から呼び出されたり、TPNOTRAN フラグを指定して呼び出されたりする場合です。この値は、TPQWAIT オプションが指定された、キューからの取り出し要求にも影響します。この値に基づいて操作がタイムアウトし、エラーが要求者に返されるからです。指定されない場合、デフォルトは 30 秒です。

TMQUEUE サーバはアプリケーションの一部として起動され、アプリケーションから関連するキュー・スペースへのアクセスを容易にします。キュー・スペースはキューの集まりです。

コンフィギュレーションの条件によっては、TMQUEUE がキューにメッセージを登録できないか、キューからメッセージを取り出せないことがあり、その場合 TMQUEUE サーバは起動時に異常終了します。SRVGRP では、TMSNAMETMS_QM に設定されている必要があり、OPENINFO には関連するデバイスおよびキュー・スペースの名前が設定されている必要があります。

メッセージ要求時のキューの名前

tpenqueue() および tpdequeue() 関数は、第 1 引数としてキュー・スペースの名前をとります。この名前は、TMQUEUE によって宣言されたサービスの名前でなければなりません。デフォルトでは、TMQUEUE はサービス "TMQUEUE" だけを提供します。キュー・スペースを 1 つだけ使用するアプリケーションの場合はこれで十分ですが、複数のキュー・スペースを持つアプリケーションでは、異なるキュー・スペース名を必要とすることがあります。また、アプリケーションによっては、キュー・スペースと同じ名前のより説明的なサービス名を指定したい場合もあります。追加サービス名の宣言は、使用例にもあるように、標準のサーバ・コマンド行オプション -s を使用して行うことができます。また、この後の項で説明するように、カスタム TMQUEUE プログラムを生成するときにサービスをハード・コード化してこれを行うこともできます。

これらの方法 (サーバ・コマンド行オプション、またはカスタマイズされたサーバ) は、キュー・スペースにメッセージの静的ルーティングを行う場合に使用できますが、データ依存型ルーティングを使用して動的なルーティングを行うこともできます。この場合、各 TMQUEUE サーバは同じサービス名を宣言しますが、コンフィギュレーション・ファイルの ROUTING フィールドが使用されて、待機メッセージ内のアプリケーション・データに基づくルーティング基準が指定されます。ルーティング関数は、サービス名とアプリケーションの型付きバッファ・データに基づいて、GROUP を返します。この GROUP を使用して、指定のグループにあるサービスにメッセージが転送されます (なお、キュー・スペースは、OPENINFO 文字列に基づいて GROUP につき 1 つしか存在できません)。

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

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

buildserver で記述されるカスタマイズは、サーバ用にサービス名をハード・コード化する場合にも使用できます。

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

buildserver -v -o TMQUEUE -s qspacename:TMQUEUE -r TUXEDO/QM ¥
-f ${TUXDIR}/lib/TMQUEUE.o -f apptypsw.o

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

-v

buildserver を冗長モードで動作させます。cc コマンドの実行結果が、標準出力へ書き込まれます。

-o name

出力ロード・モジュールのファイル名を指定します。このオプションで指定された名前は、コンフィギュレーション・ファイルの SERVERS セクション中にも指定しなければなりません。一貫性を保つために、この名前として TMQUEUE を使用することをお勧めします。

-s qspacename,qspacename :TMQUEUE

サーバの起動時に宣言できるサービスの名前を指定します(servopts(5) を参照)。このサーバでは、サービス名は要求の送信先となるキュー・スペースの名前のエイリアスとして使用されます。カンマとカンマの間に空白を入れてはいけません。関数名 TMQUEUE の前にはコロンを付けます。-s オプションは何回使用してもかまいません。

-r TUXEDO/QM

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

-f $TUXDIR/lib/TMQUEUE.o

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

-f firstfiles

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

移植性

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

相互運用性

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

使用例

*GROUPS 
# Windows の場合、:myqueue を ;myqueue にする
TMQUEUEGRP1 GRPNO=1 TMSNAME=TMS_QM
OPENINFO="TUXEDO/QM:/dev/device1:myqueue"
# Windows の場合、:myqueue を ;myqueue にする
TMQUEUEGRP2 GRPNO=2 TMSNAME=TMS_QM
OPENINFO="TUXEDO/QM:/dev/device2:myqueue"

*SERVERS
# この例では、キュー・スペース名 myqueue に ACCOUNTING というエイリアスが付けられている
TMQUEUE SRVGRP="TMQUEUEGRP1" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-s ACCOUNTING:TMQUEUE"
TMQUEUE SRVGRP="TMQUEUEGRP2" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-s ACCOUNTING:TMQUEUE"
TMQFORWARD SRVGRP="TMQUEUEGRP1" SRVID=1001 RESTART=Y GRACE=0 REPLYQ=N
CLOPT=" -- -qservice1"
TMQFORWARD SRVGRP="TMQUEUEGRP2" SRVID=1001 RESTART=Y GRACE=0 REPLYQ=N
CLOPT=" -- -qservice1"
*SERVICES
ACCOUNTING ROUTING="MYROUTING"
*ROUTING
MYROUTING FIELD=ACCOUNT BUFTYPE="FML"
RANGES="MIN - 60000:TMQUEUEGRP1,60001-MAX:TMQUEUEGRP2"

この例では、2 つのキュー・スペースを使用できます。どちらの TMQUEUE サーバも同じサービスを提供し、ルーティングはアプリケーションの型付きバッファの ACCOUNT フィールドを介して行われます。

関連項目

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

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

『BEA Tuxedo アプリケーション実行時の管理』

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

 


TMSYSEVT(5)

名前

TMSYSEVT-システム・イベント通知プロセス

形式

TMSYSEVT SRVGRP="identifier" SRVID="number" 
[CLOPT="[-A] [servopts
options]
[-- [-S] [-p
poll-seconds] [-f control-file]]"]

機能説明

TMSYSEVT は BEA Tuxedo システムが提供するサーバで、システム・エラーや潜在的なエラー状態に関するイベント通知を処理します。イベント・レポートはフィルタを通され、1 つまたは複数の通知アクションを開始できます。

フィルタや通知に関するルールは、制御ファイル control-file に格納されます。デフォルトの名前は ${APPDIR}/tmsysevt.dat です。control-file の構文は EVENT_MIB(5) に関する追加情報 で定義します。特に、EVENT_MIB のクラス属性を設定することで、通知ルールの範囲内でサブスクリプションをアクティブ化できます。

1 つまたは複数の二次的な TMSYSEVT プロセスを起動して、可用性を高めることができます。追加サーバは、「セカンダリ・サーバ」であることを示すコマンド行オプション -S を指定して起動する必要があります。

EVENT_MIB(5) に関する追加情報 のコンフィギュレーションが更新されるときには、プライマリ TMSYSEVT サーバがその制御ファイルに書き込みを行います。セカンダリ・サーバは、プライマリ・サーバの制御ファイルが更新されているかどうかをポーリングを通じてチェックし、必要であれば各自の (ローカルの) 制御ファイルを更新します。ポーリングの間隔は -p オプションで指定できます。デフォルトは 30 秒です。

相互運用性

TMSYSEVT は、BEA Tuxedo リリース 6.0 以降のマシンで実行する必要があります。

注意事項

プライマリ TMSYSEVT サーバを別のマシンに移行するには、システム管理者は現在の制御ファイルのコピーを提供する必要があります。セカンダリ TMSYSEVT サーバは、最新のコピーを自動的に維持します。

TMSYSEVT は、システム・イベントを定義した FML32 フィールド・テーブルへのアクセス手段が必要になります。FLDTBLDIR32 には $TUXDIR/udataobj が、FIELDTBLS32 には evt_mib がそれぞれ含まれている必要があります。これらの環境変数は、マシンまたはサーバの環境設定ファイルで設定できます。

使用例

*SERVERS 
TMSYSEVT SRVGRP=ADMIN1 SRVID=100 RESTART=Y GRACE=900 MAXGEN=5
CLOPT="-A --"
TMSYSEVT SRVGRP=ADMIN2 SRVID=100 RESTART=Y GRACE=900 MAXGEN=5
CLOPT="-A -- -S -p 90"

関連項目

tpsubscribe(3c), EVENTS(5)EVENT_MIB(5) に関する追加情報TMUSREVT(5)

 


tmtrace(5)

名前

tmtrace-実行時のトレース機能

機能説明

実行時トレース機能を使用すると、アプリケーション管理者および開発者は、BEA Tuxedo アプリケーションの実行をトレースできます。

実行時トレースは、アプリケーション実行時の注意すべき条件または遷移をマークする、trace point の概念に基づいています。トレース・ポイントの例としては、tpcall などの ATMI 関数へのエントリ、BEA Tuxedo メッセージの到着、トランザクションの開始などがあります。

トレース・ポイントに到達すると、次のことが発生します。まず、フィルタfilter が適用され、トレース・ポイントを処理すべきかどうかを決定します。トレース・ポイントを処理すべき場合、trace recordreceiver に発行されます。receiver はファイルか (将来は) バッファです。最後に、プロセスの中止などの action が起動されます。レシーバへの発行およびトリガはどちらもオプションであり、トレース・ポイントがフィルタを通らない場合には発生しません。

フィルタ、レシーバ、およびトリガは、trace specification で指定します。構文について以下に記述します。トレース指定は、TMTRACE 環境変数から初期化されます。実行中のプロセスのトレース指定は、トリガー・アクションによってか、tmadmin(1)changetrace コマンドを使用することで変更できます。

トレース・ポイントは、以下に列挙するような trace categories に分類されます。各トレース・ポイントは 1 つのカテゴリに属します。フィルタは、処理するトレース・カテゴリを記述し、フィルタを通らないトレース・ポイントには最小限の処理が行われます。

また、実行時トレーシングは、クライアントがサーバに送信したメッセージ (またはそのサーバから他のサーバへ) を dye 設定する機能を提供します。プロセスがメッセージをダイ設定するように選択した場合、発信元プロセスによってダイ設定が自動的に、発信元プロセスから直接または間接的にメッセージを受信するすべてのプロセスに渡されます。プロセスがダイ設定されたメッセージを受け取ると、atmi トレース・カテゴリが自動的にオンになり、ユーザ・ログへのトレース・レコードの発行が開始されます (発行が行われていなかった場合)。

ダイ設定は、トレース指定の dye トリガと undye トリガによって明示的にオンまたはオフにできます。また、ダイ設定は、ダイ設定されたメッセージが受信されたときに暗黙的にオンになり、tpreturn() および tpforward() によって暗黙的にオフにできます。ダイ設定が暗黙的にオフされた場合、ダイ設定がオンであったときに有効であったトレース指定が復元されます。

トレース・カテゴリ

トレース・カテゴリは以下のとおりです。

atmi

ATMI インターフェイスおよびTX インターフェイスへの明示的なアプリケーション呼び出し (つまり tp 関数や tx_ 関数に対する呼び出し) およびアプリケーション・サービス起動のためのトレース・ポイント。いくつか例外があります。最初の呼び出し tpinit() で ATMI 呼び出しが処理される際の tpinit に対する暗黙的な呼び出し、およびエラーが発生して tpreturn が呼び出される場合には、暗黙的な呼び出しは TX インターフェイスがATMI インターフェイスを直接呼び出すこのカテゴリーに出力されます。

iatmi

ATMI および TX インターフェイスの暗黙的な呼び出しのトレース・ポイント。これらのトレース・ポイントは、アプリケーションの要求の処理中に呼び出される内部呼び出し、および管理を目的として呼び出される内部呼び出しのすべてを示します。この値をセットすることは、atmi レベル、すなわち ATMI または TX インターフェイスのすべての呼び出し (明示的な呼び出しと暗黙的な呼び出しの両方) がトレースされることを意味します。

xa

XA インターフェイス (トランザクション・マネージャとリソース・マネージャ間のインターフェイス) のすべての呼び出しのトレース・ポイント。

trace

メッセージのダイ設定を含む、トレース機能自体に関連するトレース・ポイント。

トレース指定

トレース指定は、filter-spec: receiver-spec [ : trigger-spec] という構文で指定する文字列です。filter-spec は、検査または無視するトレース・カテゴリを記述します。receiver-spec は、トレース・レコードのレシーバです。オプションの trigger-spec は、実行するアクションを記述します。

ヌル文字列も有効なトレース指定です。ヌル文字は、他の指定がない場合のすべての BEA Tuxedo プロセスのデフォルトです。

文字列 onoff も指定できます。onatmi:ulog:dye のエイリアスで、off: :undye と等価です。

フィルタ指定

トレース指定の最初の要素であるフィルタ指定の構文は次のとおりです。

[ { + | - } ] [ category ] ...

ここで category は、上記にリストしたカテゴリの 1 つです。category の位置に記号 * を使用すると、すべてのカテゴリを表すことができます。接頭辞 + または - は、後続のカテゴリを現在有効なカテゴリのセットに追加またはそのセットから削除することを示します。+ または - の次にカテゴリがない場合、現在有効なカテゴリは変更されません。

フィルタが空の場合、カテゴリが 1 つも選択されず、トレースが使用不可になります。

トレース・ポイントが発生すると、そのカテゴリがフィルタ指定と比較されます。カテゴリがフィルタ指定に含まれている場合、トレース・ポイントは、レシーバおよびトリガ指定に従ってさらに処理されます。カテゴリが含まれていない場合、トレース・ポイントの処理はこれ以上発生しません。

レシーバ指定

レシーバは、トレース・レコードの送信先となるエンティティです。各トレース・レコードには、最大 1 つのレシーバがあります。

トレース指定の 2 番目の要素であるレシーバ指定の構文は次のとおりです。

[/ regular-expression /] receiver

ここでは、オプションの正規表現を使用して、フィルタを通過するトレース・ポイントの一部を選択できます。正規表現は、トレース・レコードと比較されます。空のレシーバ指定も有効であり、この場合、トレース・レコードは発行されません。

現在のところ、receiver の有効値は次の 1 つだけです。

ulog

トレース・レコードをユーザ・ログへ発行します。

トリガ指定

トリガは、トレース・レコードの発行後に実行されるオプションのアクションです。フィルタを通過した各トレース・レコードに対して、最大 1 つのアクションが実行されます。

トレース指定の 3 番目の要素であるトリガ指定の構文は次のとおりです。

[/ regular-expression /] action

ここでは、オプションの正規表現を使用して、フィルタを通過するトレース・ポイントの一部に対してだけトリガが実行されるよう設定できます。正規表現は、トレース・レコードと比較されます。

有効なアクションは次のとおりです。

abort

abort() を呼び出してプロセスを終了します。

ulog(message)

ユーザ・ログに message を書き込みます。

system(command)

system(3) を使用して command を実行します (これは Windows クライアントではサポートされません)。%A は、トレース・レコードの値に展開されます。

trace(trace-spec)

トレース指定を標準の trace-spec にリセットします。

dye

メッセージのダイ設定をオンにします。

undye

メッセージのダイ設定をオフにします。

sleep(seconds)

指定の秒数だけスリープ状態にします (これは Windows クライアントではサポートされません)。

トレース・レコード

トレース・レコードは、次の形式の文字列です。

cc:data

ここで cc はトレース・カテゴリの最初の 2 文字で、data はトレース・ポイントに関する追加情報です。

トレース・レコードがユーザ・ログに表示されるとき、その行は次のようになります。

hhmmss.system-name!process-name.pid: TRACE:cc:data

注意事項

MAC プラットフォームで動作するワークステーション・クライアントのレシーバやトリガに対しては、マッチ・パターンを指定することはできません。

tmadmin changetrace コマンドは、/WS クライアントに対するトレース・レベルを変更するために使用できません。

使用例

クライアントをトレースし、アプリケーション・サーバがそのクライアントの代わりに行ったすべての ATMI 呼び出しをトレースするには、クライアントの環境に TMTRACE=on を設定してエクスポートします。この指定により、クライアント内のすべての明示的な ATMI トレース・ポイントがログに記録され、メッセージのダイ設定がオンになります。こクライアントの代わりにサービスを実行するアプリケーション・サーバ・プロセスは、すべての明示的な ATMI トレース・ポイントを自動的にログに記録します。

すべての (明示的および暗黙的な) クライアント・トレース・ポイントを確認するには、次のように設定してエクスポートします。

TMTRACE="*:ulog:dye:" 

前述の例で、クライアントからのサービス要求はトレースし、クライアントからの出力のトレースを tpcall 要求についての最低限の情報に制限するには、次のように設定しエクスポートします。

TMTRACE=atmi:/tpacall/ulog:dye 

この指定により、クライアントで行われるすべての tpacall 呼び出しがログに記録され、メッセージのダイ設定がオンになります。クライアントの代わりにサービスを実行するアプリケーション・サーバ・プロセスは、すべての ATMI トレース・ポイントを自動的にログに記録します。tpacall() トレース・レコードに含まれるクライアントの識別子は、クライアントの代わりに呼び出されたサービス・ルーチンに渡される TPSVCINFO パラメータの値と相互に関連させることができます。

アプリケーション・サーバによって実行されたすべてのサービス要求の呼び出しをトレースするには、次のように設定します。

TMTRACE=atmi:/tpservice/ulog 

これは、参加しているすべてのマシン上のサーバ ENVFILE に設定します。

メッセージのダイ設定をオンにして、アプリケーションを通してすべてのトレース・カテゴリの実行時トレースを有効にするには、次のように設定してエクスポートします。

TMTRACE=*:ulog:dye 

これは、すべてのクライアント環境および参加しているすべてのマシン上のサーバ ENVFILE に設定します。この設定では、BBLDBBL を含むすべてのプロセスがトレース・レコードを発行するので、管理できない量の出力が生成される可能性があります。

グループ GROUP1 内の実行中のすべてのサーバで、起動後に ATMI のトレースをオンにするには、次のように tmadminchangetrace コマンドを呼び出します。

changetrace -g GROUP1 on 

changetrace は現在存在しているプロセスに対してのみ影響します。つまり、グループ GROUP1 内で起動していないサーバのトレース・コンフィギュレーションは変更されません (サーバのデフォルトのトレース・コンフィギュレーションを設定するには、サーバの ENVFILETMTRACE を設定します)。

現在実行中のすべてのアプリケーション・プロセスでトレーシングをオフにするには、次のように changetrace を使用します。

changetrace -m all off 

グループ GROUP1 内で識別子が 1 の実行中のサーバ・プロセスを tpreturn の実行時に中止するには、tmadmin に対して次のように指定します。

changetrace -i 1 -g GROUP1 "atmi::/tpreturn/abort" 

関連項目

tmadmin(1)userlog(3c)

 


TMUSREVT(5)

名前

TMUSREVT-ユーザ・イベント通知プロセス

形式

TMUSREVT SRVGRP="identifier" SRVID="number" 
[CLOPT="[-A] [servopts
options]
[-- [-S] [-p
poll-seconds] [-f control-file]]"]

機能説明

TMUSREVT は BEA Tuxedo システムが提供するサーバで、tppost(3c) からのイベント・レポート・メッセージ・バッファを処理し、それらにフィルタを適用して転送するイベント・ブローカとして動作します。

フィルタや通知に関するルールは、制御ファイル control-file に格納されます。デフォルトの名前は ${APPDIR}/tmusrevt.dat です。control-file の構文は EVENT_MIB(5) に関する追加情報 で定義します。特に、EVENT_MIB のクラス属性を設定することで、通知ルールの範囲内でサブスクリプションをアクティブ化できます。

1 つまたは複数の二次的な TMUSREVT プロセスを起動して、可用性を高めることができます。追加サーバは、「セカンダリ・サーバ」であることを示すコマンド行オプション -S を指定して起動する必要があります。

EVENT_MIB(5) に関する追加情報 のコンフィギュレーションが更新されるときには、プライマリ TMUSREVT サーバがその制御ファイルに書き込みを行います。セカンダリ・サーバは、プライマリ・サーバの制御ファイルが更新されているかどうかをポーリングを通じてチェックし、必要であれば各自の (ローカルの) 制御ファイルを更新します。ポーリングの間隔は -p オプションで指定できます。デフォルトは 30 秒です。

相互運用性

TMUSREVT は、BEA Tuxedo リリース 6.0 以降のマシンで実行する必要があります。

注意事項

プライマリ TMUSREVT サーバを別のマシンに移行するには、システム管理者は現在の制御ファイルのコピーを提供する必要があります。セカンダリ TMUSREVT サーバは、最新のコピーを自動的に維持します。

tppost() をトランザクション・モードで呼び出す場合は、すべての TMUSREVT サーバ・グループがトランザクション機能 (TMS プロセス) を備えている必要があります。

TMUSREVT サーバの環境変数は、メッセージにフィルタを適用したりフォーマットする際に必要となる FML フィールド・テーブルや VIEW ファイルを使用できるように設定しておく必要があります。これらの環境変数は、マシンまたはサーバの環境設定ファイルで設定できます。

使用例

*SERVERS
TMUSREVT SRVGRP=ADMIN1 SRVID=100 RESTART=Y MAXGEN=5 GRACE=3600
CLOPT="-A --"
TMUSREVT SRVGRP=ADMIN2 SRVID=100 RESTART=Y MAXGEN=5 GRACE=3600
CLOPT="-A -- -S -p 120"

関連項目

tppost(3c)tpsubscribe(3c)EVENTS(5)EVENT_MIB(5) に関する追加情報TMSYSEVT(5)

 


tperrno(5)

名前

tperrno-BEA Tuxedo システム・エラー・コード

形式

#include <atmi.h>

機能説明

エラー条件のシンボル名によって表される数値は、BEA Tuxedo システム・ライブラリ・ルーチンの実行時に発生するエラー用の tperrno に割り当てられます。

tperrno は、int 型の変更可能な lvalue の拡張です。lvalue の値は、複数の BEA Tuxedo システム・ライブラリ・ルーチンによって正のエラー番号に設定されます。tperrno はオブジェクトの識別子である必要はなく、lvalue 関数呼び出しの結果、変更可能な lvalue に拡張される場合があります。tperrno がマクロであるかまたは外部リンクで宣言される識別子であるかは特定されていません。実際のオブジェクトをアクセスするための tperrno マクロの定義が抑止されている場合、または、あるプログラムが名前 tperrno を使用して識別子を定義している場合、動作は不確定です。

BEA Tuxedo システム・ライブラリ・ルーチンのリファレンス・ページには、各ルーチンのエラー条件とそのコンテキストにおけるエラーの意味が掲載されています。掲載されているエラーの順番は重要ではなく、優先順位を示すものでもありません。tperrno の値は、エラーが指摘された後にのみ検査します。すなわち、構成要素の戻り値がエラーを示していて、構成要素の定義で tperrno のエラー時の設定が指定されている場合です。tperrno の値を検査するアプリケーションは、ヘッダ・ファイル <atmi.h> をインクルードしなければなりません。

以下に、各エラーの一般的な意味を示します。

TPEABORT

イニシエータまたは 1 つ以上のパーティシパントによって実行される処理がコミットできなかったために、トランザクションがコミットできませんでした。

TPEBADDESC

呼び出し記述子が無効であるか、会話型サービスを起動したときに使用した記述子ではありません。

TPEBLOCK

ブロッキング状態のため、TPNOBLOCK が指定されました。

TPEDIAGNOSTIC

指定されたキューへのメッセージの登録が異常終了しました。異常終了の原因は、ctl を介して返される診断値によって判別できます。

TPEEVENT

イベントが発生しました。イベントのタイプは revent で返されます。

TPEGOTSIG

シグナルを受け取りましたが、TPSIGRSTRT が指定されていません。

TPEHAZARD

ある種の障害のため、トランザクションの一部としてなされた作業がヒューリスティックに完了している可能性があります。

TPEHEURISTIC

ヒューリスティックな決定により、トランザクションの代わりに行われた処理は部分的に完了し、部分的にアボートされました。

TPEINVAL

無効な引数が検出されました。

TPEITYPE

入力バッファのタイプおよびサブタイプは、サービスが扱うタイプおよびサブタイプの 1 つではありません。

TPELIMIT

未終了の要求数または接続数が最大数に達したために、呼び出し側の要求が送信されませんでした。

TPEMATCH

svcname は、既にこのサーバについて宣言されていますが、それは、func 以外の関数で行われました。

TPEMIB

管理要求が失敗しました。outbuf が更新され、MIB(5) および TM_MIB(5) で説明するエラーの原因を示す FML32 のフィールドが設定され、呼び出し側に返されました。

TPENOENT

svc が存在していないか、または正しいサービス型でないため、svc に送信できませんでした。

TPEOS

オペレーティング・システムのエラーが発生しました。

TPEOTYPE

応答のタイプおよびサブタイプは、呼び出し側に認識されていません。

TPEPERM

クライアントはアプリケーションに参加できません。クライアントがアプリケーションへの参加を許可されていないか、または正しいアプリケーション・パスワードが提供されていないためです。

TPEPROTO

ライブラリ・ルーチンが不正なコンテキストで呼び出されました。

TPERELEASE

TPACK が指定され、ターゲットは承認プロトコルをサポートしない旧リリースの BEA Tuxedo システムのクライアントです。

TPERMERR

リソース・マネージャがオープンまたはクローズに失敗しました。

TPESVCERR

サービス・ルーチンが、tpreturn() あるいは tpforward() でエラーを検出しました (たとえば、誤った引数が渡された場合など)。

TPESVCFAIL

呼び出し側の応答を送信するサービス・ルーチンが、TPFAILtpreturn() を呼び出しました。これは、アプリケーション・レベルの障害です。

TPESYSTEM

BEA Tuxedo システム・エラーが発生しました。

TPETIME

このエラー・コードは、タイムアウトが発生したか、現在のトランザクションが既に「ロールバックのみ」としてマークされているにもかかわらずトランザクション ATMI 関数が試行されたことを示します。

呼び出し側がトランザクション・モードの場合、トランザクションに「ロールバックのみ」のマークが付けられているか、またはトランザクション・タイムアウトが発生しました。このトランザクションは、「アボートのみ」とマークされます。呼び出し側がトランザクション・モードでない場合、ブロッキング・タイムアウトが発生します。ブロッキング・タイムアウトは、TPNOBLOCK または TPNOTIME が指定されている場合は発生しません。いずれの場合も、*odata、その内容、*olen はどれも変更されません。

トランザクション・タイムアウトが発生した場合、トランザクションがアボートされない限り、新しい要求の送信や未処理の応答の受信はできず、TPETIME が発生します。ただし、例外が 1 つあります。その例外とは、ブロックされず、応答を期待せず、かつ呼び出し側のトランザクションの代わりに送信されない (つまり、TPNOTRANTPNOBLOCK および TPNOREPLY を設定して tpacall() を呼び出した場合の) 要求です。

サービスがトランザクションの内部で失敗した場合、そのトランザクションは TX_ROLLBACK_ONLY 状態に置かれます。ほとんどの場合、この状態はタイムアウトと同様に取り扱われます。このトランザクションに対する後続のすべての ATMI 呼び出し (前述の環境で発行された呼び出しを除く) は失敗し、TPETIME が発生します。

TPETRAN

呼び出し側がトランザクション・モードになりません。

使用法

ルーチンには、エラーの戻り値がないものもあります。tperrno をゼロに設定するルーチンはないため、アプリケーションは、tperrno をゼロに設定し、ルーチンを呼び出してから、エラーが発生したかを調べるために再度 tperrno をチェックできます。

関連項目

個々の BEA Tuxedo ライブラリ・ルーチンの ERRORS の項を参照してください。

 


tpurcode(5)

名前

tpurcode-アプリケーションが指定する戻りコードのための BEA Tuxedo システムのグローバル変数

形式

#include <atmi.h>

機能説明

tpurcode は、atmi.h で定義されるグローバル変数です。その値は、tpreturn()rcode 引数の値として使用されているものと同じ長さの整数です。tpurcode はアプリケーションで使用され、アプリケーション・サービスを呼び出すプロセスに追加的な情報を返す場合があります。詳細については、tpreturn() を参照してください。

アプリケーションが tpurcode の値に意味を割り当てます。

使用例

以下に、tpurcode の使用例を示します。

アプリケーション・サービスで rcode により値 myval を返す場合、次のようになります。

.
.
.
tpreturn(TPSUCCESS, myval, rqst->data, 0L, 0);
.
.
.

モジュールのコードは、次のようになります。

.
.
.
ret = tpcall("TOUPPER", (char *)sendbuf, 0, (char **)&rcvbuf, ¥ &rcvlen, (long)0);
.
.
.
(void) fprintf(stdout, "Returned string is: %s¥n", rcvbuf);
(void) fprintf(stdout, "Returned tpurcode is:%d¥n", tpurcode);

サンプル・クライアント simpcl を "My String," という値で呼び出した場合、次のように出力されます。

%simpcl "My String"
Returned string is: MY STRING
Returned tpurcode is: myval

myval の意味はアプリケーションで定義する必要があります。

関連項目

tpreturn(3c)

 


tuxenv(5)

名前

tuxenv-BEA Tuxedo システムでの環境変数のリスト

機能説明

アプリケーションのクライアントとサーバをコンパイルし、BEA Tuxedo システムを実行するには、正しい環境変数の設定とエクスポートが重要です。ここでは、最も使用頻度の高い変数について説明します。

環境変数は、以下のセクションにグループ分けされています。

オペレーティング・システム変数

CC

buildserver およびその他の BEA Tuxedo コマンドで使われる標準 C コンパイラ。

CFLAGS

C コンパイラで使用するフラグ。

EDITOR

BEA Tuxedo によって呼び出されるエディタの指定。

LANG

言語の設定をするロケールの指定。nl_types(5) を参照してください。

LOGNAME

エラー・メッセージで使うユーザ名。

LD_LIBRARY_PATH

実行時共用ライブラリのパス名に設定する必要があります。

NLSPATH

メッセージ・カタログのパス名。指定されない場合はデフォルトのパス名が使用されます。 See nlpaths(5).

PAGER

qmadmin(1)tmadmin(1) でページング出力のために使うページング・コマンド。この指定により、システムのデフォルト (UNIX オペレーティング・システムの pg(1)) は無効になます。

PATH

実行可能ファイルを検索するためのパス名。

SHELL

BEA Tuxedo によって呼び出されるシェル・プログラム。

TERM

端末を使用する場合、その端末のタイプ。

TMPDIR

一時ファイルが書き込まれるディレクトリのパス名。一時ファイルは、tmpnam() 関数 (BEA Tuxedo MIB およびその他の BEA Tuxedo コードで呼び出される) で指定される、オペレーティング・システム固有の場所に書き込むこともできます。tmpnam() の呼び出しが行われると、BEA Tuxedo システムは TMPDIR 変数を無視します。

BEA Tuxedo 6.5 以前のリリースでは、サービス・キューがいっぱいになってメッセージ・ファイルを保持できなくなると、クライアントからのメッセージ・ファイルをサービス・キューに転送する BEA Tuxedo コードは、tmpnam() 関数で指定される一時的な場所にメッセージ・ファイルを書き込み、この一時的な場所のパス名をサービス・キューに配置します。BEA Tuxedo 7.1 以降のリリースでも、このコードは旧リリースと同様に機能します。ただし、一時的な場所は TMPDIR によって指定されるディレクトリのパス名になり (この変数が設定されている場合)、TMPDIR が設定されていない場合はオペレーティング・システムによって指定されるディレクトリのパス名になります。

TZ

ANSI C mktime 関数が存在しないシステムでは、BEA Tuxedo gp_mktime(3c) 関数を使用するために TZ を設定する必要があります。

これらの変数についての詳細は、UNIX システムのリファレンス・ページ environ(5) を参照してください。

キー BEA Tuxedo システム変数

通常、以下の環境変数を設定およびエクスポートします。

APPDIR

アプリケーション・ファイルの基本ディレクトリの絶対パス名。

APP_PW

セキュリティが稼動している場合にアプリケーション・パスワードの入力を求めるシステム・クライアント用のパスワードを指定します。変数にパスワードを設定すると、そのパスワードは手動による入力ではなくスクリプトから提供されます。

ENVFILE

tmloadcf(1) で使用される変数。通常、他の BEA Tuxedo システム環境変数 (自動設定される) を含みます。

TLOGDEVICE

トランザクション・ログ用のパス名。これは、アプリケーションのコンフィグレーション・ファイルで指定されている TLOGDEVICE と同じでなければなりません。

TUXCONFIG

tmloadcf(1) でロードされるバイナリ・コンフィギュレーション・ファイルのパス名。

TUXDIR

BEA Tuxedo ソフトウェアがインストールされている基本ディレクトリ。

ULOGPFX

中央イベント・ログのファイル名に付ける接頭辞。デフォルトは ULOG です。

TPMBENC

BEA Tuxedo 8.1 以降が実行されているアプリケーション・サーバまたはクライアントが割り当て済み型付きバッファ MBSTRING に追加するコード・セット符号化名。アプリケーション・サーバまたはクライアント・プロセスが MBSTRING バッファを割り当てて送信すると、TPMBENC に定義されているコード・セット符号化名がバッファの属性として自動的に付加され、バッファ・データと一緒に目的のプロセスに送信されます。

アプリケーション・サーバまたはクライアント・プロセスが MBSTRING バッファを受信し、TPMBACONV という別の環境変数が設定されている場合、TPMBENC に定義されているコード・セット符号化名が受信バッファ内のコード・セット符号化名と比較されます。符号化名が同じでない場合、MBSTRING バッファのデータは TPMBENC に定義されている符号化に変換されてからサーバまたはクライアント・プロセスに渡されます。

TPMBENC のデフォルト値はありません。MBSTRING 型付きバッファを使用するアプリケーション・サーバまたはクライアントでは、TPMBENC を定義する必要があります。

注記 TPMBENC は、FML32 型付きバッファの FLD_MBSTRING フィールドと同じように使用されます。

TPMBACONV

BEA Tuxedo 8.1 以降が実行されているアプリケーション・サーバまたはクライアントが、受信した MBSTRING バッファ内のデータを TPMBENC に定義されている符号化に自動変換するかどうかを指定します。デフォルトでは、自動変換は無効です。つまり、受信した MBSTRING バッファ内のデータは符号化変換されず、そのままの状態で目的のサーバまたはクライアント・プロセスに渡されます。-自動変換を有効にするには、TPMBACONV をヌル以外の任意の値、たとえば Y (yes) などに設定します。

注記 TPMBACONV は、FML32 型付きバッファの FLD_MBSTRING フィールドと同じように使用されます。

URLENTITYCACHING

BEA Tuxedo 8.1 以降のソフトウェアが実行されているアプリケーション・サーバまたはワークステーションが文書型定義 (DTD)、XML スキーマ、およびエンティティ・ファイルをキャッシュするかどうかを指定します。特に、アプリケーション・サーバまたはワークステーションで実行されている Apache Xerces-C++ パーサが、検証が必要なときに DTD および XML スキーマ・ファイルをキャッシュするかどうか、または DTD で指定された外部エンティティ・ファイルをキャッシュするかどうかを指定します。デフォルトでは、キャッシュは無効 (Y) です。URLENTITYCACHINGN (no) に設定するとキャッシュが有効になります。

URLENTITYCACHEDIR

URLENTITYCACHING=Y (yes) か、または設定されていない場合にのみ適用されます。詳細については、URLENTITYCACHING を参照してください。

BEA Tuxedo 8.1 以降のソフトウェアが実行されているアプリケーション・サーバまたはワークステーションが DTD、XML スキーマ、およびエンティティ・ファイルをキャッシュするかどうかを指定します。特に、アプリケーション・サーバまたはワークステーションで実行されている Apache Xerces-C++ パーサが DTD、XML スキーマ、およびエンティティ・ファイルをキャッシュするかどうかを指定します。URLENTITYCACHEDIR 変数には、キャッシュするファイルの絶対パス名を指定します。URLENTITYCACHEDIR を指定しない場合、デフォルト・ディレクトリは URLEntityCachedir になります。このディレクトリは、アプリケーション・サーバまたはワークステーション・クライアント・プロセスの現在の作業ディレクトリに作成されます (適切な書き込みパーミッションが設定されている場合)。

これらの変数の詳細については、『C 言語を使用した BEA Tuxedo アプリケーションのプログラミング』、『BEA Tuxedo アプリケーションの設定』、および『BEA Tuxedo アプリケーション実行時の管理』を参照してください。

フィールド・テーブル・ファイルおよび VIEW ファイル用の変数

FML および VIEWS で使用される環境変数は以下のとおりです。

FIELDTBLS

カンマで区切ったフィールド・テーブル・ファイルのリスト。

VIEWFILES

カンマで区切ったバイナリ VIEW ファイルのリスト。

FLDTBLDIR

FIELDTBLS ファイルの検索先ディレクトリのコロン区切りのリスト。

VIEWDIR

VIEWFILES ファイルの検索先ディレクトリのコロン区切りのリスト。

これらの変数の詳細については、『BEA Tuxedo アプリケーションの設定』、『BEA Tuxedo アプリケーション実行時の管理』、『C 言語を使用した BEA Tuxedo アプリケーションのプログラミング』、および『FML を使用した BEA Tuxedo アプリケーションのプログラミング』を参照してください。

ファイル・システムおよび TLOG 変数

以下の変数は、BEA Tuxedo システムのファイル・システムおよびトランザクション・ログで使用します。

FSCONFIG

汎用デバイス・リストのパス名。

FSMAXCOMMIT

コミット・バッファの最大サイズを設定します。

FSMAXUPDATE

更新リストのサイズと更新回数の最大値を設定します。

FSMSGREP

メッセージを繰り返す間隔を設定します。

FSOFFSET

汎用デバイス・リスト内のオフセットを指定します。

ワークステーション変数

以下の変数は、/WS クライアント・マシンで使用します。

TPMBENC

キー BEA Tuxedo システム変数を参照してください。

TPMBACONV

キー BEA Tuxedo システム変数を参照してください。

URLENTITYCACHING

キー BEA Tuxedo システム変数を参照してください。

URLENTITYCACHEDIR

キー BEA Tuxedo システム変数を参照してください。

WSINTOPPRE71

BEA Tuxedo リリース 7.1 以降のソフトウェアを実行しているワークステーション・マシンと、BEA Tuxedo リリース 7.1 より前のアプリケーションを相互運用できるかどうかを指定します。変数を Y に設定すると (WSINTOPPRE71=Y)、相互運用が可能になります。

WSBUFFERS

アプリケーションごとのパケット数。

WSDEVICE

ネットワークのアクセスで使用するネットワーク・デバイス。BEA Tuxedo リリース 6.4 以降のワークステーション・クライアントの場合、この変数は必要ありません。

WSENVFILE

ワークステーション・クライアント環境変数を含むファイルのパス名。

WSFADDR

別のマシンに接続する際にワークステーション・クライアントが使用するネットワーク・アドレス。この変数は、WSFRANGE 変数と共に、アウトバウンド接続を確立する前にプロセスがバインドを試みる TCP/IP ポートの範囲を決定します。

WSFRANGE

アウトバウンド接続を確立する前にネイティブ・プロセスがバインドを試行するTCP/IP ポートの範囲。WSFADDR 変数は、この範囲のベース・アドレスを指定します。

WSNADDR

ネイティブ・サイト・ネットワーク・リスナのネットワーク・アドレス

WSRPLYMAX

メッセージを転送用ファイルにダンプする前の最大メッセージサイズ。

WSTYPE

ワークステーションのマシン・タイプ。

これらの変数の詳細については、『BEA Tuxedo Workstation コンポーネント』を参照してください。

BEA Tuxedo /Q 変数

以下の変数は、BEA Tuxedo /Q で使用します。

QMCONFIG

BEA Tuxedo /Q でキュー・スペースを使用できるデバイスを設定します。

詳細については、『BEA Tuxedo /Q コンポーネント』を参照してください。

COBOL 変数

以下の環境変数は、COBOL で使用します。

ALTCC

COBOL のコンパイルに使用するコンパイラを指定します。

ALTCFLAGS

COBOL コンパイラに渡すフラグ。

注記 Windows システムでは、環境変数 ALTCC および ALTCFLAGS は使用できません。これらを設定すると予期しない結果が生じます。最初に COBOL コンパイラを使用してアプリケーションをコンパイルし、次に生成されたオブジェクト・ファイルを buildclient(1) または buildserver(1) コマンドに渡す必要があります。

COBCPY

COBOL の複写ファイルを検索するディレクトリ。

COBDIR

COBOL のコンパイラ・ソフトウェアを入れるディレクトリを指定します。

COBOPT

COBOL コンパイラ用のコマンド行引数を指定します。

これらの変数の詳細については、『COBOL を使用した BEA Tuxedo アプリケーションのプログラミング』を参照してください。

その他の変数

以下の環境変数も使用できます。

MHSCACHE

オープンしておくメッセージ・カタログ (BEA Tuxedo システム・メッセージのみ) の数を指定します。デフォルト値は 3 です。

PMID

MP モードで、物理マシン ID を指定できます。また、可用性の高い (HA) 環境では、PMID を使用して、UBBCONFIG ファイルで指定されたマシン名を代替マシン名に置き換えることができます。これにより、マスタ・マシンをマスタから HA クラスタ内のバックアップに移行できます。

TAGENTLOG

tlisten(1) ログのパス名を指定します。

TMCMPLIMIT

メッセージを圧縮するかどうかを指定し、ローカル・メッセージとリモート・メッセージのしきい値を設定します。この変数の構文は次のとおりです。

TMCMPLIMIT=[remote_threshold[,local_threshold]]

しきい値は、0 から MAXLONG までの数字です。この数字により、データ圧縮を行うメッセージの最小バイト・サイズが設定されます。

TMCMPPRFM

プロセスの圧縮レベルを設定します。有効値は整数 1 から9 までです。1 を設定すると、圧縮レベルは若干落ちますが、処理時間が短くなります。プロセスが TMCMPPRFM を読み取ると、ULOG メッセージが書き込まれます。

TMNETLOAD

ネットワークのロード・バランシングを設定します。この値は、リモート・サービスのロード・ファクタに加えられる任意のユニット数です。この変数を使用すると、ローカル・サービスが強制的に使用されます。

TMNOTHREADS

マルチスレッド処理をオフにするには、この変数を yes に設定します。スレッドを使用しないアプリケーションの場合、マルチスレッド処理をオフにすると、ミューテックス関数の呼び出しが減り、パフォーマンスが大幅に向上します。

TMSICACHEENTRIESMAX

プロセス単位でキャッシュするサービスおよびインターフェイスの量を指定します。有効値は 0 から 32,767 までの整数です。この変数の設定値は、UBBCONFIG ファイルに指定される値に優先します。

UIMMEDSIGS

信号の遅れを無効にするには、この変数を Y に設定します。

関連項目

buildclient(1)buildserver(1)viewc、viewc32(1)

UNIX システムのリファレンス・マニュアルの cc(1)environ(5)

 


tuxtypes(5)

名前

tuxtypes-バッファ・タイプ・スイッチ、BEA Tuxedo システムによって提供されるバッファ・タイプの説明

形式

デフォルトのバッファ・タイプ・スイッチ

/*
* 以下の定義は、
* $TUXDIR/lib/tmtypesw.c に指定されている
*/
#include <stdio.h>
#include <tmtypes.h>
/* 
* バッファ・タイプ・スイッチの初期化
*/
struct tmtype_sw_t tm_typesw[] = { 
{
"CARRAY", /* type */
"*", /* subtype */
0 /* dfltsize */
NULL, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
NULL, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
NULL, /* encdec */
NULL, /* route */
NULL, /* filter */
NULL, /* format */
NULL, /* presend2 */
NULL /* multibyte code-set encoding conversion */
},
{
"STRING", /* type */
"*", /* subtype */
512, /* dfltsize */
NULL, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
_strpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_strencdec, /* encdec */
NULL, /* route */
_sfilter, /* filter */
_sformat, /* format */
NULL, /* presend2 */
NULL /* multibyte code-set encoding conversion */
},
{
"FML", /* type */
"*", /* subtype */
1024, /* dfltsize */
_finit, /* initbuf */
_freinit, /* reinitbuf */
_funinit, /* uninitbuf */
_fpresend, /* presend */
_fpostsend, /* postsend */
_fpostrecv, /* postrecv */
_fencdec, /* encdec */
_froute, /* route */
_ffilter, /* filter */
_fformat, /* format */
NULL, /* presend2 */
NULL /* multibyte code-set encoding conversion */
},
{
"VIEW", /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit, /* initbuf */
_vreinit, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec, /* encdec */
_vroute, /* route */
_vfilter, /* filter */
_vformat, /* format */
NULL, /* presend2 */
NULL /* マルチバイト・コード・セット符号化変換 */
},
{
/* XATMI - CARRAY と同じ */
"X_OCTET", /* type */
"*", /* subtype */
0 /* dfltsize */
},
{ /* XATMI - VIEW と同じ */
      {'X','_','C','_','T','Y','P','E'},      /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit, /* initbuf */
_vreinit, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec, /* encdec */
_vroute, /* route */
_vfilter, /* filter */
_vformat, /* format */
NULL, /* presend2 */
NULL /* マルチバイト・コード・セット符号化変換 */
},
{
/* XATMI - VIEW と同じ */
{'X','_','C','O','M','M','O','N'}, /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit, /* initbuf */
_vreinit, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec, /* encdec */
_vroute, /* route */
_vfilter, /* filter */
_vformat, /* format */
NULL, /* presend2 */
NULL /* マルチバイト・コード・セット符号化変換 */
},
{
"FML32", /* type */
"*", /* subtype */
1024, /* dfltsize */
_finit32, /* initbuf */
_freinit32, /* reinitbuf */
_funinit32, /* uninitbuf */
_fpresend32, /* presend */
_fpostsend32, /* postsend */
_fpostrecv32, /* postrecv */
_fencdec32, /* encdec */
_froute32, /* route */
_ffilter32, /* filter */
_fformat32, /* format */
_fpresend232 /* presend2 */
      _fmbconv32       /* マルチバイト・コード・セット符号化変換 */
},
{
"VIEW32", /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit32, /* initbuf */
_vreinit32, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend32, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec32, /* encdec */
_vroute32, /* route */
_vfilter32, /* filter */
_vformat32, /* format */
NULL, /* presend2 */
NULL /* マルチバイト・コード・セット符号化変換 */
},
{
"XML", /* type */
"*", /* subtype */
0, /* dfltsize */
NULL, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
NULL, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
NULL, /* encdec */
_xroute, /* route */
NULL, /* filter */
NULL, /* format */
NULL, /* presend2 */
NULL /* マルチバイト・コード・セット符号化変換 */
},
{
"MBSTRING", /* type */
"*", /* subtype */
0, /* dfltsize */
_mbsinit, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
NULL, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
NULL, /* encdec */
NULL, /* route */
NULL, /* filter */
      NULL,           /* format */
NULL, /* presend2 */
_mbsconv /* マルチバイト・コード・セット符号化変換 */
},
{
""
}
};
struct tmtype_sw_t _TM_FAR *
_TMDLLENTRY
_tmtypeswaddr(void)
{
return(tm_typesw);
}

機能説明

次の表に、BEA Tuxedo システムの 11 のバッファ・タイプを示します。

CARRAY

送信時に符号化も復号化も行われない文字配列 (多くの場合 NULL 文字を含む)。

STRING

NULL で終了する文字配列。

FML

FML フィールド化バッファ。

VIEW

C 構造体または FML VIEW。

X_OCTET

CARRAY に相当するもので、XATMI との互換性のために提供されています。

X_C_TYPE

VIEW に相当するもので、XATMI との互換性のために提供されています。

X_ COMMON

VIEW に相当するもので、XATMI との互換性のために提供されています。

FML32

32 ビット識別子またはオフセットを使用した、FML32 フィールド化バッファ。

VIEW32

32 ビット識別子、カウンタ変数、およびサイズ変数を使用した、C 構造体または FML32 VIEW。

XML

XML 文書用のバッファ

MBSTRING

マルチバイト文字用の文字配列。


 

すべての VIEW、X_C_TYPE、および X_COMMON バッファは同じルーチン・セットで処理され、特定の VIEW の名前はそのサブタイプの名前です。

カスタム・バッファ・タイプを指定する場合には、上記の tm_typesw 配列にインスタンスを追加します。新しいバッファ・タイプを追加したり、既存のバッファ・タイプを削除したりする場合は、上に示したように配列の最後に NULL エントリを残しておく必要があります。バッファ・タイプに NULL 名を指定することはできません。

デフォルトの配列のコピーは $TUXDIR/lib/tmtypesw.c で配布され、開始点として使用されます。新しいバッファ・タイプ・スイッチをインストールする手順として推奨されるのは、tmtypesw.c をコンパイルし、libbuft というライブラリ内に唯一の要素として格納することです。

共有オブジェクト機能を持つシステムでは、$TUXDIR/lib の下に libbuft.so. という新しいインスタンスを作成およびインストールします。WSH などの BEA Tuxedo システム・プロセスを含むすべてのプロセスは、再コンパイルしなくても新しいタイプ・スイッチに自動的にアクセスできるようになります。Windows のワークステーションでは、バッファ・タイプ・スイッチのための共有オブジェクトは WBUFT.DLL です。これは、$TUXDIR¥bin に格納される必要があります。

共有オブジェクト機能をもたないシステムでは、$TUXDIR/lib の下に libbuft.a という新しいインスタンスを作成およびインストールします。新しいタイプについて知る必要があるすべてのプロセスは、buildclient(1) または buildserver(1) を使用して再作成する必要があります。WSH のようなシステム・プロセスは、buildwsh(1) などの特別なコマンドで再作成する必要があります。

バッファ・タイプ・スイッチの要素とルーチンについては、buffer(3c) を参照してください。そこでは、システム標準のバッファ・タイプを変更するときにアプリケーションが使用できる BEA Tuxedo システムのデフォルト・ルーチン (_finit() など) についても説明されています。

システムに用意されている _froute()_vroute()、および _xroute() の 3 つのルーティング関数は、それぞれ FML バッファ、VIEW バッファ、および XML バッファのデータ依存型ルーティングに使用されます。これら 3 つの関数で使用するルーティング基準の定義方法については、UBBCONFIG(5) を参照してください。

ファイル

$TUXDIR/tuxedo/include/tmtypes.h-タイプ・スイッチの定義
$TUXDIR/lib/tmtypesw.c-デフォルト・タイプ・スイッチのインスタンス
$TUXDIR/lib/libbuft.so.-タイプ・スイッチ共有オブジェクト
$TUXDIR/lib/libbuft.a-タイプ・スイッチ・アーカイブ・ライブラリ

関連項目

buffer(3c)typesw(5)UBBCONFIG(5)

 


typesw(5)

名前

typesw-バッファ・タイプ・スイッチ構造体、各バッファ・タイプに必要なパラメータとルーチン

形式

バッファ・タイプ構造体

/*
* 以下の定義は、$TUXDIR/include/tmtypes.h に存在する
*/
#define TMTYPELEN ED_TYPELEN
#define TMSTYPELEN ED_STYPELEN
struct tmtype_sw_t {
char type[TMTYPELEN]; /* バッファのタイプ */
char subtype[TMSTYPELEN]; /* バッファのサブタイプ */
long dfltsize; /* バッファのデフォルト・サイズ */
/* バッファ初期化関数ポインタ */
int (_TMDLLENTRY *initbuf) _((char _TM_FAR *, long));
   /* バッファ再初期化関数ポインタ */
int (_TMDLLENTRY *reinitbuf) _((char _TM_FAR *, long));
   /* バッファ非初期化関数ポインタ */
int (_TMDLLENTRY *uninitbuf) _((char _TM_FAR *, long));
   /* バッファ送信前操作関数ポインタ */
long (_TMDLLENTRY *presend) _((char _TM_FAR *, long, long));
   /* バッファ送信後操作関数ポインタ */
void (_TMDLLENTRY *postsend) _((char _TM_FAR *, long, long));
   /* バッファ受信後操作関数ポインタ*/
long (_TMDLLENTRY *postrecv) _((char _TM_FAR *, long, long));
   /* XDR 符号化/復号化関数ポインタ */
long (_TMDLLENTRY *encdec) _((int, char _TM_FAR *, long, char _TM_FAR *, long));
   /* ルーティング関数ポインタ */
int (_TMDLLENTRY *route) _((char _TM_FAR *, char _TM_FAR *, char _TM_FAR *,
long, char _TM_FAR *));
   /* バッファ・フィルタ関数ポインタ */
int (_TMDLLENTRY *filter) _((char _TM_FAR *, long, char _TM_FAR *, long));
   /* バッファ・フォーマット関数ポインタ */
int (_TMDLLENTRY *format) _((char _TM_FAR *, long, char _TM_FAR *,
char _TM_FAR *, long));
   /* 送信前のバッファの処理、コピーを生成する場合がある */
long (_TMDLLENTRY *presend2) _((char _TM_FAR *, long,
long, char _TM_FAR *, long, long _TM_FAR *));
   /* マルチバイト・コード・セット符号化変換関数ポインタ*/
long (_TMDLLENTRY *mbconv) _((char _TM_FAR *, long,
char _TM_FAR *, char _TM_FAR *, long, long _TM_FAR *));
   /* この領域は将来の拡張のために予約されている */
void (_TMDLLENTRY *reserved[8]) _((void));
};
/*
* アプリケーション・タイプ・スイッチ・ポインタ
* テーブルへのアクセス時には常にこのポインタを使用
*/
extern struct tmtype_sw_t *tm_typeswp;

機能説明

バッファ・タイプとサブタイプには、バッファが操作されるときに適切なルーチンが呼び出されるようにするため、tm_typesw 配列内にエントリが必要です。BEA Tuxedo システムに用意されているバッファ・タイプについては、tuxtypes(5)を参照してください。

カスタマイズしたバッファ・タイプを指定する場合は、$TUXDIR/lib/tmtypesw.c.tm_typesw 配列にインスタンスを追加します。この方法については、tuxtypes(5) を参照してください。新しいタイプを追加する場合に指定する必要があるルーチンのセマンティクスについては、buffer(3c) を参照してください。

ファイル

$TUXDIR/tuxedo/include/tmtypes.h-タイプ・スイッチの定義
$TUXDIR/lib/tmtypesw.c-タイプ・スイッチのインスタンス

関連項目

buffer(3c), tuxtypes(5)

 


UBBCONFIG(5)

名前

UBBCONFIG-テキスト形式の BEA Tuxedo コンフィギュレーション・ファイル

機能説明

BEA Tuxedo アプリケーションが起動するとき、tmboot コマンドは TUXCONFIG というバイナリ・コンフィギュレーション・ファイルを参照して、アプリケーション・サーバの起動処理と掲示板の初期化処理を順番に行うために必要な情報を取得します。このバイナリ・ファイルは直接作成できるものではなく、UBBCONFIG と呼ばれるテキスト・ファイルから作成する必要があります。アプリケーションをコンフィギュレーションするには、管理者はテキスト・エディタで UBBCONFIG ファイルを作成し、次に tmloadcf(1) コマンドを実行してそのファイルをバイナリ形式の TUXCONFIG にロードします。アプリケーションが実行されている間、TUXCONFIG ファイルはさまざまな BEA Tuxedo 管理ツールによって使用されます。tmadmin(1) は、システムの監視活動時にコンフィギュレーション・ファイル (またはそのコピー) を使用します。また、tmshutdown(1) はコンフィギュレーション・ファイルを参照して、アプリケーションをシャットダウンするために必要な情報を調べます。

BEA Tuxedo UBBCONFIG ファイルにはどのような名前を付けることもできますが、ファイルの内容はこのリファレンス・ページで説明する形式に準拠している必要があります。また、TUXCONFIG ファイルにも任意の名前を付けることができますが、実際の名前は TUXCONFIG 環境変数で指定されたデバイス・ファイル名またはシステム・ファイル名になります。

UBBCONFIG ファイル全体の詳細については、UBBCONFIG(5) に関する追加情報を参照してください。

定義

サーバとは、要求を受け付け、その応答をクライアントや別のサーバに送信するプロセスです。一方、クライアントは要求を送信し、その応答を受け取ります。

リソース・マネージャとは、情報やプロセス (またはその両方) の集まりへのアクセスを提供するインターフェイスおよび関連ソフトウェアです。リソース・マネージャの例としては、データベース管理システムがあります。リソース・マネージャのインスタンスとは、DBMS によって制御される、特定のデータベースのインスタンスのことです。分散トランザクションとは、複数のリソース・マネージャのインスタンスにまたがるトランザクションのことで、tpbegin() で開始され、tpcommit() または tpabort() で完了します。

サーバ・グループはリソース・マネージャのインスタンスであり、特定のマシン上に配置されたこのリソース・マネージャ・インスタンスへのアクセスを提供するサーバやサービスの集合です。このサーバ・グループに関連付けられている XA インターフェイスは、トランザクション管理に使用されます。サーバがリソース・マネージャのインスタンスにアクセスしないか、または分散型トランザクションの一部としてリソース・マネージャのインスタンスにアクセスしない場合は、そのサーバはサーバ・グループにあって、空の XA インターフェイスを持つ必要があります。NULL同様に、クライアントは GROUPS セクションで指定する必要のない、特別なクライアント・グループ内で動作します。このクライアント・グループはリソース・マネージャには関連付けられません。

リモート・ドメインは、この BEA Tuxedo システム・コンフィギュレーションの掲示板が使用できない環境として定義されます。リモート・ドメインは UBBCONFIG コンフィギュレーション・ファイルには指定せず、ホスト固有のリファレンス・ページに指定されているホスト固有の環境変数を介して定義します。

コンフィギュレーション・ファイルの形式

UBBCONFIG ファイルは、9 つの指定セクションで構成されます。先頭にアスタリスク (*) が付いている行は、指定セクションの始まりを示します。このような行にはそれぞれ、* のすぐ後にセクション名が含まれています。使用可能なセクションは次のとおりです。

RESOURCES および MACHINES セクションは、この順序で最初に置く必要があります。GROUPS セクションは、SERVERSSERVICES、および ROUTING セクションの前になければなりません。NETGROUPS セクションは、NETWORK セクションの前になければなりません。

RESOURCES セクション以外のパラメータは、一般に KEYWORD = value という形式で指定します。等号(=) の両側で、空白類 (スペースやタブ文字) を使用できます。この形式により、KEYWORDvalue に設定されます。有効なキーワードについては、以下の各セクションで説明します。

予約語の DEFAULT で始まる行にはパラメータ指定が含まれており、セクション内の以降の該当するすべての行に対して適用されます。デフォルトの指定は RESOURCES セクション以外のすべてのセクションで使用することができ、また 1 つのセクションで複数回使用することもできます。これらの行のフォーマットは次のとおりです。

DEFAULT: [optional KEYWORD=value pairs]

この行で設定した値は、別の DEFAULT 行によってリセットされるか、セクションが終わるまで有効です。これらの値は、DEFAULT でない行のオプション・パラメータによって無効になる場合もあります。DEFAULT でない行におけるパラメータ設定は、その行でのみ有効です。以降の行ではデフォルト設定に戻ります。DEFAULT が行頭に表示されると、それ以前に設定されたすべてのデフォルト値はクリアされ、システムのデフォルト値に戻ります。

値がnumeric の場合は、C の標準表記法を使用して基数を示します。つまり、基数 16 (16 進) の接頭辞は 0x、基数 8 (8 進) の接頭辞は 0、基数10 (10 進) には接頭辞が付きません。数値パラメータに指定できる値の範囲は、そのパラメータの説明の下に示されています。

値が identifier (SECURITY パラメータの APP_PW のように BEA Tuxedo システムにとって既知の文字列値) の場合、一般的に標準 C 規則が使用されます。標準 C の identifier の先頭には英字またはアンダースコア (_) を使用し、以降の識別子には英数字またはアンダースコアを使用する必要があります。identifier の長さは最大 30 バイトです (最後のヌルを除く)。

注記 識別子を二重引用符で囲む必要はありません。

整数でも識別子でもない値は、二重引用符で囲む必要があります。この値はユーザ定義の string です。ユーザ定義の文字列は、最後のヌル文字を除き最大 78 文字 (バイト) です。この規則には、以下のような例外があります。

ROUTING セクションの RANGES パラメータでは、特定の文字はバックスラッシュを用いることによって文字列の中でエスケープすることができます。

"¥¥" は 1 つのバックスラッシュ
"¥"" は二重引用符
"¥n" は復帰改行
"¥t" はタブ
"¥f" は用紙送り
"¥O+" は 8 進数の値が 0+ である文字と解釈

O+ は 1 桁、2 桁、または 3 桁の 8 進文字を表します。"¥0" は、埋め込みヌル文字と解釈されます。"¥xH+" または "¥XH+" は、16 進数の値が H+ である文字と解釈されます。H+ は 1 桁または複数桁の 16 進文字です。"¥y" (‘y’ は上記以外のすべての文字) は、‘y’ と解釈されます。

"#" (シャープ記号) はコメントを示します。復帰改行文字でコメントを終了します。

識別子または数値定数には、常に空白類 (スペースまたはタブ文字)、復帰改行文字、または句読文字 (シャープ記号、等号、アスタリスク、コロン、カンマ、バックスラッシュ、またはピリオド) が付加されます。

空白行とコメントは無視されます。

コメントは任意の行の最後に自由に入力できます。

行は、復帰改行の後に最低 1 つのタブを置いて継続できます。コメントを継続することはできません。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy