TPBroker Version 5　トランザクショナル分散オブジェクト基盤　TPBroker 運用ガイド

手引書

3021-3-J29

前書き

対象製品

●適用OS：Windows Server 2016，Windows Server 2019，Windows 10 x64

P-2964-AF64 Cosminexus TPBroker 05-24-01

●適用OS：AIX V7.1，AIX V7.2

P-1M64-CF61 Cosminexus TPBroker 05-24-01

●適用OS：Red Hat Enterprise Linux 7.1 (AMD/Intel 64)，Red Hat Enterprise Linux 8.1 (AMD/Intel 64)

P-9S64-AF61 Cosminexus TPBroker 05-25

これらのプログラムプロダクトのほかにもこのマニュアルをご利用になれる場合があります。詳細は「リリースノート」でご確認ください。

輸出時の注意

本製品を輸出される場合には、外国為替及び外国貿易法の規制並びに米国輸出管理規則など外国の輸出関連法規をご確認の上、必要な手続きをお取りください。

なお、不明な場合は、弊社担当営業にお問い合わせください。

商標類

HITACHI，Cosminexus，HAモニタ，JP1，ServerConductor，TPBrokerは，株式会社 日立製作所の商標または登録商標です。

IBM，AIXは，世界の多くの国で登録されたInternational Business Machines Corporationの商標です。

Intelは，アメリカ合衆国および / またはその他の国における Intel Corporation またはその子会社の商標です。

Itaniumは，アメリカ合衆国および / またはその他の国における Intel Corporation またはその子会社の商標です。

Linuxは，Linus Torvalds氏の日本およびその他の国における登録商標または商標です。

Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

MicrosoftおよびVisual Studioは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

OracleとJavaは，Oracle Corporation 及びその子会社，関連会社の米国及びその他の国における登録商標です。文中の社名，商品名等は各社の商標または登録商標である場合があります。

Red Hat, and Red Hat Enterprise Linux are registered trademarks of Red Hat, Inc. in the United States and other countries. Linux(R) is the registered trademark of Linus Torvalds in the U.S. and other countries.

Red Hat，およびRed Hat Enterprise Linuxは，米国およびその他の国におけるRed Hat, Inc.の登録商標です。Linux(R)は，米国およびその他の国におけるLinus Torvalds氏の登録商標です。

UNIXは，The Open Groupの商標です。

VisiBrokerは，英国，米国またはその他の国におけるMicro Focusまたはその子会社もしくは関連会社の商標または登録された商標です。

Windowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Windows Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

その他記載の会社名，製品名などは，それぞれの会社の商標もしくは登録商標です。

発行

2020年 3月 3021-3-J29

著作権

All Rights Reserved. Copyright (C) 2020, Hitachi, Ltd.

はじめに

このマニュアルは，トランザクショナル分散オブジェクト基盤TPBrokerの運用方法について説明したものです。

TPBrokerでは，ORB機能，OTS機能，およびADM機能を使用してシステムの運用を行います。このマニュアルでは，これらの機能のうち，ORB機能のトラブルシュート，ORB機能の運用に必要な拡張機能，TPBrokerとほかのプログラムプロダクトとの連携方法，およびバージョンアップ時の移行について説明しています。

対象読者

システム管理者，システム設計者，またはオペレータで，TPBrokerを使用して分散オブジェクトコンピューティング環境を運用する方を対象としています。

次の知識がある方を対象としています。

C++またはJava

OTS

CORBA

TPBrokerに関する基本的な知識

Microsoft Cluster Service（Microsoft Cluster Serviceと連携させる場合）

HAモニタ（HAモニタと連携させる場合）

HACMP（HACMPと連携させる場合）

JP1/ServerConductor/Deployment Manager（JP1/ServerConductor/Deployment Managerと連携させる場合）

文法の記号

このマニュアルで使用する記号の意味を示します。

ただし，C++言語およびJava言語のインタフェースやコーディング例の説明は，それぞれの言語の文法規則に従います。これらの記号の意味は適用されません。

文法記述記号

意味

|

この記号で区切られた項目を選択できることを表します。

（例）admstop -f 1|2

これは，-fオプションに1か2のどちらかを指定できることを表します。

{ }

この記号で囲まれている複数の項目のうちから一つを選択することを表します。

（例）{-t|-T トランザクショングローバル識別子}

これは，-tと-T トランザクショングローバル識別子のうち，どちらかを指定することを表します。

...

この記号で示す直前の項目を繰り返し指定できることを表します。

（例）tslsrm -o ファイル名 [,ファイル名]...

これは，-oオプションのファイル名を繰り返し指定できることを表します。

〜

この記号のあとにユーザ指定値の属性を表します。

<< >>

ユーザが指定を省略したときの省略値を表します。

< >

ユーザ指定値の構文要素を表します。

(( ))

ユーザ指定値の指定範囲を表します。

<英数字>

英字と数字（0〜9）で指定することを表します。

<文字列>

任意の文字の配列で指定することを表します。

<パス名>

記号名称，¥，/，および.（ピリオド）で指定することを表します。

ただし，パス名は使用するOSに依存します。

1　TPBrokerの運用の概要

この章では，このマニュアルで説明するTPBrokerの運用の概要について説明します。

1.1　TPBrokerの運用

ここでは，TPBrokerを運用するときに使用する機能について説明します。

TPBrokerを運用するときに使用する機能を次に示します。

ORBのトラブルシュート機能

ORBの拡張機能

Microsoft Cluster Serviceとの連携

HAモニタとの連携

HACMPとの連携

JP1/ServerConductor/Deployment Managerとの連携

各機能の詳細は，2章以降を参照してください。

なお，適用OSやプログラムプロダクトによって，使用できる機能が異なります。プログラムプロダクトに関する詳細は，「1.2　Cosminexus TPBrokerとTPBrokerとの相違点」を，適用OSに関する詳細は，「1.3　サポートする機能」を参照してください。

1.2　Cosminexus TPBrokerとTPBrokerとの相違点

TPBrokerでは，プログラムプロダクトによってサポートする機能が異なります。

Cosminexus TPBrokerとTPBrokerとの，サポートする機能の相違点について次の表に示します。

表1‒1　Cosminexus TPBrokerとTPBrokerとの相違点

機能

プログラムプロダクト

Cosminexus TPBroker

TPBroker

ORB

Java ORB

○

○

C++ ORB

×

○

OTS

Java OTS

○

○

C++ OTS

×

○

ADM

×

○

（凡例）　○：サポート　×：未サポート

1.3　サポートする機能

TPBrokerでは，適用OSによって，サポートする機能が異なります。ここでは，機能ごとに，サポートする適用OSについて説明します。

1.3.1　ORBのトラブルシュート機能

ORBのトラブルシュート機能では，適用OSによって，取得できるファイルが異なります。

サポートする機能と適用OSの関係について次の表に示します。

表1‒2　サポートする機能と適用OSの関係（ORBのトラブルシュート機能）

機能

適用OS

AIX

Linux

Windows

モジュールトレースの取得

○

○

○

エラーログの取得

○

○

○

通信トレースの取得

○

○

○

メッセージログの取得

○

○

○

バーボースログの取得

○

○

×

スタックトレースの取得

×

×

○※

ネーミングサービス名前空間情報ログの取得

○

○

○

（凡例）　○：サポート　×：未サポート

注※

Windows（Visual Studio 2005）版では，未サポートです。

1.3.2　ORBの拡張機能

ORBの拡張機能を使用するには，環境変数やプロパティの設定が必要になります。ただし，適用OSによって，使用できる環境変数やプロパティが異なります。詳細は，「3.2　環境変数とプロパティの一覧」を参照してください。

1.3.3　他プログラムプロダクトとの連携

他プログラムプロダクトとの連携では，適用OSによって，連携できるシステムが異なります。

サポートする機能と適用OSの関係について次の表に示します。

表1‒3　サポートする機能と適用OSの関係（他プログラムプロダクトとの連携）

機能

適用OS

AIX

Linux

Windows

Microsoft Cluster Serviceとの連携

×

×

○

HAモニタとの連携

○

○

×

HACMPとの連携

○

×

×

JP1/ServerConductor/Deployment Managerとの連携

×

○

○

（凡例）　○：サポート　×：未サポート

2　ORBのトラブルシュート機能

この章では，ORBのトラブルシュート機能について説明します。

2.1　ORBのトラブルシュート機能で出力できるファイル

ここでは，ORBのトラブルシュート機能で出力できるファイルの概要について説明します。

次に示すファイルが出力できます。

モジュールトレース

エラーログ

通信トレース

メッセージログ

バーボースログ（UNIX）

スタックトレース（32 ビット用Windows（（Visual Studio 2005）版は除く））（C++ ORB）

ネーミングサービス名前空間情報ログ

出力したファイルは，障害発生時にトラブルシュート情報として，保守員に送付する必要があります。定期的にバックアップを取得してください。なお，保守員とは，ご購入契約に基づくお問い合わせ窓口のことです。

参考事項

JavaVMのスレッドダンプを取得するためのコマンドがあります。詳細は，「2.11　hdumpnsコマンドの使用方法（Cosminexus TPBroker）（Windows）」を参照してください。

なお，ORBのトラブルシュート機能で出力できるファイルのことを，トラブルシュートファイルと呼びます。

2.1.1以降で，各ファイルの概要について説明します。

2.1.1　モジュールトレース（概要）

ここでは，モジュールトレースの概要について説明します。

モジュールトレースでは，TPBrokerの内部メソッドの入り口および出口で，呼び出しメソッドや引数の情報などを取得しています。

モジュールトレースはTPBrokerの保守用の資料であり，プロセスハングやプロセスダウン時に有効です。

2.1.2　エラーログ（概要）

ここでは，エラーログの概要について説明します。

エラーログでは，Java ORBの処理の中で，システム例外が発生した場合に，例外が発生することになった直接要因と，発生個所を特定できる情報を取得しています。また，それ以外に運用面で重要と思われる個所で情報を取得しています。エラーログは無条件に出力されます。

取得できるシステム例外を次に示します。

COMM_FAILURE

DATA_CONVERSION

INTERNAL

NO_IMPLEMENT

NO_RESOURCES

NO_RESPONSE

OBJECT_NOT_EXIST

TIMEOUT

UNKNOWN

エラーログから，例外や発生事象の詳細要因を把握することができ，問題点を絞り込むことができます。ただし，TPBrokerでは正常に動作している場合でもさまざまな例外が発生しているため，エラーログに例外の発生情報が出力されていても，必ずしも障害が起きているとは限りません。

エラーログはTPBrokerの保守用の資料であり，プロセスハングやプロセスダウン時に有効です 。

エラーログの動作は，定義ファイルを作成し，その定義ファイルに定義句を指定することによって変更できます。定義ファイルがない場合には，デフォルトの設定で動作します。定義ファイルは，環境変数VBROKER_ADMに指定されたディレクトリに"HVIORB_DEF"の名称で作成してください。

2.1.3　通信トレース（概要）

ここでは，通信トレースの概要について説明します。

通信トレースでは，TPBrokerからC++またはJavaの通信管理プログラムに制御を渡すインタフェース部分で，次に示す情報を取得しています。

通信管理プログラムのシステムコール（C++）またはAPI（Java）の引数，および結果

GIOPまたはTPBroker独自プロトコルに従った電文

通信トレースはTPBrokerの保守用の資料であり，プロセスハングやプロセスダウン時，および通信障害時に有効です 。

2.1.4　メッセージログ（概要）

ここでは，メッセージログの概要について説明します。

プロセスの起動および停止時やTIMEOUTなどの例外発生時のメッセージは，次に示す方法で取得しています。

メッセージログ（Java ORB限定）

イベントビューアのアプリケーションログ（Windows）

syslog（UNIX）

Java ORBを使用している場合，イベントビューアのアプリケーションログやsyslogなどのOSの機能だけでなく，TPBrokerが出力するメッセージログを使用して，メッセージを取得しています。

メッセージの内容については，「8.　メッセージ」を参照してください。

メッセージログの動作は，定義ファイルを作成し，その定義ファイルに定義句を指定することによって変更できます。定義ファイルがない場合には，デフォルトの設定で動作します。定義ファイルは，環境変数VBROKER_ADMに指定されたディレクトリに"HVIORB_DEF"の名称で作成してください。

2.1.5　バーボースログ（概要）

ここでは，バーボースログの概要について説明します。

バーボースログとは，バーボースモードで出力されるログのことをいいます。バーボースモードとは，osagentの処理に関する情報を出力する状態のことです。

-vオプションでosagentを起動すると，バーボースモードになり，標準出力上にバーボースログが出力されます。

-gオプションでosagentを起動すると，自動的にhvmgteeコマンドが起動され，バーボースログをファイルに出力することができます。hvmgteeコマンドは，UNIXのFIFOを利用し，標準出力に出力されるosagentのバーボースログ，およびエラー出力を受け取り，ファイルや標準出力への出力を制御する機能を持ちます。デフォルトでは，バーボースログをファイルに出力します。hvmgteeコマンドについては，「(1)　hvmgteeコマンドの起動」，および「(2)　hvmgteeコマンドの動作変更」を参照してください。

バーボースログはTPBrokerの保守用の資料であり，プロセスハングやプロセスダウン時に有効です。UNIXだけで取得できます。

(1)　hvmgteeコマンドの起動

hvmgteeコマンドを起動するには，次のコマンドを実行します。

osagent -g

hvmgteeコマンドを起動することで，バーボースログがファイルに出力され，標準出力への出力は抑止されます。

ただし，バーボースログを標準出力に出力するか，ファイルに出力するかどうかの動作を定義ファイルで変更できます。詳細は「(2)　hvmgteeコマンドの動作変更」を参照してください。

また，hvmgteeコマンドでエラーが発生した場合には，エラーメッセージが表示されます。エラーメッセージについては，「8.5　hvmgteeコマンドのエラーメッセージ」を参照してください。

(2)　hvmgteeコマンドの動作変更

hvmgteeコマンドの動作は，定義ファイルに定義句を設定することで変更できます。定義句を設定しない場合，デフォルトで動作します。定義ファイルは，環境変数VBROKER_ADMに指定されたディレクトリに，"HVMGTEE_DEF"のファイル名で作成します。

hvmgteeコマンドの起動時，および稼働中の一定インターバルごと（デフォルトは180秒）に定義ファイルが読み込まれるため，osagentを再起動しないで，設定を変更できます。ただし，定義句の中には，osagentの起動時にだけ有効となるものもあるので設定時には注意してください。定義ファイルが読み込まれる間隔も定義句で変更できます。

hvmgteeコマンドの動作変更の詳細は，「2.9.5　バーボースログ（定義句）」を参照してください。

2.1.6　スタックトレース（概要）

ここでは，スタックトレースの概要について説明します。

TPBrokerのC++ ORBアプリケーションの処理で例外が発生した場合に，例外が発生することになった直接要因と，発生個所を特定できる情報を取得しています。

取得できる例外を次に示します。

Ｃ言語構造化例外が発生した場合

キャッチできない例外が発生した場合

スタックトレースによって，例外発生事象の詳細要因を把握することができ，問題点の絞り込みに役立ちます。

スタックトレースはTPBroker の保守用の資料であり，アプリケーション処理で例外が発生したときに有効です。Windows（（Visual Studio 2005）版は除く）だけで取得できます。

2.1.7　ネーミングサービス名前空間情報ログ（概要）

ここでは，ネーミングサービス名前空間情報ログの概要について説明します。

ネーミングサービスに登録される名前空間情報を取得しています。ログファイルは，ネーミングサービスのプロセス単位に生成されます。

ネーミングサービス名前空間情報ログはTPBrokerの保守用の資料であり，ネーミングサービスに関連した障害が発生したときに有効です。

2.2　出力ディレクトリとファイル名

この節では，出力ディレクトリとファイル名について説明します。

出力ディレクトリは次のとおりです。

Java ORBの場合

${VBROKER_ADM}/../logj（%VBROKER_ADM%¥..¥logj）

C++ ORBの場合

${VBROKER_ADM}/../log（%VBROKER_ADM%¥..¥log）

出力ディレクトリの下には，各トラブルシュートファイルを格納するためのディレクトリがあります。

出力ディレクトリの構成を次の図に示します。

図2‒1　出力ディレクトリの構成

注意事項

環境変数HVI_TRACEPATHを設定すると，その環境変数に指定したディレクトリが出力ディレクトリになります。詳細は，「2.7.2(1)　HVI_TRACEPATH」を参照してください。

ご使用のOSがWindowsの場合に，%ProgramFiles% 下の書き込み制限のあるディレクトリが出力ディレクトリであると，%LocalAppData%¥VirtualStore¥Program Files ディレクトリの下に出力されます。

トラブルシュートファイルが出力されない場合

トラブルシュートファイルが出力されない場合があります。C++ ORBのときは，標準エラー出力にエラーメッセージが出力されます。エラーメッセージについては，「8.4　トレース情報取得ができない場合に出力されるメッセージ」を参照してください。

TPBrokerでは，プロセス起動後，最初のORB.init実行時に出力ディレクトリがないと，ファイル作成，読み取り，および書き込み権限のあるディレクトリを自動的に作成します。

また，モジュールトレース，通信トレース，スタックトレース，およびバーボースログが出力されるときに，出力ディレクトリ下にそれぞれファイルを格納するディレクトリを作成します。

そのため，トラブルシュートファイルが出力されない場合，出力ディレクトリの作成に失敗しているケースが考えられます。

次のことを確認してください。

作成するディレクトリの親ディレクトリがあるか

出力ディレクトリの権限が制限されていないか

作成するディレクトリの絶対パスの長さがシステムの上限内か

環境変数HVI_TRACEPATH，または環境変数VBROKER_ADMに設定するパスの長さを，210 - (<実行形式ファイル名称の長さ（Java ORBの場合10）>)バイト以下にすることをお勧めします。

2.2.1　モジュールトレース（出力ディレクトリとファイル名）

ここでは，モジュールトレースの出力ディレクトリ，ファイル名，および出力タイミングについて説明します。

TPBrokerでは，稼働しているプロセス上にバッファを確保し，そこにモジュールトレース情報を記録します。バッファに記録されたモジュールトレース情報は，プロセスごとにあるタイミングでファイルに出力されます。

モジュールトレースは次の表のとおりに作成されます。

表2‒1　モジュールトレース（出力ディレクトリとファイル名の一覧）

項目名

ORBの種類

Java ORB

C++ ORB

出力ディレクトリ

${VBROKER_ADM}/../logj/mdltrc

（%VBROKER_ADM%¥..¥logj¥mdltrc）

${VBROKER_ADM}/../log/mdltrc

（%VBROKER_ADM%¥..¥log¥mdltrc）

ファイル名

<付加名称※1>.<プロセスID>.<時刻情報※2>.mdl.dat

付加名称

デーモンまたはコマンドの場合だけ，付加されます。

時刻情報

環境変数HVI_TRACEFILENAME_TODで付加するかどうかを設定できます。

osagentの場合

osagent.<プロセスID>.<時刻情報※2>.mdl.dat

アプリケーションの場合

<実行形式ファイル名称>.<プロセスID>.<時刻情報※2>.mdl.dat

時刻情報

環境変数HVI_TRACEFILENAME_TODで付加するかどうかを設定できます。

また，UNIXでは，次に示すファイル名の場合があります。

unknown.<プロセスID>.mdl.dat

次の場合だけです。

ORB_init()の引数argcに"0"を指定する

ORB_init()の引数argvに"NULL"を指定する

argv[0]に"NULL"を指定する

argv[0]にハイフン（"-"）を指定する

作成タイミング

Windows

ネーミングサービスを含むデーモン，またはコマンドの場合

プロセス起動時

アプリケーションの場合

プロセスで最初にORB.init()を発行したとき

UNIX

プロセス終了時

Windows

プロセス起動時

UNIX

プロセス終了時

注※1

付加名称を次の表に示します。

デーモンまたはコマンド

付加名称

ネーミングサービス

nameserv

osfind

osfind

ゲートキーパー（Windows）

gatekeeper

irep

irep

出力ディレクトリの絶対パスの長さが，210 - (<実行形式ファイル名称の長さ（Java ORBの場合10）>)を超えると，付加名称が付加されない場合やファイル出力に失敗する場合があります。

注※2

時刻情報は，ファイルが作成された時刻です。YYYYMMDDHHMMSS形式で付加されます。

モジュールトレース情報は，バッファの上限サイズまで出力されたあと，ラップアラウンドします。上限サイズは，環境変数HVI_MTRENTRYCOUNTで変更できます。

ファイルは，環境変数HVI_MTRFILECOUNTで指定した値（例えばn個とする）を最大数として生成され，更新時刻の古いものから順に削除します。ただし，以下の場合にファイルがn個を超えることがあります。

削除しようとしたファイルが使用中の場合（使用者がいなくなるまでそのファイルが存在する）

n個を超えるプロセスで表2-1に示す「作成タイミング」が重なる場合

2.2.2　エラーログ（出力ディレクトリとファイル名）

ここでは，エラーログの出力ディレクトリとファイル名について説明します。

エラーログは次の表のとおりに作成されます。

表2‒2　エラーログ（出力ディレクトリとファイル名の一覧）

項目名

説明

出力ディレクトリ

${VBROKER_ADM}/../logj

（%VBROKER_ADM%¥..¥logj）

ファイル名

hvilogj1.txt

hvilogj2.txt

エラーログの出力ファイルは，出力ディレクトリごとに二つ作成し，スワップさせながら使用します。一つのファイルの上限サイズは定義句HVI_ORBLOG_SIZEで指定できます。最後にエラーログを出力したあとのエラーログの出力ファイルのサイズが定義句HVI_ORBLOG_SIZEの指定値を超えた場合にスワップします。

2.2.3　通信トレース（出力ディレクトリとファイル名）

ここでは，通信トレースの出力ディレクトリ，ファイル名，および出力タイミングについて説明します。

通信トレースのファイルはプロセスごとに次の表のとおりに作成されます。

表2‒3　通信トレース（出力ディレクトリとファイル名の一覧）

項目名

ORBの種類

Java ORB

C++ ORB

出力ディレクトリ

${VBROKER_ADM}/../logj/comtrc

（%VBROKER_ADM%¥..¥logj¥comtrc）

${VBROKER_ADM}/../log/comtrc

（%VBROKER_ADM%¥..¥log¥comtrc）

ファイル名

<付加名称※1>.<プロセスID>.<時刻情報※2>.comt.dat

付加名称

デーモンまたはコマンドの場合だけ，付加されます。

時刻情報

環境変数HVI_TRACEFILENAME_TODで付加するかどうかを設定できます。

osagentの場合

osagent.<プロセスID>.<時刻情報※2>.comt.dat

アプリケーションの場合

<実行形式ファイル名称>.<プロセスID>.<時刻情報※2>.comt.dat

時刻情報

環境変数HVI_TRACEFILENAME_TODで付加するかどうかを設定できます。

また，UNIXでは，次に示すファイル名になる場合があります。

unknown.<プロセスID>.comt.dat

次の場合だけです。

ORB_init()の引数argcに"0"を指定する

ORB_init()の引数argvに"NULL"を指定する

argv[0]に"NULL"を指定する

argv[0]にハイフン（"-"）を指定する

作成タイミング

Windows

プロセスで最初に通信を行った時

UNIX

プロセスで最初に通信を行った時

Windows

プロセス起動時

UNIX

osagentの場合

プロセス起動時

アプリケーションの場合

プロセスで最初にCORBA::ORB_init()を発行したとき

注※1

付加名称を次の表に示します。

デーモンまたはコマンド

付加名称

ネーミングサービス

nameserv

osfind

osfind

ゲートキーパー（Windows）

gatekeeper

irep

irep

出力ディレクトリの絶対パスの長さが，210 - (<実行形式ファイル名称の長さ（Java ORBの場合1）>)を超えると，上記名称が付加されない場合や出力に失敗する場合があります。

注※2

時刻情報は，ファイルが作成された時刻です。YYYYMMDDHHMMSS形式で付加されます。

通信トレース情報はファイルの上限サイズまで出力されたあと，ラップアラウンドします。上限サイズは，環境変数HVI_COMTENTRYCOUNTで変更できます。

ファイルは，環境変数HVI_COMTFILECOUNTで指定した値（例えばn個とする）を上限として生成され，更新時刻の古いものから順に削除します。ただし，以下の場合にファイルがn個を超えることがあります。

削除しようとしたファイルが使用中の場合(使用者がいなくなるまでそのファイルが存在する)

n個を超えるプロセスで表2-3に示す「作成タイミング」が重なる場合

2.2.4　メッセージログ（出力ディレクトリとファイル名）

ここでは，メッセージログの出力ディレクトリとファイル名について説明します。

メッセージログは次の表のとおりに作成されます。

表2‒4　メッセージログ（出力ディレクトリとファイル名の一覧）

項目名

説明

出力ディレクトリ

${VBROKER_ADM}/../logj

（%VBROKER_ADM%¥..¥logj）

ファイル名

hvimsgj1.txt

hvimsgj2.txt

メッセージログの出力ファイルは，出力ディレクトリごとに二つ作成し，スワップさせながら使用します。一つのファイルの上限サイズは定義句HVI_ORBMSGLOG_SIZEで指定できます。メッセージが出力された場合，<ファイルへの出力済みサイズ> ＋ <出力しようとするメッセージサイズ>が定義句HVI_ORBMSGLOG_SIZEの指定値を超えるときにスワップします。

2.2.5　バーボースログ（出力ディレクトリとファイル名）

ここでは，バーボースログの出力ディレクトリとファイル名について説明します。

バーボースログの出力ファイルは，osagentのプロセスごとにhvmgteeコマンドを使用して作成されます。出力ディレクトリ，ファイル名を次の表に示します。

表2‒5　バーボースログ（出力ディレクトリとファイル名の一覧）

項目名

説明

出力ディレクトリ

${VBROKER_ADM}/../log/hgttrc

ファイル名

osagent.<プロセスID>.hgt1.log

osagent.<プロセスID>.hgt2.log

バーボースログの出力ファイルはプロセスごとに二つ作成され，スワップさせながら使用します。ファイルの上限サイズは，定義句HVI_GTEE_FILESIZEで指定できます。最後にバーボースログを出力したあとの出力ファイルのサイズが，定義句HVI_GTEE_FILESIZEの指定値を超えた場合，または，osagentに対してlimitなどで制限したファイルサイズを超えた場合にスワップします。

osagentが正常終了した場合，またはSIGINT，もしくはSIGTERMを受信した場合，hvmgteeコマンドは正常終了し，終了前に出力されていたログ（スワップしたファイルも含む）は，compressコマンドを使用して圧縮されます。圧縮されたファイルは，ファイル名が<hvmgteeコマンドが出力したファイル名>.Zに変更されます。また，圧縮後のファイル名と同じファイルが同一ディレクトリに存在した場合はそのファイルを上書きします。定義句HVI_GTEE_LOGPRESSで，ファイルを圧縮するかどうかを指定できます。

バーボースログのファイル数は，定義句HVI_GTEE_FILECOUNTで上限値を指定できます。osagentに-gオプションを指定して起動したときに，<既存のログファイル※1数> ＋2が上限値を超えていると，上限値を超えた数だけ，既存のログファイルを更新日付の古いものから削除します。

なお，以下の場合は，上限値を超えるログファイルが出力されることがあります。

osagentに-gオプションを指定して複数同時に起動する場合

osagentに-gオプションを指定して起動したときに，起動したosagentと同じプロセスIDのログファイル（圧縮されたファイルのみ）が既に存在している場合

注※1

起動するosagentと同じプロセスIDのログファイル（圧縮されたファイルも含む）は，既存のログファイルに含まれません。

定義句については，「2.9.5　バーボースログ（定義句）」を参照してください。

2.2.6　スタックトレース（出力ディレクトリとファイル名）

ここでは，スタックトレースの出力ディレクトリ，ファイル名，および出力タイミングについて説明します。

スタックトレースは次の表のとおりに作成されます。

表2‒6　スタックトレース（出力ディレクトリとファイル名の一覧）

項目名

説明

出力ディレクトリ

%VBROKER_ADM%¥..¥log¥stktrc

ファイル名

visstk1.log

・

・

・

visstk<XXX>.log

（XXX：ファイルカウント）

作成タイミング

例外発生時

ファイルは，環境変数HVI_STKFILECOUNTで指定した値（例えばn個とする）を上限として生成され，スワップさせながら使用します。

2.2.7　ネーミングサービス名前空間情報ログ（出力ディレクトリとファイル名）

ここでは，ネーミングサービス名前空間情報ログの出力ディレクトリ，ファイル名，および作成タイミングについて説明します。

ネーミングサービス名前空間情報ログはプロセスごとに次の表のとおりに作成されます。

表2‒7　ネーミングサービス名前空間情報ログ（出力ディレクトリとファイル名の一覧）

項目名

説明

出力ディレクトリ

${VBROKER_ADM}/../logj/namelog

（%VBROKER_ADM%¥..¥logj¥namelog）

ファイル名

namelog1.<プロセスID>.<時刻情報※>.txt

namelog2.<プロセスID>.<時刻情報※>.txt

時刻情報は，環境変数HVI_TRACEFILENAME_TODで付加するかどうかを設定できます。

作成タイミング

ネーミングサービスに対して，最初にコンテキストやオブジェクトの登録処理を行ったとき

注※

時刻情報は，ファイルが作成された時刻です。YYYYMMDDHHMMSS形式で付加されます。

出力ディレクトリの絶対パスの長さが210を超えると，出力に失敗する場合がありますので注意してください。

ファイルはネーミングサービスのプロセスごとに最大で二つ作成し，スワップさせながら使用します。一つのファイルの上限サイズは環境変数HVI_NAMELOGFILESIZEによって指定できます。ログを出力する場合にログファイルのサイズがこの設定値を超えているときには，もう一つのファイルにスワップします。

ファイルは，環境変数HVI_NAMELOGFILECOUNTで指定した値（例えばn個とする）のプロセス数分，出力ディレクトリ下に保持されます。ネーミングサービスでは一つのプロセス当たりに，最大で二つのログファイルを作成できますので，最大でn×2個のファイルを保持します。新規にログファイルを作成する場合に指定値を超えているときには，更新時刻の古いものから順に削除します。ただし，削除しようとしたファイルが使用中の場合は，使用者がいなくなるまでファイルは存在します。そのため，n×2個以上のファイルが存在することもあります。

2.3　システム例外のマイナーコード

この節では，システム例外のマイナーコードについて説明します。

TPBrokerで発生するシステム例外に設定されるマイナーコードを次に示します。

一意な値のマイナーコード

発生個所，要因ごとに一意な値が割り当てられています。そのため，このマイナーコードの値を基にして，例外が発生することになった要因と発生個所を特定することができ，問題の絞り込みに有効です。

標準のマイナーコード

OMGが規定しています。

環境変数で一意な値のマイナーコードだけか，または両方のマイナーコードを使用するかどうかを設定できます。詳細は，「2.8.7　システム例外のマイナーコード（環境変数）」を参照してください。

2.4　環境設定

この節では，ORBトラブルシュート機能の環境設定について説明します。

環境設定の流れを次の図で示します。詳細は2.5以降を参照してください。

図2‒2　環境設定の流れ

設定できる値

TPBrokerのORBトラブルシュート機能では，環境変数，定義句，およびプロパティで詳細な設定ができますが，項目によって設定できる値が異なります。事前に次の表で確認してください。

表2‒8　項目ごとの設定方法

項目

設定できる値

環境変数

定義句

プロパティ

モジュールトレース

○

×

○

エラーログ

×

○

×

通信トレース

○

×

○

メッセージログ

○※

○

○※

バーボースログ

×

○

×

スタックトレース

○

×

○

ネーミングサービス名前空間情報ログ

○

×

○

マイナーコード

○

×

○

（凡例）　○：設定できる　×：設定できない

注※　イベントビューアのアプリケーションログ（Windows），およびsyslog（UNIX）に関することだけが設定できます。

設定した値の優先順位

環境変数とプロパティは同時に設定できます。同時に設定した場合の優先順位について次に示します。

トレース共通環境変数 < 環境変数 < プロパティ

定義句を設定する場合の優先順位を次に示します。

トレース共通環境変数 < 定義句

2.5　TPBrokerの基本的な設定

この節では，TPBrokerの基本的な設定について説明します。

ORBのトラブルシュート機能を使用する前に，TPBrokerの基本的な設定については完了しておいてください。

なお，環境変数VBROKER_ADMに設定する値が，デフォルトのトラブルシュートファイルの出力ディレクトリになります。環境変数VBROKER_ADMについては，マニュアル「TPBroker ユーザーズガイド」を参照してください。

2.6　出力ディレクトリの作成

この節では，出力ディレクトリの作成について説明します。

ユーザが出力ディレクトリを指定する場合，ファイルを出力するディレクトリを作成します。ディレクトリを作成するときの注意については，「2.7.2(1)　HVI_TRACEPATH」を参照してください。作成したディレクトリのパスを環境変数HVI_TRACEPATHに設定することで，出力ディレクトリを指定できます。

デフォルトの出力ディレクトリを使用する場合には，この手順は不要です。

2.7　トレース共通環境変数の設定

この節では，トレース共通環境変数の設定について説明します。

トレース共通環境変数では，すべてのトラブルシュートファイルに共通の設定をします。必要に応じて設定してください。

2.7.1　トレース共通環境変数の一覧

トレース共通環境変数を次の表に示します。

表2‒9　トレース共通環境変数の一覧

項番

環境変数

説明

備考

1

HVI_TRACEPATH

次に示すトラブルシュートファイルの出力ディレクトリを設定します。

モジュールトレース

通信トレース

エラーログ

メッセージログ

スタックトレース

バーボースログ

ネーミングサービス名前空間情報ログ

−

2

HVI_TRACEFILENAME_TOD

モジュールトレース，通信トレース，およびネーミングサービス名前空間情報ログの出力ファイル名に時刻情報を付加するかどうかを指定します。

−

3

HVI_MAPFILEINIT

出力ディレクトリの領域の初期化処理を実施するかどうかを指定します。

UNIX限定

（凡例）　−：説明なし

2.7.2　トレース共通環境変数

トレース共通環境変数の詳細について説明します。

(1)　HVI_TRACEPATH

（Windows）　〜<1バイト〜210バイト以下のパス名>

（UNIX）　〜<1バイト〜980バイト以下のパス名>

次に示すトラブルシュートファイルの出力先を絶対パスで設定します。

モジュールトレース

通信トレース

エラーログ

メッセージログ

スタックトレース

バーボースログ

ネーミングサービス名前空間情報ログ

各トラブルシュートファイルは，Java ORBでは${VBROKER_ADM}/../logj（%VBROKER_ADM%¥..¥logj），C++ ORBでは${VBROKER_ADM}/../log（%VBROKER_ADM%¥..¥log）に出力されますが，この環境変数を指定することで，環境変数VBROKER_ADMで指定されるディレクトリと異なるディレクトリに出力先を変更することができます。

なお，設定するディレクトリは，次の条件を満たしている必要があります。

指定したディレクトリのパスの長さが，Windowsでは1〜210バイト，UNIXでは1〜980バイトの範囲内である。

指定されたディレクトリが存在する（C++ ORBだけ）。

ディレクトリの作成例を示します。

Windows

mkdir %HVI_TRACEPATH%

UNIX

mkdir $HVI_TRACEPATH

次に示すディレクトリにファイル作成，読み取り，および書き込み権限がある。

Windows

%HVI_TRACEPATH%

%HVI_TRACEPATH%¥comtrc

%HVI_TRACEPATH%¥stktrc

%HVI_TRACEPATH%¥mdltrc

%HVI_TRACEPATH%¥namelog

UNIX

$HVI_TRACEPATH

$HVI_TRACEPATH/comtrc

$HVI_TRACEPATH/mdltrc

$HVI_TRACEPATH/hgttrc

$HVI_TRACEPATH/namelog

注意事項

環境変数HVI_TRACEPATHが設定されていない，または指定したパスの長さがWindowsでは1〜210バイト，UNIXでは1〜980バイトの範囲にない場合，Java ORBでは${VBROKER_ADM}/../logj（%VBROKER_ADM%¥..¥logj），C++ ORBでは${VBROKER_ADM}/../log（%VBROKER_ADM%¥..¥log）を出力ディレクトリに設定します。

ただし，設定した出力ディレクトリのパスの長さが範囲外の場合は，トラブルシュートファイルは出力されません。

環境変数HVI_TRACEPATHで指定されたディレクトリが同じ環境で，Java ORBおよびC++ ORBのアプリケーションを混在して使用すると，トラブルシュートファイルがすべて同じディレクトリに出力されます。Java ORBのファイル数の上限はディレクトリ単位であることから，Java ORBおよびC++ ORBで出力されるファイルを合わせた数が上限となります。

そのため，Java ORBのアプリケーション実行時にファイル数の上限を超えると，C++ ORBのトラブルシュートファイルが古いファイルとして削除されるおそれがあります。

(2)　HVI_TRACEFILENAME_TOD

（Java ORB）　〜<文字列> { true|false|Y|N } <<true>>

（C++ ORB ）　〜<文字列> { true|false } <<false>>

通信トレース，モジュールトレース，およびネーミングサービス名前空間情報ログの出力ファイル名に時刻情報を付加するかどうかを設定します。付加する時刻情報は，トラブルシュートファイルを作成した時刻（YYYYMMDDHHMMSS形式）です。

true|Y

ファイル名に時刻情報を付加します。ファイル名は次のとおりになります。

「<付加名称>.<プロセスID>.<時刻情報>.<xxx>.dat」（Java ORB）

「<実行形式ファイル名称>.<プロセスID>.<時刻情報>.<xxx>.dat」（C++ ORB）

「namelog1.<プロセスID>.<時刻情報>.txt」または「namelog2.<プロセスID>.<時刻情報>.txt」（ネーミングサービス名前空間情報ログ）

false|N

ファイル名に時刻情報を付加しません。ファイル名は次のとおりになります。

「<付加名称>.<プロセスID>.<xxx>.dat」（Java ORB）

「<実行形式ファイル名称>.<プロセスID>.<xxx>.dat」（C++ ORB）

「namelog1.<プロセスID>.txt」または「namelog2.<プロセスID>.txt」（ネーミングサービス名前空間情報ログ）

上記のフォーマットで，xxxは，モジュールトレースの場合はmdl，通信トレースの場合はcomtです。

また，トラブルシュートファイルの削除管理対象は，設定されたフォーマットの形式が"true"の場合は時刻情報を付加した形式のファイル，"false"の場合は時刻情報を付加していない形式のファイルに対して有効になります。

Java ORBでは，"Y"または"N"で設定することもできます。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

(3)　HVI_MAPFILEINIT（UNIXだけ）

（UNIX）〜<文字列> { true|false } <<false>>

出力ディレクトリの領域の初期化処理を実施するかどうかを指定します。

true

ファイル作成時の初期化処理を実施します。

false

ファイル作成時の初期化処理を実施しません。

ファイル作成時の初期化処理を実施しない（"false"を設定した）場合，トラブルシュートファイルへの情報出力時にディスク不足などが発生すると，アプリケーション実行時の予期しないタイミングでプロセスが強制終了されます。

"true"を指定することで，アプリケーションが該当プロセスで初回に発行するCORBA::ORB_init()またはorg.omg.CORBA.ORB.init()で，ファイル作成時の初期処理を実施し，この時点でディスク不足などが発生するとプロセスが強制終了されるようになります。そのため，予期しないタイミングでプロセスが強制終了することを防止できます。

注意事項

トレース取得エントリ数によっては，初回に発行するCORBA::ORB_init()またはorg.omg.CORBA.ORB.init()のレスポンスが悪くなる場合があります。

この機能によって，アプリケーションが強制終了した場合は，トラブルシュートファイルを取得するために必要なディスクの空き容量を確保してください。

ディスクの空き容量については，「2.12.2　ディスク占有量」を参照してください。

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

2.8　環境変数の設定

この節では，環境変数の設定について説明します。

環境変数では，トラブルシュートファイルごとに個別に設定します。必要に応じて設定してください。

2.8.1　環境変数の一覧

環境変数の一覧を次の表に示します。環境変数の詳細は，2.8.2以降で説明します。

表2‒10　環境変数の一覧（ORBのトラブルシュート機能）

項番

環境変数

説明

サポート言語

備考

Java ORB

C++ ORB

1

HVI_MDLTRACE

モジュールトレースを取得するかどうかを設定します。

○

○

−

2

HVI_MTRENTRYCOUNT

モジュールトレースの出力ファイルのエントリ数の上限値を設定します。

○

○

−

3

HVI_MTRFILECOUNT

モジュールトレースの出力ディレクトリに作成するファイル数の上限値を設定します。

○

○

−

4

HVI_COMTRACE

通信トレースを取得するかどうかを設定します。

○

○

−

5

HVI_COMTENTRYCOUNT

通信トレースの出力ファイルのエントリ数の上限値を設定します。

○

○

−

6

HVI_COMTFILECOUNT

通信トレースの出力ディレクトリに作成するファイル数の上限値を設定します。

○

○

−

7

HVI_COMTTELEGSIZE

取得する通信電文のサイズを設定します。

○

○

−

8

HVI_MSGLOG_OUTPUT

メッセージログの出力先を設定します。

○

×

osagentにも設定可能

9

HVI_MSGLOG_CONSOLE

syslogへの出力に失敗した場合に，メッセージを強制的にコンソールへ出力するかどうかを設定します。

○

×

UNIX限定

10

HVI_MSGLOG_LEVEL

出力するメッセージのメッセージレベルを設定します。

○

○

−

11

HVI_MSGLOG_SECURITY

セキュリティにかかわる情報のメッセージ出力を抑止するかどうかを設定します。

○

○

−

12

HVI_MSGLOG_NO_PERMISSION

出力を抑止したいメッセージのメッセージIDを設定します。

×

×

osagent限定

13

HVI_STKTRACE

スタックトレースを取得するかどうかを設定します。

×

○

Windows(C++ORB)限定

14

HVI_STKFILECOUNT

スタックトレースの出力ファイル数の最大値を設定します。

×

○

Windows(C++ORB)限定

15

HVI_NAMELOGOUTPUT

ネーミングサービス名前空間情報ログを取得するかどうかを設定します。

○

○

ネーミングサービス限定

16

HVI_NAMELOGFILESIZE

ネーミングサービス名前空間情報ログの出力ファイルのサイズを設定します。

○

○

ネーミングサービス限定

17

HVI_NAMELOGFILECOUNT

ネーミングサービス名前空間情報ログの出力ディレクトリ下に保持するログのプロセス数を設定します。

○

×

ネーミングサービス限定

18

HVI_NAMELOGSNAPSHOTINTERVAL

出力ファイルにネーミングサービス名前空間情報ログのスナップショットを出力する間隔を設定します。

○

○

ネーミングサービス限定

19

HVI_OMGVMCID

システム例外発生時にOMGが規定するマイナーコードを使用するかどうかを設定します。

×

○

−

（凡例）　○：サポート　×：未サポート　−：説明なし

2.8.2　モジュールトレース（環境変数）

モジュールトレースに関する環境変数の詳細について説明します。

(1)　HVI_MDLTRACE

〜<文字列> { true|false|Y|N } <<true>>

モジュールトレースを取得するかどうかを設定します。

true|Y

モジュールトレースを取得します。

false|N

モジュールトレースを取得しません。

設定値"Y"および"N"は，下位バージョンのORBとの共通環境を実現するために使用できますが，設定値"true"および"false"の使用を推奨します。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB，C++ ORB

(2)　HVI_MTRENTRYCOUNT

（32ビット用OS）　〜<符号なし整数> ((10〜30000000)) <<5000>>

（64ビット用OS）　〜<符号なし整数> ((10〜30000000)) <<10000>>

モジュールトレースの出力ファイルのエントリ数の上限値を設定します。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB，C++ ORB

(3)　HVI_MTRFILECOUNT

（Java ORB） 〜<符号なし整数> ((1〜256)) <<15>>

モジュールトレースの出力ディレクトリ（${VBROKER_ADM}/../logj/mdltrc（%VBROKER_ADM%¥..¥logj¥mdltrc））に作成するファイル数の上限値を設定します。同時に実行するORBアプリケーション数以上の値にしてください。

（C++ ORB） 〜<符号なし整数> ((1〜256)) <<10>>

モジュールトレースの出力ディレクトリ（${VBROKER_ADM}/../log/mdltrc（%VBROKER_ADM%¥..¥log¥mdltrc））に作成するファイル数の上限値を設定します。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB，C++ ORB

2.8.3　通信トレース（環境変数）

通信トレースに関する環境変数の詳細について説明します。

(1)　HVI_COMTRACE

〜<文字列> { true|false|Y|N } <<true>>

通信トレースを取得するかどうかを設定します。

true|Y

通信トレースを取得します。

false|N

通信トレースを取得しません。

設定値"Y"および"N"は，下位バージョンのORBとの共通環境を実現するために使用できますが，設定値"true"および"false"の使用を推奨します。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB，C++ ORB

(2)　HVI_COMTENTRYCOUNT

〜<符号なし整数> ((100〜30000000)) <<20000>>

通信トレースの出力ファイルのエントリ数の上限値を設定します。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB，C++ ORB

(3)　HVI_COMTFILECOUNT

（Java ORB） 〜<符号なし整数> ((1〜256)) <<15>>

通信トレースの出力ディレクトリ（${VBROKER_ADM}/../logj/comtrc（%VBROKER_ADM%¥..¥logj¥comtrc））に，実行形式ファイルごとに作成するファイルの上限値を設定します。新規にファイルを作成する場合にこの設定値を超えているときには，更新時刻の古いものから削除します。同時に実行するORBアプリケーション数以上の値にしてください。

（C++ ORB） 〜<符号なし整数> ((1〜256)) <<10>>

通信トレースの出力ディレクトリ（${VBROKER_ADM}/../log/comtrc（%VBROKER_ADM%¥..¥log¥comtrc））に，実行形式ファイルごとに作成するファイルの上限値を設定します。新規にファイルを作成する場合にこの設定値を超えているときには，更新時刻の古いものから削除します。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB，C++ ORB

(4)　HVI_COMTTELEGSIZE

（Java ORB） 〜<符号なし整数> ((0〜1000000)) <<512>>（単位：バイト）

取得する通信電文のサイズを設定します。"0"を設定した場合は通信電文を取得しません。

注意事項

指定範囲外の値を設定した場合，または次の条件を満たす値を設定した場合は，デフォルト値が設定されます。

32ビット用OSの場合

<環境変数HVI_COMTTELEGSIZEの設定値> > ｛(<環境変数HVI_COMTENTRYCOUNTの設定値> - 10)×32｝

64ビット用OSの場合

<環境変数HVI_COMTTELEGSIZEの設定値> > ｛(<環境変数HVI_COMTENTRYCOUNTの設定値> - 10)×40｝

（C++ ORB） 〜<符号なし整数> ((0〜1000000)) <<528>>（単位：バイト）

取得する通信電文のサイズを設定します。"0"を設定した場合は通信電文を取得しません。

注意事項

指定範囲外の値を設定した場合，または次の条件を満たす値を設定した場合は，デフォルト値が設定されます。

<環境変数HVI_COMTTELEGSIZEの設定値> > ｛(<環境変数HVI_COMTENTRYCOUNTの設定値> - 10)×24｝

使用言語

Java ORB，C++ ORB

2.8.4　メッセージログ（環境変数）

メッセージログに関する環境変数の詳細について説明します。

(1)　HVI_MSGLOG_OUTPUT

（osagent）　〜<文字列> { ALL|NONE } <<ALL>>

（Java ORB）　〜<文字列> { ALL|MSGLOG|NONE } <<ALL>>

メッセージログの出力先を設定します。

ALL

イベントビューアのアプリケーションログ（Windows），syslog（UNIX），およびメッセージログへメッセージを出力します。

MSGLOG

メッセージログにだけメッセージを出力し，イベントビューアのアプリケーションログ（Windows）またはsyslog（UNIX）にはメッセージを出力しません。この設定文字列はJava ORBにだけ有効です。

NONE

メッセージを出力しません。

注意事項

設定文字列以外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB，osagent

(2)　HVI_MSGLOG_CONSOLE（UNIX版Java ORBだけ）

〜<文字列> { true|false } <<true>>

syslogへの出力に失敗した場合に，メッセージを強制的にコンソールへ出力するかどうかを設定します。

true

syslogへの出力に失敗した場合，メッセージを強制的にコンソールへ出力します。

false

syslogへの出力に失敗した場合，メッセージを出力しません。

注意事項

設定文字列以外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB（UNIX）限定

(3)　HVI_MSGLOG_LEVEL

〜<符号なし整数> { ERR|WARNING|INFO } <<INFO>>

出力するメッセージのメッセージレベルを設定します。各メッセージのレベルについては，「8.2　KFCB91000〜KFCB91999のメッセージ」を参照してください。

ERR

メッセージレベルE（Error）のメッセージだけを出力します。

WARNING

メッセージレベルE（Error）およびメッセージレベルW（Warning）のメッセージを出力します。

INFO

すべてのメッセージを出力します。

注意事項

設定値以外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB，C++ ORB

(4)　HVI_MSGLOG_SECURITY

〜<文字列> { true|false } <<false>>

セキュリティにかかわる情報のメッセージ出力を抑止するかどうかを設定します。セキュリティにかかわる情報とは，ポート番号などを指します。

true

セキュリティにかかわる情報のメッセージ出力を抑止します。

false

セキュリティにかかわる情報のメッセージを出力します。

注意事項

設定文字列以外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB，C++ ORB

(5)　HVI_MSGLOG_NO_PERMISSION（osagentだけ）

〜<文字列または-1> { メッセージID|-1 } <<KFCB92006>>

出力を抑止したいメッセージのメッセージIDを設定します。

メッセージプリフィックスID（KFCB）およびメッセージ番号で構成されているメッセージIDを設定することで，設定したメッセージIDのメッセージ出力を抑止できます。

メッセージID

設定したメッセージIDのメッセージ出力を抑止します。

複数のメッセージIDを設定する場合は","で区切って設定してください。

-1

すべてのメッセージが出力されます。

注事事項

KFCB以外のメッセージプリフィックスIDなど，不正な値を設定した場合は，デフォルト値が設定されます。

使用言語

osagent限定

2.8.5　スタックトレース（環境変数）

スタックトレースに関する環境変数の詳細について説明します。

(1)　HVI_STKTRACE

〜<文字列> { true|false } <<true>>

スタックトレースを取得するかどうかを設定します。

true

スタックトレースを取得します。

false

スタックトレースを取得しません。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

C++ORB(Windows)限定

(2)　HVI_STKFILECOUNT

〜<符号なし整数>((1〜50000)) <<2000>>

スタックトレースの出力ファイル数の最大値を設定します。

使用言語

C++ORB(Windows)限定

2.8.6　ネーミングサービス名前空間情報ログ（環境変数）

ネーミングサービス名前空間情報ログに関する環境変数の詳細について説明します。

(1)　HVI_NAMELOGOUTPUT

〜<文字列> { ALL|REQUEST|NONE } <<ALL>>

ネーミングサービス名前空間情報ログを取得するかどうかを設定します。

ALL

ネーミングサービス名前空間情報ログを取得します。ネーミングサービスへの要求時のログと定期出力のログを取得します。

REQUEST

ネーミングサービス名前空間情報ログを取得します。ネーミングサービスへの要求時のログだけ取得します。

NONE

ネーミングサービス名前空間情報ログを取得しません。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB（ネーミングサービス限定），C++ ORB（ネーミングサービス限定）

(2)　HVI_NAMELOGFILESIZE

〜<符号なし整数>((8388608〜1073741824)) <<8388608>>（単位：バイト）

ネーミングサービス名前空間情報ログの出力ファイルのサイズを設定します。ログを出力する場合にログファイルのサイズがこの設定値を超えているときには，もう一つのファイルへスワップします。

注意事項

指定範囲外の値，または無効な値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB（ネーミングサービス限定），C++ ORB（ネーミングサービス限定）

(3)　HVI_NAMELOGFILECOUNT

〜<符号なし整数>((1〜256)) <<5>>

ネーミングサービス名前空間情報ログの出力ディレクトリ（${VBROKER_ADM}/../logj/namelog（%VBROKER_ADM%¥..¥logj¥namelog））下に，何プロセス数分のネーミングサービス名前空間情報ログファイルを保持するかを設定します。新規にログファイルを作成する場合にこの設定値を超えているときには，更新時刻の古いプロセスのログファイルから削除します。

ログファイルはプロセスIDごとに二つ生成され，これらを二つで一組として処理するため，設定値の2倍のファイル数が生成されることがあります。

また，削除しようとしたファイルが使用中の場合，使用者がいなくなるまでファイルは存在するため，設定値の2倍より多くのファイルが存在することもあります。

注意事項

指定範囲外の値，または無効な値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB（ネーミングサービス限定）

(4)　HVI_NAMELOGSNAPSHOTINTERVAL

〜<符号なし整数>((30〜86400)) <<600>>（単位：秒）

出力ファイルにネーミングサービス名前空間情報ログのスナップショットを出力する間隔を設定します。

スナップショットは，前回スナップショットを出力してからネーミングサービス名前空間情報ログに更新があった場合に出力されます。ネーミングサービス名前空間情報ログに更新がない場合，スナップショットは出力されません。

注意事項

指定範囲外の値，または無効な値を設定された場合は，デフォルト値が設定されます。

使用言語

Java ORB（ネーミングサービス限定），C++ ORB（ネーミングサービス限定）

2.8.7　システム例外のマイナーコード（環境変数）

システム例外のマイナーコードに関する環境変数の詳細について説明します。

(1)　HVI_OMGVMCID

〜<文字列> { true|false } <<false>>

システム例外発生時にOMGが規定するマイナーコードを使用するかどうかを設定します。

true

OMGが規定するマイナーコードを使用します。

false

OMGが規定するマイナーコードを使用しません。

環境変数の値とシステム例外に設定されるマイナーコードの対応を次の表に示します。

表2‒11　環境変数とマイナーコードの対応

HVI_OMGVMCIDの設定値

OMGがマイナーコードを規定している例外

OMGがマイナーコードを規定していない例外

true

OMGが規定するマイナーコードを使用します。

一意な値のマイナーコードを使用します。

false（デフォルト）

一意な値のマイナーコードを使用します。

一意な値のマイナーコードを使用します。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

C++ ORB限定

2.9　定義句の設定

この節では，定義句の設定について説明します。

定義句では，トラブルシュートファイルごとに個別に設定します。必要に応じて設定してください。

2.9.1　定義句の設定方法

定義句の設定方法について説明します。

定義ファイルに記述することで，定義句を設定します。次の手順で設定してください。

定義ファイルの作成

定義ファイルに定義句を記述します。記述形式を次に示します。

set定義句=この定義句に対する定義値

上記の記述形式以外で記述している行については，コメント行として扱います。また，一つの定義は1行で記述してください。改行文字を入れるなどして，2行以上にわたって記述しているものは無効となります。

定義ファイルの格納

環境変数VBROKER_ADMに設定されているディレクトリに，"HVIORB_DEF"または"HVMGTEE_DEF"の名称で定義ファイルを格納してください。

2.9.2　定義句の一覧

定義句の一覧を次の表に示します。定義句の詳細は，2.9.3以降で説明します。

表2‒12　定義ファイルHVIORB_DEFに記述する定義句の一覧

項番

定義句

説明

サポート言語

備考

Java ORB

C++ ORB

1

HVI_ORBLOG_SIZE

エラーログの出力ファイルの上限サイズを設定します。

○

×

osagent以外のコマンドにも使用

2

HVI_ORBMSGLOG_SIZE

メッセージログの出力ファイルの上限サイズを設定します。

○

×

−

（凡例）　○：サポート　×：未サポート　−：説明なし

表2‒13　定義ファイルHVMGTEE_DEFに記述する定義句の一覧

項番

定義句

説明

サポート言語

備考

Java ORB

C++ ORB

1

HVI_GTEE_INTERVAL

hvmgteeコマンドの稼働中に定義ファイルを読み取る間隔を設定します。

×

×

UNIX版osagent限定

2

HVI_GTEE_OUTPUT

hvmgteeコマンドを経由したデータの画面出力，およびファイル出力をするかどうかを設定します。

×

×

UNIX版osagent限定

3

HVI_GTEE_FILESIZE

バーボースログの出力ファイルの上限サイズを設定します。

×

×

UNIX版osagent限定

4

HVI_GTEE_LOGPRESS

hvmgteeコマンドが正常終了したとき，またはSIGINT，もしくはSIGTERMを受信して終了したときまでに，出力していたログファイルを圧縮するかどうかを設定します。

×

×

UNIX版osagent限定

5

HVI_GTEE_FILECOUNT

同一モジュールのログファイル数の上限値を設定します。

×

×

UNIX版osagent限定

（凡例）　○：サポート　×：未サポート　−：説明なし

2.9.3　エラーログ（定義句）

エラーログに関する定義句の詳細について説明します。

(1)　HVI_ORBLOG_SIZE

〜<符号なし整数> ((45000〜1073741824)) <<45000>>（単位：バイト）

エラーログの出力ファイルの上限サイズを設定します。複数の同じプロセスが同じエラーログファイルに出力するため，ほかのプロセス起動中にこの定義句の設定値を変更した場合，エラーログファイルが更新時間に関係なく削除されるおそれがあります。そのため，すべてのプロセスを停止してから設定値を変更してください。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB，osagent以外のコマンド

2.9.4　メッセージログ（定義句）

メッセージログに関する定義句の詳細について説明します。

(1)　HVI_ORBMSGLOG_SIZE

〜<符号なし整数> ((4096〜16777216)) <<1048576>>（単位：バイト）

メッセージログの出力ファイルの上限サイズを設定します。複数の同じプロセスが同じメッセージログに出力するため，ほかのプロセス起動中にこの定義句の設定値を変更した場合，メッセージログファイルが更新時間に関係なく削除されるおそれがあります。そのため，すべてのプロセスを停止してから設定値を変更してください。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB限定

2.9.5　バーボースログ（定義句）

バーボースログに関する定義句の詳細について説明します。

(1)　HVI_GTEE_INTERVAL

〜<符号なし整数> ((0〜14515200)) <<180>> （単位：秒）

hvmgteeコマンドの稼働中に定義ファイルを読み取る間隔を設定します。

"0"を設定した場合，定義ファイルは読み取りません。そのため，"0"を設定したあと再び読み取りを有効にするためには，osagentの再起動が必要です。この設定値は，hvmgteeコマンドの稼働中に変更できます。

使用言語

UNIX版osagent限定

(2)　HVI_GTEE_OUTPUT

〜<文字列> { DISPLAY|FILE|ALL|OFF } <<FILE>>

hvmgteeコマンドを経由したデータの画面出力およびファイル出力をするかどうかを設定します。この設定値は，hvmgteeコマンドの稼働中に変更できます。

DISPLAY

画面出力だけを行い，ファイル出力を抑止します。

FILE

画面出力を抑止し，ファイル出力だけを行います。

ALL

画面出力およびファイル出力の両方を行います。

OFF

画面出力およびファイル出力の両方を抑止します。

使用言語

UNIX版osagent限定

(3)　HVI_GTEE_FILESIZE

〜<符号なし整数> ((1〜524288)) <<10240>>（単位：キロバイト）

バーボーズログの出力ファイルの上限サイズを設定します。

ファイルにログ出力されるときに，ファイルのサイズがチェックされます。そのときに，すでにこの設定値を超えていると，もう一つのファイルにスワップします。

この設定値は，hvmgteeコマンドの稼働中に変更できます。

使用言語

UNIX版osagent限定

(4)　HVI_GTEE_LOGPRESS

〜<文字列> { true|false|Y|N } <<true>>

hvmgteeコマンドが正常終了したとき，またはSIGINT，もしくはSIGTERMを受信して終了したときまでに，出力していたログファイルを圧縮するかどうかを設定します。この設定値は，hvmgteeコマンドの稼働中に変更できます。

true|Y

自動的に圧縮します。

false|N

自動的に圧縮しません。

設定値"Y"および"N"は，下位互換のために使用することはできますが，設定値"true"および"false"の使用を推奨します。

使用言語

UNIX版osagent限定

(5)　HVI_GTEE_FILECOUNT

〜<符号なし整数> ((2〜64)) <<4>>

同一モジュールのログファイル数の上限値を設定します。

ファイル数の上限値の変更はhvmgteeコマンドの起動時だけ有効とし，hvmgteeコマンドの稼働中の変更は無効となります。

使用言語

UNIX版osagent限定

2.10　プロパティの設定

この節では，プロパティの設定について，説明します。

環境変数に対応するプロパティを設定することで，環境変数と同じ設定ができます。プロパティに設定できる値，および値の範囲は対応する環境変数と同じです。また，環境変数とプロパティを同時に設定した場合は，プロパティの設定が有効となります。

設定できるプロパティは次のとおりです。

トレースプロパティ

モジュールトレース，通信トレース，マイナーコード，およびバーボースログのプロパティです。

マイナーコードプロパティ

システム例外のマイナーコードのプロパティです。

メッセージログプロパティ

メッセージログのプロパティです。

2.10.1　プロパティの設定方法

使用しているORBに応じて，プロパティを設定します。

(1)　プロパティの設定方法（Java ORB）

EJBクライアントアプリケーションの場合はJavaVMの起動オプション（システムプロパティ）に，WebコンテナサーバまたはJ2EEサーバの場合は，usrconf.cfgファイルに設定します。

(2)　プロパティの設定方法（C++ ORB）

C++ ORBの場合のプロパティを設定する方法について説明します。

htc.propsファイルに記述することで，プロパティを設定します。htc.propsファイルは，トレースプロパティ，マイナーコードプロパティ，およびメッセージログプロパティを設定するためのプロパティファイルです。htc.propsファイルに設定したプロパティは，ユーザプロセス，サーバプロセス，およびosagentで有効です。

なお，トレースプロパティ，およびマイナーコードプロパティはhtc.propsファイルだけで設定します。メッセージログプロパティはコマンドの引数で設定することもできます。設定方法は，マニュアル「Borland Enterprise Server VisiBroker デベロッパーズガイド」を参照してください。

なお，Linuxでは，htc.propsファイルを使用できません。

次の手順で設定してください。

htc.propsファイルの作成

次に示す形式で記述します。

プロパティ名=このプロパティに対する定義値

空白の行とコメント行（#で始まる行）は無視されます。

記述例を示します。

#trace property
vbroker.orb.htc.mtr.trace=true
vbroker.orb.htc.mtr.entryCount=5000

htc.propsファイルの格納

環境変数VBROKER_ADMで設定されているディレクトリに，"htc.props"の名称で，テキスト形式にして格納してください。

2.10.2　プロパティと環境変数の対応

プロパティとそれに対応する環境変数を次の表に示します。

表2‒14　プロパティと環境変数の対応（ORBのトラブルシュート機能）

項番

種別

プロパティ

環境変数

サポート言語

備考

Java ORB

C++ ORB

1

トレースプロパティ

vbroker.orb.htc.mtr.trace

HVI_MDLTRACE

○

○

−

2

vbroker.orb.htc.mtr.entryCount

HVI_MTRENTRYCOUNT

○

○

−

3

vbroker.orb.htc.mtr.fileCount

HVI_MTRFILECOUNT

○

○

−

4

vbroker.orb.htc.comt.trace

HVI_COMTRACE

○

○

−

5

vbroker.orb.htc.comt.entryCount

HVI_COMTENTRYCOUNT

○

○

−

6

vbroker.orb.htc.comt.fileCount

HVI_COMTFILECOUNT

○

○

−

7

vbroker.orb.htc.comt.telegSize

HVI_COMTTELEGSIZE

○

○

−

8

vbroker.orb.htc.traceFilenameTod

HVI_TRACEFILENAME_TOD

○

○

−

9

vbroker.orb.htc.nameLog.output

HVI_NAMELOGOUTPUT

○

○

ネーミングサービス限定

10

vbroker.orb.htc.nameLog.fileSize

HVI_NAMELOGFILESIZE

○

○

ネーミングサービス限定

11

vbroker.orb.htc.nameLog.fileCount

HVI_NAMELOGFILECOUNT

○

×

ネーミングサービス限定

12

vbroker.orb.htc.nameLog.snapshotInterval

HVI_NAMELOGSNAPSHOTINTERVAL

○

○

ネーミングサービス限定

13

vbroker.orb.htc.tracePath

HVI_TRACEPATH

○

○

"(ダブルクォーテーション)で囲まれたディレクトリを設定しないでください。設定した場合に動作の保証はできません。

14

vbroker.orb.htc.mapFileInit

HVI_MAPFILEINIT

○

○

UNIX限定

15

マイナーコードプロパティ

vbroker.orb.htc.omgVmcid

HVI_OMGVMCID

×

○

−

16

メッセージログプロパティ

vbroker.orb.htc.msgLog.output

HVI_MSGLOG_OUTPUT

○

×

−

17

vbroker.orb.htc.msgLog.console

HVI_MSGLOG_CONSOLE

○

×

UNIX限定

18

vbroker.orb.htc.msgLog.level

HVI_MSGLOG_LEVEL

○

○

−

19

vbroker.orb.htc.msgLog.security

HVI_MSGLOG_SECURITY

○

○

−

20

vbroker.orb.htc.msgLog.noPermission

HVI_MSGLOG_NO_PERMISSION

×

×

osagent限定

（凡例）　○：サポート　×：未サポート　−：説明なし

2.11　hdumpnsコマンドの使用方法（Cosminexus TPBroker）（Windows）

この節では，hdumpnsコマンドの使用方法について説明します。hdumpnsコマンドは，Cosminexus TPBroker（Windows）で，ネーミングサービスのスレッドダンプを取得するために使用します。

形式

hdumpns <ネーミングサービスのプロセスID>

機能

ネーミングサービスから応答が返らない場合，ネーミングサービスで障害が発生した場合などにJavaVMのスレッドダンプを取得します。

このコマンドは，Management Serverでネーミングサービスを起動した場合，またはManagement Serverではなく，J2EEサーバからネーミングサービスを自動起動した場合に使用します。ネーミングサービスがJ2EEサーバのプロセス内（インプロセス）で起動されている場合は使用できません。

このコマンドを実行するとネーミングサービスの標準出力，および表2-15に示す<スレッドダンプの出力ディレクトリ>¥javacore*.txtにスレッドダンプが出力されます。なお，JavaVMの-XX:-HitachiThreadDumpToStdoutオプションを設定してネーミングサービスを起動した場合，標準出力にスレッドダンプは出力されません。

表2‒15　スレッドダンプの出力ディレクトリ

ネーミングサービスの起動方法

設定値

スレッドダンプの出力ディレクトリ

Management Server

なし。

<Cosminexusのインストール先ディレクトリ>¥TPB¥logj

J2EEサーバのコマンド

デフォルト（次に示すプロパティがすべて設定されていない）。

<Cosminexusのインストール先ディレクトリ>¥CC¥server¥public¥ejb¥<J2EEサーバ名>¥logs¥TPB¥logj

[usrconf.cfg]

ejb.public.directory=<指定したディレクトリ>

<指定したディレクトリ>¥ejb¥<J2EEサーバ名>¥logs¥TPB¥logj

[usrconf.cfg]

ejb.server.log.directory=<指定したディレクトリ>

<指定したディレクトリ>¥ejb¥<J2EEサーバ名>¥logs¥TPB¥logj

[usrconf.properties]

vbroker.orb.htc.tracePath=<指定したディレクトリ>

<指定したディレクトリ>

表2-15の[usrconf.cfg]および[usrconf.properties]は，J2EEサーバで使用するプロパティファイルです。このファイルにJ2EEサーバのプロパティやオプションを設定することができます。設定方法については，マニュアル「Cosminexus システム構築ガイド」を参照してください。

プロパティの優先順位を次に示します。

ejb.public.directory < ejb.server.log.directory < vbroker.orb.htc.tracePath

引数

<ネーミングサービスのプロセスID>

スレッドダンプを取得したいネーミングサービスのプロセスIDを指定します。プロセスIDは，Windowsのタスクマネジャを使用して確認してください。プロセス名は"nameserv.exe"です。

入力例

コマンドの入力例を示します。

（例）

hdumpns 1104

戻り値

0：コマンドの実行に成功しました。

1：指定されたネーミングサービスと通信できません。

2：指定されたネーミングサービスと通信できません。

戻り値が0以外の場合，メッセージが出力されます。メッセージについては，「8.6　hdumpnsコマンドのエラーメッセージ」を参照してください。

注意事項

負荷が高い状態では，hdumpnsコマンドが一時的にエラーになる場合があります。その場合，hdumpnsコマンドを再度実行してください。

hdumpnsコマンド実行時にネーミングサービスから出力されるファイルjavacore*.txtのファイル数には制限がありません。そのため，hdumpnsコマンドを繰り返し実行するとディスク容量を圧迫することになります。javacore*.txtは定期的に退避し，削除してください。

2.12　メモリ所要量およびディスク占有量

この節では，ORBのトラブルシュート機能を使用するときの，メモリ所要量およびディスク占有量について説明します。

2.12.1　メモリ所要量

ORBのトラブルシュート機能を使用するときのメモリ所要量を次の表に示します。

表2‒16　ORBのトラブルシュート機能を使用するときのメモリ所要量

項番

項目

メモリ所要量（バイト）

1

モジュールトレースの取得

32ビット用OSの場合

Java ORB

16×<環境変数HVI_MTRENTRYCOUNTの値>＋15,360

C++ ORB

32×<環境変数HVI_MTRENTRYCOUNTの値>＋15,360

64ビット用OSの場合

Java ORB

32×<環境変数HVI_MTRENTRYCOUNTの値>＋15,360

C++ ORB

48×<環境変数HVI_MTRENTRYCOUNTの値>＋15,360

2

エラーログの取得

8,192

3

通信トレースの取得

32ビット用OSの場合

Java ORB

32×<環境変数HVI_COMTENTRYCOUNTの値>＋15,360

C++ ORB

24×<環境変数HVI_COMTENTRYCOUNTの値>＋15,360

64ビット用OSの場合

Java ORB

40×<環境変数HVI_COMTENTRYCOUNTの値>＋15,360

C++ ORB

24×<環境変数HVI_COMTENTRYCOUNTの値>＋15,360

4

メッセージログの取得

8,192

5

ネーミングサービス名前空間情報ログの取得

208×<登録するコンテキストの数>＋104×<登録するオブジェクトの数>＋8,192

注

UNIXの場合，モジュールトレースの取得はヒープメモリを使用しています。ヒープメモリが不足したときにはアプリケーションが異常終了するなど，動作が不安定になります。データサイズはモジュールトレースのサイズとプロセスで使用するデータのサイズを考慮して，limitコマンドなどで設定してください。

2.12.2　ディスク占有量

ORBのトラブルシュート機能を使用するときのディスク占有量について説明します。

(1)　ディスク占有量の算出式

ORBのトラブルシュート機能を使用するときのディスク占有量を次の表に示します。

表2‒17　ORBのトラブルシュート機能を使用するときのディスク占有量

項番

項目

ディスク占有量（バイト）

1

Windows

%VBROKER_ADM%¥..¥log¥comtrc¥*

UNIX※

$VBROKER_ADM/../log/comtrc/*

<C++ ORB通信トレース容量>以上

詳細は次の個所を参照してください。

「(2)(a)　C++ ORB通信トレース容量の算出式」

2

（UNIXだけ）※

$VBROKER_ADM/../log/hgttrc/*

<osagentバーボースログファイル容量>以上

詳細は次の個所を参照してください。

「(2)(b)　osagentバーボースログファイル容量の算出式」

3

Windows

%VBROKER_ADM%¥..¥log¥mdltrc¥*

UNIX※

$VBROKER_ADM/../log/mdltrc/*

<C++ ORBモジュールトレース容量>以上

詳細は次の個所を参照してください。

「(2)(c)　C++ ORBモジュールトレース容量の算出式」

4

Windows(C++ORB)だけ

%VBROKER_ADM%¥..¥log¥stktrc¥*

<C++ ORBスタックトレース容量>以上

詳細は次の個所を参照してください。

「(2)(d)　C++ ORBスタックトレース容量の算出式」

5

Windows

%VBROKER_ADM%¥..¥logj¥*

UNIX※

$VBROKER_ADM/../logj/*

<エラーログ容量>＋<メッセージログ容量>以上

詳細は次の個所を参照してください。

「(2)(e)　エラーログ容量の算出式」

「(2)(f)　メッセージログ容量の算出式」

6

Windows

%VBROKER_ADM%¥..¥logj¥comtrc¥*

UNIX※

$VBROKER_ADM/../logj/comtrc/*

<Java ORB通信トレース容量>＋<ネーミングサービス通信トレース容量>＋<osfind通信トレース容量>＋<oad通信トレース容量>＋<irep通信トレース容量>＋<gatekeeper通信トレース容量>以上

詳細は次の個所を参照してください。

「(2)(g)　Java ORB通信トレース容量の算出式」

「(2)(h)　ネーミングサービス通信トレース容量の算出式」

「(2)(i)　osfind通信トレース容量の算出式」

「(2)(j)　oad通信トレース容量の算出式」

「(2)(k)　irep通信トレース容量の算出式」

「(2)(l)　gatekeeper通信トレース容量の算出式」

7

Windows

%VBROKER_ADM%¥..¥logj¥mdltrc¥*

UNIX※

$VBROKER_ADM/../logj/mdltrc/*

<Java ORBモジュールトレース容量>＋<ネーミングサービスモジュールトレース容量>＋<osfindモジュールトレース容量>＋<oadモジュールトレース容量>＋<irepモジュールトレース容量>＋<gatekeeperモジュールトレース容量>以上

詳細は次の個所を参照してください。

「(2)(m)　Java ORBモジュールトレース容量の算出式」

「(2)(n)　ネーミングサービスモジュールトレース容量の算出式」

「(2)(o)　osfindモジュールトレース容量の算出式」

「(2)(p)　oadモジュールトレース容量の算出式」

「(2)(q)　irepモジュールトレース容量の算出式」

「(2)(r)　gatekeeperモジュールトレース容量の算出式」

8

Windows

%VBROKER_ADM%¥..¥logj¥namelog¥*

UNIX※

$VBROKER_ADM/../logj/namelog/*

<ネーミングサービス名前空間情報ログ容量>

詳細は次の個所を参照してください。

「(2)(s)　ネーミングサービス名前空間情報ログ容量の算出式」

注※

ORBアプリケーションプログラムが作成できるファイルサイズの上限値に，モジュールトレースまたは通信トレースのファイルサイズ以下の値を設定してORBアプリケーションプログラムを実行すると，アプリケーションが異常終了するなど，動作が不安定になります。ファイルサイズの上限値は，limitコマンドなどでトレースファイルのサイズを下回る値に変更しないでください。

(2)　出力ファイルの算出式

出力ファイルの算出式について説明します。

(a)　C++ ORB通信トレース容量の算出式

32ビット用OSの場合

C++ ORB通信トレース容量 = (24×<環境変数HVI_COMTENTRYCOUNTの値> ＋ 128)×(<実行中のosagentの数> ＋ <実行中のOTSのデーモンプロセスおよびコマンド数>)×<環境変数HVI_COMTFILECOUNTの値> / 0.8 （単位：バイト）

64ビット用OSの場合

C++ ORB通信トレース容量 = (24×<環境変数HVI_COMTENTRYCOUNTの値> ＋ 192)×(<実行中のosagentの数> ＋ <実行中のOTSのデーモンプロセスおよびコマンド数>)×<環境変数HVI_COMTFILECOUNTの値> / 0.8 （単位：バイト）

(b)　osagentバーボースログファイル容量の算出式

osagentバーボースログファイル容量 = (1,024×<定義句HVI_GTEE_FILESIZEの値>)×<実行中のosagentの数>×(<定義句HVI_GTEE_FILECOUNTの値> + 2) / 0.8 （単位：バイト）

(c)　C++ ORBモジュールトレース容量の算出式

32ビット用OSの場合

C++ ORBモジュールトレース容量 = (32×<環境変数HVI_MTRENTRYCOUNTの値>)×(<実行中のosagentの数> ＋ <実行中のOTSのデーモンプロセスおよびコマンド数>)×<環境変数HVI_MTRFILECOUNTの値> / 0.8 （単位：バイト）

64ビット用OSの場合

C++ ORBモジュールトレース容量 = (48×<環境変数HVI_MTRENTRYCOUNTの値> + 192) × (<実行中のosagentの数> + <実行中のOTSのデーモンプロセスおよびコマンド数>)×<環境変数HVI_MTRFILECOUNTの値> / 0.8 （単位：バイト）

(d)　C++ ORBスタックトレース容量の算出式

C++ ORBスタックトレース容量 = 4,000×<環境変数HVI_STKFILECOUNTの値> / 0.8 （単位：バイト）

(e)　エラーログ容量の算出式

エラーログ容量 = (<定義句HVI_ORBLOG_SIZEの値> + 512) ×2 / 0.8 （単位：バイト）

(f)　メッセージログ容量の算出式

メッセージログ容量 = <定義句HVI_ORBMSGLOG_SIZEの値>×2 / 0.8 （単位：バイト）

(g)　Java ORB通信トレース容量の算出式

32ビット用OSの場合

Windows

Java ORB通信トレース容量 = (32×<環境変数HVI_COMTENTRYCOUNTの値> + 128)×(<環境変数HVI_COMTFILECOUNTの値> + <実行中のJava ORB UAPの数>) / 0.8 （単位：バイト）

UNIX

Java ORB通信トレース容量 = (32×<環境変数HVI_COMTENTRYCOUNTの値> + 128) ×<環境変数HVI_COMTFILECOUNTの値> / 0.8 （単位：バイト）

64ビット用OSの場合

Windows

Java ORB通信トレース容量 = (40×<環境変数HVI_COMTENTRYCOUNTの値> + 192)×(<環境変数HVI_COMTFILECOUNTの値> + <実行中のJava ORB UAPの数>) / 0.8 （単位：バイト）

UNIX

Java ORB通信トレース容量 = (40×<環境変数HVI_COMTENTRYCOUNTの値> + 192) ×<環境変数HVI_COMTFILECOUNTの値> / 0.8 （単位：バイト）

(h)　ネーミングサービス通信トレース容量の算出式

32ビット用OSの場合

Windows

ネーミングサービス通信トレース容量 = (32×<環境変数HVI_COMTENTRYCOUNTの値> + 128)×(<環境変数HVI_COMTFILECOUNTの値> + <実行中のネーミングサービスの数>) / 0.8 （単位：バイト）

UNIX

ネーミングサービス通信トレース容量 = (32×<環境変数HVI_COMTENTRYCOUNTの値> + 128)×<環境変数HVI_COMTFILECOUNTの値> / 0.8 （単位：バイト）

64ビット用OSの場合

Windows

ネーミングサービス通信トレース容量 = (40×<環境変数HVI_COMTENTRYCOUNTの値> + 192)×(<環境変数HVI_COMTFILECOUNTの値> + <実行中のネーミングサービスの数>) / 0.8 （単位：バイト）

UNIX

ネーミングサービス通信トレース容量 = (40×<環境変数HVI_COMTENTRYCOUNTの値> + 192) ×<環境変数HVI_COMTFILECOUNTの値> / 0.8 （単位：バイト）

(i)　osfind通信トレース容量の算出式

32ビット用OSの場合

Windows

osfind通信トレース容量 = (32×<環境変数HVI_COMTENTRYCOUNTの値> + 128)×(<環境変数HVI_COMTFILECOUNTの値> + <実行中のosfindの数>) / 0.8 （単位：バイト）

UNIX

osfind通信トレース容量 = (32×<環境変数HVI_COMTENTRYCOUNTの値> + 128)×<環境変数HVI_COMTFILECOUNTの値> / 0.8 （単位：バイト）

64ビット用OSの場合

Windows

osfind通信トレース容量 = (40×<環境変数HVI_COMTENTRYCOUNTの値> + 192)×(<環境変数HVI_COMTFILECOUNTの値> + <実行中のosfindの数>) / 0.8 （単位：バイト）

UNIX

osfind通信トレース容量 = (40×<環境変数HVI_COMTENTRYCOUNTの値> + 192)×<環境変数HVI_COMTFILECOUNTの値> / 0.8 （単位：バイト）

(j)　oad通信トレース容量の算出式

32ビット用OSの場合

Windows

oad通信トレース容量 = (32×<環境変数HVI_COMTENTRYCOUNTの値> + 128)×(<環境変数HVI_COMTFILECOUNTの値> + <実行中のoadの数>) / 0.8 （単位：バイト）

UNIX

oad通信トレース容量 = (32×<環境変数HVI_COMTENTRYCOUNTの値> + 128)×<環境変数HVI_COMTFILECOUNTの値> / 0.8 （単位：バイト）

64ビット用OSの場合

Windows

oad通信トレース容量 = (40×<環境変数HVI_COMTENTRYCOUNTの値> + 192)×(<環境変数HVI_COMTFILECOUNTの値> + <実行中のoadの数>) / 0.8 （単位：バイト）

UNIX

oad通信トレース容量 = (40×<環境変数HVI_COMTENTRYCOUNTの値> + 192)×<環境変数HVI_COMTFILECOUNTの値> / 0.8 （単位：バイト）

(k)　irep通信トレース容量の算出式

32ビット用OSの場合

Windows

irep通信トレース容量 = (32×<環境変数HVI_COMTENTRYCOUNTの値> + 128)×(<環境変数HVI_COMTFILECOUNTの値> + <実行中のirepの数>) / 0.8 （単位：バイト）

UNIX

irep通信トレース容量 = (32×<環境変数HVI_COMTENTRYCOUNTの値> + 128)×<環境変数HVI_COMTFILECOUNTの値> / 0.8 （単位：バイト）

64ビット用OSの場合

Windows

irep通信トレース容量 = (40×<環境変数HVI_COMTENTRYCOUNTの値> + 192)×(<環境変数HVI_COMTFILECOUNTの値> + <実行中のirepの数>) / 0.8 （単位：バイト）

UNIX

irep通信トレース容量 = (40×<環境変数HVI_COMTENTRYCOUNTの値> + 192)×<環境変数HVI_COMTFILECOUNTの値> / 0.8 （単位：バイト）

(l)　gatekeeper通信トレース容量の算出式

Windowsだけサポートしています。

Windows

gatekeeper通信トレース容量 = (32×<環境変数HVI_COMTENTRYCOUNTの値> + 128)×(<環境変数HVI_COMTFILECOUNTの値> + <実行中のgatekeeperの数>) / 0.8 （単位：バイト）

(m)　Java ORBモジュールトレース容量の算出式

32ビット用OSの場合

Java ORBモジュールトレース容量 = (16×<環境変数HVI_MTRENTRYCOUNTの値> + 128)×(<環境変数HVI_MTRFILECOUNTの値> + <実行中のJava ORB UAPの数>) / 0.8 （単位：バイト）

64ビット用OSの場合

Java ORBモジュールトレース容量 = (32×<環境変数HVI_MTRENTRYCOUNTの値> + 192)×(<環境変数HVI_MTRFILECOUNTの値> + <実行中のJava ORB UAPの数>) / 0.8 （単位：バイト）

(n)　ネーミングサービスモジュールトレース容量の算出式

32ビット用OSの場合

ネーミングサービスモジュールトレース容量 = (16×<環境変数HVI_MTRENTRYCOUNTの値> + 128)×(<環境変数HVI_MTRFILECOUNTの値> + <実行中のネーミングサービスの数>) / 0.8 （単位：バイト）

64ビット用OSの場合

ネーミングサービスモジュールトレース容量 = (32×<環境変数HVI_MTRENTRYCOUNTの値> + 192)×(<環境変数HVI_MTRFILECOUNTの値> + <実行中のネーミングサービスの数>) / 0.8 （単位：バイト）

(o)　osfindモジュールトレース容量の算出式

32ビット用OSの場合

osfindモジュールトレース容量 = (16×<環境変数HVI_MTRENTRYCOUNTの値> + 128) × (<環境変数HVI_MTRFILECOUNTの値> + <実行中のosfindの数>) / 0.8 （単位：バイト）

64ビット用OSの場合

osfindモジュールトレース容量 = (32×<環境変数HVI_MTRENTRYCOUNTの値> + 192)×(<環境変数HVI_MTRFILECOUNTの値> + <実行中のosfindの数>) / 0.8 （単位：バイト）

(p)　oadモジュールトレース容量の算出式

32ビット用OSの場合

oadモジュールトレース容量 = (16×<環境変数HVI_MTRENTRYCOUNTの値> + 128)×(<環境変数HVI_MTRFILECOUNTの値> + <実行中のoadの数>) / 0.8 （単位：バイト）

64ビット用OSの場合

oadモジュールトレース容量 = (32×<環境変数HVI_MTRENTRYCOUNTの値> + 192)×(<環境変数HVI_MTRFILECOUNTの値> + <実行中のoadの数>) / 0.8 （単位：バイト）

(q)　irepモジュールトレース容量の算出式

32ビット用OSの場合

irepモジュールトレース容量 = (16×<環境変数HVI_MTRENTRYCOUNTの値> + 128)×(<環境変数HVI_MTRFILECOUNTの値> + <実行中のirepの数>) / 0.8 （単位：バイト）

64ビット用OSの場合

irepモジュールトレース容量 = (32×<環境変数HVI_MTRENTRYCOUNTの値> + 192)×(<環境変数HVI_MTRFILECOUNTの値> + <実行中のirepの数>) / 0.8 （単位：バイト）

(r)　gatekeeperモジュールトレース容量の算出式

Windowsだけサポートしています。

gatekeeperモジュールトレース容量 = (16×<環境変数HVI_MTRENTRYCOUNTの値> + 128)×(<環境変数HVI_MTRFILECOUNTの値> + <実行中のgatekeeperの数>) / 0.8 （単位：バイト）

(s)　ネーミングサービス名前空間情報ログ容量の算出式

ネーミングサービス名前空間情報ログ容量 = (<環境変数HVI_NAMELOGFILESIZEの値> + 1,024)×2×<環境変数HVI_NAMELOGFILECOUNTの値> / 0.8 （単位：バイト）

3　ORBの拡張機能

この章では，ORBの運用に必要な拡張機能について説明します。

3.1　ORBの拡張機能の概要

この節では，ORBの運用に必要な拡張機能について説明します。拡張機能では次に示す動作の変更ができます。

osagent

ユーザプロセス

サーバプロセス

ORBの拡張機能は，環境変数およびプロパティを設定することで使用できます。環境変数とプロパティの両方を設定した場合には，プロパティの設定が有効になります。

プロパティの設定方法は，Java ORBもC++ ORBも通常のプロパティと同じです。詳細は，マニュアル「Borland Enterprise Server VisiBroker デベロッパーズガイド」を参照してください。

注意

Java ORBの場合，プロパティだけで設定します。環境変数では設定できません。C++ ORBの場合は，環境変数，およびプロパティで設定できます。

3.2　環境変数とプロパティの一覧

この節では，ORBの拡張機能で設定する環境変数およびプロパティの一覧を示します。

3.2.1　osagentの設定の一覧

osagentに設定する環境変数およびプロパティの一覧を次の表に示します。

表3‒1　osagentの設定の一覧

環境変数

プロパティ

機能

備考

HVI_OSAGENT_CLIENTHANDLERADDR_FILE

なし。

osagentでのマルチホームホスト環境の設定

osagent限定

HVI_OSAGENT_ALIVE_INTERVAL

なし。

HEARTBEATメッセージおよびARE_YOU_ALIVEメッセージの送信間隔

osagent限定

HVI_OSAGENT_LOCATE_VERBOSE

なし。

バーボースログの出力抑止

osagent限定

HVI_OSAGENT_TRIGGER_NOUSE

なし。

osagent間のメッセージの出力抑止

osagent限定

HVI_OSAGENT_RESEND_MAXCOUNT

なし。

osagent間のメッセージ送信処理のリトライ回数

osagent限定

HVI_OSAGENT_RESEND_INTERVAL

なし。

osagent間のメッセージ送信処理のリトライ間隔

osagent限定

HVI_DNS_TRYAGAIN_RETRY_COUNT

なし。

アドレス解決処理のリトライ回数

−

HVI_DNS_TRYAGAIN_RETRY_INTERVAL

なし。

アドレス解決処理のリトライ間隔

−

HVI_SIGXCPU_EXIT

なし。

SIGXCPUシグナル受信時の動作変更

UNIX版osagent限定

HVI_SIGXFSZ_EXIT

なし。

SIGXFSZシグナル受信時の動作変更

UNIX版osagent限定

（凡例）　−：説明なし

3.2.2　ユーザプロセスの設定の一覧

ユーザプロセスに設定する環境変数およびプロパティの一覧を次の表に示します。

表3‒2　ユーザプロセスの設定の一覧

環境変数

プロパティ

機能

使用できる言語

備考

Java ORB

C++ ORB

なし。

vbroker.orb.htc.requestTimer

リクエストの監視間隔

○

×

−

なし。

vbroker.orb.htc.strictSequenceAny

sequence<any>のマーシャリング方法の変更

○

×

−

なし。

vbroker.rmi.htc.disableCMClass

java.util.Vectorクラスの下位互換の設定

○

×

−

なし。

vbroker.ce.iiop.ccm.htc.readerPerConnection

コネクションのクローズの抑止

○

×

−

なし。

vbroker.ce.iiop.ccm.htc.threadStarter

専用スレッドによる応答電文受信の設定

○

×

−

HVI_SURROGATE_CHECK_OFF

vbroker.orb.htc.surrogateCheckOff

文字コード範囲のチェック抑止

○※

○

−

HVI_CONNECTION_CACHE

vbroker.orb.htc.connectionCache

リファレンス解放時のコネクションキャッシュ抑止

×

○

−

HVI_CONNECTION_RETRY

vbroker.orb.htc.connectionRetry

connect()エラー時の再試行の抑止

×

○

−

HVI_AGENT_ADDR_ONLY

vbroker.agent.htc.addrOnly

osagent探索方式の切り替え

×

○

−

HVI_TERMINATION_TIMER

vbroker.orb.htc.terminationTimer

終了処理でのSleepのタイマ値

×

○

−

HVI_DNS_TRYAGAIN_RETRY_COUNT

vbroker.orb.htc.tryAgainRetryCount

アドレス解決処理のリトライ回数

×

○

−

HVI_DNS_TRYAGAIN_RETRY_INTERVAL

vbroker.orb.htc.tryAgainRetryInterval

アドレス解決処理のリトライ間隔

×

○

−

HVI_CTRLHANDLER_RTN

vbroker.orb.htc.ctrlHandlerRtn

コントロールハンドラのリターン値

×

○

Windows限定

HVI_CTRLHANDLER_NOCLEANUP

vbroker.orb.htc.ctrlHandlerNoCleanup

コントロールハンドラ内で行うORBの終了処理

×

○

Windows限定

HVI_STRICT_ANY_MARSHALLING

vbroker.orb.htc.strictAnyMarshalling

CORBA::Any型のマーシャリング方法の変更

×

○

Windows限定

HVI_UNLIMITED_QOS_TIMEOUT_POLICY

vbroker.orb.htc.unlimitedQosTimeoutPolicy

QoSポリシーの上限値解除

×

○

32ビット用UNIX限定

HVI_BIND_MAX

vbroker.orb.htc.bindMax

バインドのリトライ回数

×

○

−

HVI_BIND_SLEEP_TIME

vbroker.orb.htc.bindSleepTime

バインドのリトライ間隔

×

○

−

HVI_SPLIT_RW

vbroker.orb.htc.splitRw

GIOPメッセージの分割送受信

×

○

Windows限定

（凡例）　○：サポート　×：未サポート　−：説明なし

注※

プロパティだけをサポートしています。環境変数はサポートしていません。

3.2.3　サーバプロセスの設定の一覧

サーバプロセスに設定する環境変数およびプロパティの一覧を次の表に示します。

表3‒3　サーバプロセスの設定の一覧

環境変数

プロパティ

説明

使用できる言語

備考

Java ORB

C++ ORB

HVI_OAD_NOUSE

vbroker.orb.htc.oadNoUse

OADによる自動検索の抑止

○※

○

−

HVI_NCATCHALL

vbroker.orb.htc.ncatchall

CORBA::UNKNOWN例外発生の抑止

×

○

Windows限定

（凡例）　○：サポート　×：未サポート　−：説明なし

注※

プロパティだけをサポートしています。環境変数はサポートしていません。

3.3　osagentの設定

この節では，osagentに設定する環境変数およびプロパティの詳細について説明します。

3.3.1　osagentでのマルチホームホスト環境の設定

環境変数

プロパティ

指定範囲

デフォルト値

HVI_OSAGENT_CLIENTHANDLERADDR_FILE

なし。

任意のパス名

（絶対パスのファイル名）

Windows

%VBROKER_ADM%¥htc.clienthandleraddr

UNIX

${VBROKER_ADM}/htc.clienthandleraddr

この機能は，htc.clienthandleraddrファイルとして使用するファイルを設定します。この機能を設定することで，任意のファイルをhtc.clienthandleraddrファイルとして使用できます。

htc.clienthandleraddrファイルを使用することで，osagentとクライアントアプリケーション間の通信で使用するIPアドレスをカスタマイズし，マルチホームホスト環境で通信できるようになります。htc.clienthandleraddrファイルには，各ネットワーク上のアプリケーションに対して，osagentが応答するIPアドレスを定義します。

osagentは各アプリケーションとUDPおよびTCPを使用して通信します。そのため，マルチホームホスト上で起動するosagentがアプリケーションとの通信に使用するIPアドレスは，通常localaddrファイルに定義されている適切なインタフェースまたはプライマリIPアドレスです。プライマリIPアドレスとは，gethostname()またはsysinfo()を利用して得られるホスト名を使用してgethostbyname()を発行して得られたIPアドレスのことをいいます。

しかし，osagentと異なるサブネットに存在するアプリケーションとosagentがプライマリIPアドレスではないネットワークインタフェースを使用して通信する場合は，osagentとアプリケーション間で，円滑に通信できないことがあります。そのため，htc.clienthandleraddrファイルに，osagentが各アプリケーションに対して使用するIPアドレスを動的に指定することで，上記の動作で不都合がある環境で，osagentとアプリケーション間の通信が円滑に行えるようになります。

マルチホームホスト環境では，htc.clienthandleraddrファイル内のosagentが応答するIPアドレスに，次のようにサービスIPアドレスを指定してください。

htc.clienthandleraddrファイルの記述形式

ファイルの記述形式を次に示します。

通信相手のIPアドレス   サブネットマスク     osagentが応答するIPアドレス
XXX.XXX.XXX.XXX     XXX.XXX.XXX.XXX   XXX.XXX.XXX.XXX

Xは任意の数字です。

「#」で始まるエントリは，コメント行と見なされます。

行は必ず改行文字で終了します。

htc.clienthandleraddrファイルの設定例

次の図に示したシステム構成を例に説明します。

図3‒1　マルチホームホスト環境のシステム構成（osagentでのマルチホームホスト環境の設定）

条件

マルチホームホスト環境で，osagent（ホストA），クライアント（ホストD）の間で通信します。htc.clienthandleraddrファイルは，osagentを起動するホスト（ホストA）に格納します。

設定されているIPアドレスは，次のとおりです。

A.A.A.A：ホストAの実IP（プライマリIP）アドレス

C.C.C.C：ホストAのサービスIPアドレス（osagentが応答するIPアドレス）

D.D.D.D：ホストDの実IP（プライマリIP）アドレス

htc.clienthandleraddrファイルの内容

図3-1に示したシステム構成で，上記の条件の場合のhtc.clienthandleraddrファイルの内容を次に示します。

D.D.D.D <subnet-mask> C.C.C.C

注意事項

環境変数HVI_OSAGENT_CLIENTHANDLERADDR_FILEを設定していない場合，デフォルト値に示したhtc.clienthandleraddrファイルを使用します。

備考

osagent限定

3.3.2　HEARTBEATメッセージおよびARE_YOU_ALIVEメッセージの送信間隔

環境変数

プロパティ

指定範囲

デフォルト値

HVI_OSAGENT_ALIVE_INTERVAL

なし。

60〜86400

300

osagentが定期的に自身の存在を通知するメッセージ（HEARTBEATメッセージ），および認識しているほかのosagentの存在確認メッセージ（ARE_YOU_ALIVEメッセージ）の送信間隔を秒単位で設定します。

注意事項

送信間隔を短くした場合，送信量が多くなることで通信処理に負荷が掛かります。

備考

osagent限定

3.3.3　バーボースログの出力抑止

環境変数

プロパティ

指定範囲

デフォルト値

HVI_OSAGENT_LOCATE_VERBOSE

なし。

true|false

true

osagentのバーボースログ取得時にスマートファインダコマンド（osfindコマンド）を実行すると，osagentのバーボースログのロケーションサービスに関連する大量のメッセージが出力されます。

この機能は，osagentのバーボースログのロケーションサービスに関連するメッセージの出力を抑止するかどうかを設定します。

true

ロケーションサービスに関連するメッセージを抑止しません。

false

ロケーションサービスに関連するメッセージを抑止します。

備考

osagent限定

3.3.4　osagent間のメッセージの出力抑止

環境変数

プロパティ

指定範囲

デフォルト値

HVI_OSAGENT_TRIGGER_NOUSE

なし。

true|false

false

osagent間で行われるサーバ起動および終了時のメッセージを抑止するかどうかを設定します。

true

サーバ起動および終了時のメッセージを抑止します。

false

サーバ起動および終了時のメッセージを抑止しません。

注意事項

トリガー機能を使用しているシステムの場合は，環境変数HVI_OSAGENT_TRIGGER_NOUSEを設定しないでください。

備考

osagent限定

3.3.5　osagent間のメッセージ送信処理のリトライ回数

環境変数

プロパティ

指定範囲

デフォルト値

HVI_OSAGENT_RESEND_MAXCOUNT

なし。

1〜59

4

サーバオブジェクトの探索時に，osagent間で送信するDSAMessage::GET_PROVIDERメッセージの送信回数の最大値を設定します。

備考

osagent限定

3.3.6　osagent間のメッセージ送信処理のリトライ間隔

環境変数

プロパティ

指定範囲

デフォルト値

HVI_OSAGENT_RESEND_INTERVAL

なし。

1〜59

2

サーバオブジェクトの探索時に，osagent間で送信するDSAMessage::GET_PROVIDERメッセージの送信間隔を秒単位で設定します。

備考

osagent限定

3.3.7　アドレス解決処理のリトライ回数

環境変数

プロパティ

指定範囲

デフォルト値

HVI_DNS_TRYAGAIN_RETRY_COUNT

なし。

-1〜65535

20

osagentをDNS環境下で使用している場合にDNS障害が発生すると，osagentはDNSへのアドレス解決処理を一定回数リトライします。この機能は，DNSへのアドレス解決処理のリトライ回数を設定します。

-1

無限にリトライします。

0

リトライしません。

1〜65535

設定した数字の回数だけリトライします。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

備考

なし。

3.3.8　アドレス解決処理のリトライ間隔

環境変数

プロパティ

指定範囲

デフォルト値

HVI_DNS_TRYAGAIN_RETRY_INTERVAL

なし。

0〜60

0

osagentをDNS環境下で使用している場合にDNS障害が発生すると，osagentはDNSへのアドレス解決処理を一定回数リトライします。この機能は，DNSへのアドレス解決処理のリトライ間隔を秒単位で設定します。

0

リトライ間隔を空けません。

1〜60

設定した数字の秒数だけリトライ間隔を空けます。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

備考

なし。

3.3.9　SIGXCPUシグナル受信時の動作変更

環境変数

プロパティ

指定範囲

デフォルト値

HVI_SIGXCPU_EXIT

なし。

true|false

false

環境変数HVI_SIGXCPU_EXITにはosagentのSIGXCPUシグナル受信時の動作を無視にするか，停止にするかの指定をします。

true

SIGXCPUシグナル受信時に，プロセスを停止させます。

false

SIGXCPUシグナル受信時に，処理を続行します。

注意事項

指定範囲外の値が設定された場合，デフォルト値が設定されます。

osagentに対して，limitなどでCPU時間の制限はしないようにしてください。CPU時間を制限した場合，osagentの性能に影響を与える場合があります。

SIGXCPUシグナルを無視する設定（デフォルト動作）とした場合でも，ハードリミットに達した場合は，プロセスは強制終了します。（AIX5L版，Linux版のみ）

備考

UNIX版osagent限定

3.3.10　SIGXFSZシグナル受信時の動作変更

環境変数

プロパティ

指定範囲

デフォルト値

HVI_SIGXFSZ_EXIT

なし

true|false

false

環境変数HVI_SIGXFSZ_EXITにはosagentのSIGXFSZシグナル受信時の動作を無視にするか，停止にするかの指定をします。

true

SIGXFSZシグナル受信時に，プロセスを停止させます。

false

SIGXFSZシグナル受信時に，処理を続行します。

注意事項

指定範囲外の値が設定された場合，デフォルト値が設定されます。

osagentに対して，limitなどでファイルサイズを制限する場合は，ログまたはトレースの出力ファイルサイズが制限値を越えないように設定してください。また，SIGXFSZシグナルを無視した場合（デフォルト動作），ファイルサイズが制限値を越えるとトレースファイルの出力はしません。ログファイルは制限値までのログ出力をします。各種ログ，トレースファイルの容量の詳細は「2.12.2　ディスク占有量」の各トレースファイル容量の算出式を参照してください。

備考

UNIX版osagent限定

3.4　ユーザプロセスの設定

この節では，ORBのライブラリを使用して作成するユーザアプリケーションに設定する環境変数およびプロパティの詳細について説明します。

3.4.1　リクエストの監視間隔

環境変数

プロパティ

指定範囲

デフォルト値

なし。

vbroker.orb.htc.requestTimer

100〜1566848000

3000

ORBは一定間隔でリクエストの送信状態（QoS::RelativeRequestTimeoutPolicy）を確認します。この機能は，この間隔をミリ秒単位で設定します。

注意事項

プロパティvbroker.orb.htc.requestTimerに設定した監視間隔分，QoS::RelativeRequestTimeoutPolicyによるタイムアウト発生が間延びすることがあります。

プロパティvbroker.orb.htc.requestTimerに小さ過ぎる値を設定すると，CPUの占有率が高くなることが要因となって，性能が劣化するおそれがあります。

ORBプロパティvbroker.orb.fragmentSizeを同時に設定した場合，RelativeRequestTimeoutの検知に時間が掛かることがあります。

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB限定

3.4.2　sequence<any>のマーシャリング方法の変更

環境変数

プロパティ

指定範囲

デフォルト値

なし。

vbroker.orb.htc.strictSequenceAny

true|false

false

sequence<any>について，CORBA仕様に準拠したマーシャル/アンマーシャルで通信を行うかどうかを設定します。

true

sequence<any>について，CORBA仕様に準拠したマーシャル/アンマーシャルで通信します。

false

sequence<any>について，TPBroker独自のマーシャル/アンマーシャルができるかどうかを自動的に判断して通信します。

サーバ，クライアントのどちらかに"true"を設定することで，sequence<any>をCORBA仕様に準拠したマーシャル/アンマーシャルで通信を行えます。プロパティvbroker.orb.htc.strictSequenceAnyはプロセス単位で有効になり，プロセスで最初にORB.init()を発行したときの設定値が有効になります。

TPBrokerは，通信相手によってsequence<any>についてTPBroker独自のマーシャル/アンマーシャルができるかどうかを自動的に判断します。そのため，通常はプロパティvbroker.orb.htc.strictSequenceAnyを設定する必要はありませんが，TPBroker Object Transaction Monitorを使用する場合にはこの機能の設定が必要です。TPBroker Object Transaction Monitorでの指示に従ってください。

使用言語

Java ORB限定

3.4.3　java.util.Vectorクラスの下位互換の設定

環境変数

プロパティ

指定範囲

デフォルト値

なし。

vbroker.rmi.htc.disableCMClass

java.util.Vector

null

Cosminexus TPBroker 05-18以降では，Cosminexus TPBroker 05-00，05-10，および05-11とjava.util.Vectorクラスについて互換性がありません。java.util.Vectorクラスのオブジェクトを，Cosminexus TPBroker 05-00，05-10，および05-11との間で送受信する場合は，MARSHAL例外またはデータの不整合が発生します。この機能は，java.util.Vectorクラスを正しく送受信する機能を使用するかどうかを設定します。

EJBクライアントアプリケーションの場合はシステムプロパティに，WebコンテナサーバまたはJ2EEサーバの場合はusrconf.propertiesに，次のとおりに設定してください。

vbroker.rmi.htc.disableCMClass=java.util.Vector

注意事項

プロパティvbroker.rmi.htc.disableCMClassを設定した場合は，該当するプロセスとjava.util.Vectorクラスとの送受信を行う，Cosminexusのすべてのプロセスに，プロパティvbroker.rmi.htc.disableCMClassを設定する必要があります。

使用言語

Java ORB限定

3.4.4　コネクションのクローズの抑止

環境変数

プロパティ

指定範囲

デフォルト値

なし。

vbroker.ce.iiop.ccm.htc.readerPerConnection

true|false

false

Cosminexus TPBroker 05-12以降，リクエストがタイムアウトした場合に，コネクションをクローズします。コネクションをクローズするため，タイムアウトが発生したときに同じ宛先のサーバと通信中のほかのスレッドには，通信障害が発生します。

この機能は，タイムアウト発生時のコネクションのクローズを抑止するかどうかを設定します。この機能で設定するプロパティはクライアント側で指定します。また，ここで指定した値はORBごとに有効になります。

true

タイムアウト発生時のコネクションのクローズを抑止します。

false

タイムアウト発生時のコネクションのクローズを抑止しません。

注意事項

"true"を設定した場合，コネクションごとにリプライ受信専用スレッドを起動します。スレッド数を見積もるときに考慮してください。

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

使用言語

Java ORB限定

3.4.5　専用スレッドによる応答電文受信の設定

環境変数

プロパティ

指定範囲

デフォルト値

なし。

vbroker.ce.iiop.ccm.htc.threadStarter

true|false

false

リプライ受信専用スレッドを管理するスレッドを起動するかどうかを設定します。Webアプリケーション，もしくはEJB（J2EEサーバ）でvbroker.ce.iiop.ccm.htc.readerPerConnection=trueを設定する場合は，"true"を設定してください。

true

リプライ受信専用スレッドを管理するスレッドを起動します。

false

リプライ受信専用スレッドを管理するスレッドを起動しません。

注意事項

"true"を設定した場合，リプライ受信専用スレッドを管理するスレッドを，ORBインスタンスごとに一つ起動します。スレッド数を見積もるときに考慮してください。

使用言語

Java ORB限定

3.4.6　文字コード範囲のチェック抑止

環境変数

プロパティ

指定範囲

デフォルト値

HVI_SURROGATE_CHECK_OFF

（C++ ORB限定）

vbroker.orb.htc.surrogateCheckOff

auto|true|false

auto

コードセットがUTF-16の場合（TPBrokerはUTF-16だけサポート），0xD800〜0xDFFFの範囲にあるデータを，IDLのwchar型またはwstring型で送受信するかどうかを設定します。RMI-IIOP通信で，char型の送受信はIDLのwchar型と同等に，java.lang.Stringオブジェクトの送受信はIDLのwstring型と同等に扱われます。

Unicodeの補助文字は，UTF-16ではサロゲートペアと呼ばれる0xD800〜0xDFFFの範囲にあるデータを対にした値で，表されます。Unicodeの補助文字を送受信したい場合は，"auto"（デフォルト値）または"true"を設定してください。

auto

通信相手によって，0xD800〜0xDFFFの範囲にあるデータを含むwchar型またはwstring型を送受信するかどうかを自動的に切り替えます。

次の条件がすべて重なる場合に送受信できます。それ以外は"false"を設定したときと同じ動作をします。

通信相手がTPBroker 05-19以降である。

通信相手がこの機能に"auto"（デフォルト値）または"true"を設定している。

GIOP1.2（TPBrokerのデフォルト値）またはGIOP1.1で通信している。

true

0xD800〜0xDFFFの範囲にあるデータを含むIDLのwchar型またはwstring型を送受信します。

false

TPBroker 05-18以前と同じ動作です。

次の条件のどれかの場合に，0xD800〜0xDFFFの範囲にあるデータを含むIDLのwchar型またはwstring型を送受信しません。そのため，例外DATA_CONVERSIONが発生します。

Java ORBの場合

・IDLのwchar型をGIOP1.0，GIOP1.1，またはGIOP1.2で送信する。

・IDLのwstring型をGIOP1.2，およびvbroker.orb.embedCodesetに"true"（TPBroker 05-18以前のデフォルト）を設定して送信する。

C++ ORBの場合

・IDLのwchar型をGIOP1.1，またはGIOP1.2で送受信する。

・IDLのwstring型をGIOP1.1，またはGIOP1.2で送信する。

注意事項

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

プロパティvbroker.orb.htc.surrogateCheckOffにautoを指定（またはデフォルト）したサーバおよびクライアントが，IDLのwchar/wstring型でUnicodeの補助文字を含むデータを送受信する場合，以下に注意してください。

設定した値と異なる動作になる場合があります。

(a) 05-18以前のTPBrokerで作成したIORファイルと，05-19以降のTPBrokerで作成したIORファイルを混在させないでください。

(b) 05-19以降のTPBrokerで，上記機能にautoまたはtrueを指定して作成したIORファイルと，falseを指定して作成したIORファイルを混在させないでください。

(c) 上記機能の設定を変更する場合は，サーバとクライアントを共に停止してから設定し直してください。

注　IORファイルの混在とは，vbroker.se.xxx.scm.yyy.listener.portを固定して複数のIORファイルを作成し，使用することを意味します。

使用言語

環境変数：C++ ORB限定

プロパティ：Java ORB，C++ ORB

3.4.7　リファレンス解放時のコネクションキャッシュ抑止

環境変数

プロパティ

指定範囲

デフォルト値

HVI_CONNECTION_CACHE

vbroker.orb.htc.connectionCache

true|false

true

オブジェクトリファレンスの解放時にサーバとの接続をキャッシュするかどうかを設定します。

true

リファレンス解放時に，プロパティvbroker.ce.iiop.ccm.connectionCacheMax，およびプロパティvbroker.ce.iiop.ccm.connectionMaxIdleの指定に従って，サーバとのコネクションをキャッシュします。

false

サーバとのコネクションをキャッシュしません。プロパティvbroker.ce.iiop.ccm.connectionCacheMax，およびプロパティvbroker.ce.iiop.ccm.connectionMaxIdleの指定は無視されます。

注意事項

設定機能範囲外の値を設定した場合は，デフォルト値が設定されます。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

C++ ORB限定

3.4.8　connect()エラー時の再試行の抑止

環境変数

プロパティ

指定範囲

デフォルト値

HVI_CONNECTION_RETRY

vbroker.orb.htc.connectionRetry

true|false

true

コネクトのタイムアウトの指定に関係なく，connect()がECONNREFUSEDになった場合にconnect()のリトライを行うかどうかを設定します。

true

リトライします。

false

リトライしません。QoSポリシー（RelativeConnectionTimeoutPolicy）に指定した時間をおいて，ECONNREFUSEDをリターンします。

使用言語

C++ ORB限定

3.4.9　osagent探索方式の切り替え

環境変数

プロパティ

指定範囲

デフォルト値

HVI_AGENT_ADDR_ONLY

vbroker.agent.htc.addrOnly

true|false

false

この機能では，osagentの探索方式を設定します。

通常は，アプリケーションは自身が接続するosagentは，プロパティvbroker.agent.addrで設定されたホスト，自ホスト，agentaddrファイルで指定されたホスト，自身のネットワークへのブロードキャストの順番で探索を行います。このとき，最初に応答を返したosagentに接続します。

この機能を設定すると，環境変数OSAGENT_ADDR，またはプロパティvbroker.agent.addrで設定されたホストだけにosagentの探索を行うことができます。

true

環境変数OSAGENT_ADDR，またはプロパティvbroker.agent.addrで設定されたホストだけが対象です。

false

プロパティvbroker.agent.addrで設定されたホスト，自ホスト，agentaddrファイルで指定されたホスト，自身のネットワークへのブロードキャストの順番で探索を行います。

注意事項

"true"の場合，環境変数OSAGENT_ADDR，またはプロパティvbroker.agent.addrのどちらかを設定します。設定されていない場合，この機能は動作しません。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

C++ ORB限定

3.4.10　終了処理でのSleepのタイマ値

環境変数

プロパティ

指定範囲

デフォルト値

HVI_TERMINATION_TIMER

vbroker.orb.htc.terminationTimer

0〜10000

0

マルチスレッドでUAPが不正に終了したとき，UAPの終了に同期をとるために，ORBのDLLファイルの終了処理内でのSleepのタイマ値をミリ秒単位で設定します。

0

Sleepをしません。

1〜10000

設定した数字分だけSleepします。

この機能を設定すると，メインスレッドが子スレッドより先に終了することで発生する異常終了やハングアップを回避できます。

注意事項

TPBroker 05-16-/A以降（UNIX）では，この機能の設定は不要です。

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

C++ ORB限定

3.4.11　アドレス解決処理のリトライ回数

環境変数

プロパティ

指定範囲

デフォルト値

HVI_DNS_TRYAGAIN_RETRY_COUNT

vbroker.orb.htc.tryAgainRetryCount

-1〜65535

20

TPBrokerをDNS環境下で使用している場合，DNS障害が発生すると，TPBrokerはDNSへのアドレス解決処理を一定回数リトライします。この機能は，DNSへのアドレス解決処理のリトライ回数を設定します。

-1

無限にリトライします。

0

リトライしません。

1〜65535

設定した数字の回数だけリトライします。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

C++ ORB限定

3.4.12　アドレス解決処理のリトライ間隔

環境変数

プロパティ

指定範囲

デフォルト値

HVI_DNS_TRYAGAIN_RETRY_INTERVAL

vbroker.orb.htc.tryAgainRetryInterval

0〜60

0

TPBrokerをDNS環境下で使用している場合，DNS障害が発生すると，TPBrokerはDNSへのアドレス解決処理を一定回数リトライします。この機能は，DNSへのアドレス解決処理のリトライ間隔を秒単位で設定することができます。

0

リトライ間隔を空けません。

1〜60

設定した数字の秒数だけリトライ間隔を空けます。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

C++ ORB限定

3.4.13　CTRL_BREAK_EVENT発生時のコントロールハンドラ内の動作

ORBではCORBA::ORB_init()でSetConsoleCtrlHandler()を用いてコントロールハンドラの登録を行い，コントロールハンドラ内でORBの終了処理のあとにFALSEをリターンしています。この機能は，コントロールハンドラがリターンする値の設定，およびCTRL_BREAK_EVENTの発生時にデフォルトの処理で行っているORBの終了処理を行うかどうかの設定をする機能です。

(1)　コントロールハンドラのリターン値

環境変数

プロパティ

指定範囲

デフォルト値

HVI_CTRLHANDLER_RTN

vbroker.orb.htc.ctrlHandlerRtn

true|false

false

CTRL_BREAK_EVENTの発生時に，ORBのコントロールハンドラがリターンする値を設定します。

true

コントロールハンドラがTRUEをリターンします。

false

コントロールハンドラがFALSEをリターンします。

コントロールハンドラがリターンする値TRUEおよびFALSEの意味については，Microsoft社が提供するSetConsoleCtrlHandler関数の仕様をMSDNなどでご確認ください。

注意事項

この機能を設定していない場合，および指定範囲外の値を設定した場合は，デフォルト値が設定されます。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

C++ ORB（Windows）限定

(2)　コントロールハンドラ内で行うORBの終了処理

環境変数

プロパティ

指定範囲

デフォルト値

HVI_CTRLHANDLER_NOCLEANUP

vbroker.orb.htc.ctrlHandlerNoCleanup

true|false

false

CTRL_BREAK_EVENTの発生時に，ORBのコントロールハンドラ内でORBの終了処理を行うかどうかを設定します。ORBの終了処理を行う場合，以降のプロセス上でORBの機能を使用できません。

true

コントロールハンドラ内でORBの終了処理を行いません。

false

コントロールハンドラ内でORBの終了処理を行います。

注意事項

この機能を使用しない場合（"true"を設定する場合）は，サーバアプリケーション，およびクライアントアプリケーション内でORBの終了処理を行ってください。終了処理を行わない場合，osagentは終了したアプリケーションの情報を削除できないため，アプリケーションに対してHEARTBEATメッセージを送信します。この結果，アプリケーションの数によってはosagentやネットワークに負荷が掛かり，クライアントアプリケーションがサーバアプリケーションを認識できないなどの問題が発生することがあります。

この機能を設定していない場合，および指定範囲外の値を設定した場合は，デフォルト値が設定されます。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

C++ ORB（Windows）限定

3.4.14　CORBA::Any型のマーシャリング方法の変更

環境変数

プロパティ

指定範囲

デフォルト値

HVI_STRICT_ANY_MARSHALLING

vbroker.orb.htc.strictAnyMarshalling

true|false

true

CORBA::Anyのマーシャリング時に，CORBA2.5仕様に準拠した方法，VisiBroker独自の方法のどちらかを使用するかを設定します。

TPBroker 05-15-/A（32ビット用Windows）またはTPBroker 05-00〜05-15（64ビット用Windows）のC++ ORBと，CORBA::AnyにCORBA::WChar型を格納して通信する場合には，"false"を設定する必要があります。

true

CORBA::Anyのマーシャリング時にCORBA2.5仕様に準拠した方法に従ってマーシャリングします。

false

CORBA::Anyのマーシャリング時にVisiBroker独自の方法に従ってマーシャリングします。

注意事項

"false"を設定した場合，次のバージョンのORBとCORBA::AnyにCORBA::WChar型を格納した通信は行えません。

・TPBroker Vesion 5に対応したJava ORBすべて

・TPBroker 05-15以前（UNIX）のC++ ORB

・TPBroker 05-15-/A（Linux）のC++ ORB

設定値はシステム全体で統一してください。

この機能をサポートしていないC++ ORB（Windows）は，"false"を設定したときと同等に動作します。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

C++ ORB（Windows）限定

3.4.15　QoSポリシーの上限値解除

環境変数

プロパティ

指定範囲

デフォルト値

HVI_UNLIMITED_QOS_TIMEOUT_POLICY

vbroker.orb.htc.unlimitedQosTimeoutPolicy

true|false

false

次に示すQoSポリシーに設定できる値の上限値は15668480000000（100ナノ秒）（18日3時間14分8秒）です。

QoSExt::RelativeConnectionTimeoutPolicy

Messaging::RelativeRequestTimeoutPolicy

Messaging::RelativeRoundtripTimeoutPolicy

この機能では，QoSポリシーの上限値を解除するかどうかを設定します。

true

上記のQoSポリシーの上限値を解除します。

false

上記のQoSポリシーの上限値を解除しません。上限値を超える値を設定すると，上限値が設定されます。

注意事項

この機能に"true"を設定して，上記のQoSポリシーに15668480000000を超えた値を設定した場合，次に示す条件を満たすとタイムアウトを正しく監視できなくなります。

条件

QoSポリシーに設定した時間とタイムアウトイベントの発生時刻を足した時刻が，2038/01/19 03:14:07（UTC時間）を超える。

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

C++ ORB（32ビット用UNIX）限定

3.4.16　バインドのリトライ回数

環境変数

プロパティ

指定範囲

デフォルト値

HVI_BIND_MAX

vbroker.orb.htc.bindMax

-1〜65535

-1

osagentからサーバ情報を取得したクライアントが，サーバとのコネクション確立に失敗すると，osagentからサーバ情報を取得して再度コネクトを試みます。この機能は，このリトライ処理を行う回数を設定します。リトライ回数の上限を超えた場合は，リトライの要因となった例外が発生します。

-1

無限にリトライします。

0

リトライしません。

1〜65535

設定した数字の回数だけリトライします。

この機能が有効となる条件を次に示します。

<interface_name>::_bind()を発行するとき

CORBA::ORB::bind()を発行するとき

サーバオペレーションを呼び出すとき

次に示す条件を満たしている場合でサーバ起動時に自身をOADに登録するとき

環境変数HVI_OAD_NOUSE，またはプロパティvbroker.orb.htc.oadNoUseに"true"を設定していない

oadが起動している

注意事項

この機能を設定していない場合，および指定範囲外の値を設定した場合は，デフォルト値が設定されます。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

C++ ORB限定

3.4.17　バインドのリトライ間隔

環境変数

プロパティ

指定範囲

デフォルト値

HVI_BIND_SLEEP_TIME

vbroker.orb.htc.bindSleepTime

0〜600000

50

osagentからサーバ情報を取得したクライアントが，サーバとのコネクション確立に失敗すると，osagentからサーバ情報を取得して再度コネクトを試みます。この機能は，このリトライ処理を行う前にSleepする時間をミリ秒単位で設定します。

注意事項

この機能を設定していない場合，および指定範囲外の値を設定した場合は，デフォルト値が設定されます。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

C++ ORB限定

3.4.18　GIOPメッセージの分割送受信

環境変数

プロパティ

指定範囲

デフォルト値

HVI_SPLIT_RW

vbroker.orb.htc.splitRw

true|false

false

WindowsでTCP/IPを使用し，64キロバイトを超えるデータを送受信しようとした場合，WSAENOBUFSエラーが発生してデータ送受信ができなくなることがあります。この機能は，GIOPメッセージを1回当たり64キロバイト単位に分割して送受信するかどうかを設定します。

true

GIOPメッセージを1回当たり64キロバイト単位に分割して送受信します。

false

GIOPメッセージを分割しないで送受信します。

注意事項

指定範囲外の値を設定した場合は，デフォルト値が設定されます。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

C++ ORB（Windows）限定

3.5　サーバプロセスの設定

この節では，CORBAオブジェクトを持つサーバプロセスに設定する環境変数およびプロパティの詳細について説明します。

3.5.1　OADによる自動検索の抑止

環境変数

プロパティ

指定範囲

デフォルト値

HVI_OAD_NOUSE（C++ ORBだけ）

vbroker.orb.htc.oadNoUse

true|false

false

この機能は，OADによる自動検索を抑止するかどうかを設定します。OADを使用する場合は，"true"を設定しないでください。

true

自動検索を抑止します。

false

自動検索を抑止しません。

注意事項

この機能を設定していない場合，および指定範囲外の値を設定した場合は，デフォルト値が設定されます。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

使用言語

環境変数：C++ ORB限定

プロパティ：Java ORB，C++ ORB

3.5.2　CORBA::UNKNOWN例外発生の抑止

環境変数

プロパティ

指定範囲

デフォルト値

HVI_NCATCHALL

vbroker.orb.htc.ncatchall

true|false

false

サーバオペレーション内でCORBA例外以外の例外が発生した場合，ORBが例外をキャッチしないかどうかを設定します。

true

CORBA例外以外の例外をキャッチしません。

false

CORBA例外以外の例外をキャッチします。

注意事項

指定範囲外の値を設定した場合の動作を次に示します。

環境変数HVI_NCATCHALL：デフォルト値が設定されます。

プロパティvbroker.orb.htc.ncatchall：例外CORBA::BAD_PARAMが発生します。

プロパティvbroker.orb.htc.ncatchallを使用する場合は，"htc.props"に設定してください。コマンドラインで設定した場合，環境変数HVI_NCATCHALLに設定した値が有効になります。

オブジェクトラッパー機能を使用し，サーバオペレーション内でCORBA例外以外の例外が発生した場合，この機能は有効にならないため，例外をキャッチします。

環境変数HVI_NCATCHALLおよびプロパティvbroker.orb.htc.ncatchallに"true"を設定した場合，スタックトレースを取得しません。

クライアントプロセスに対して環境変数HVI_NCATCHALLおよびプロパティvbroker.orb.htc.ncatchallに"true"を設定した場合，スタックトレースを取得しません。クライアントプロセスにはこの機能を使用しないでください。

環境変数とプロパティの両方の設定がある場合はプロパティの設定が有効になります。

Windows（Visual Studio 2005）版では，構造化例外は対象外です。falseを指定してもキャッチされません。

使用言語

C++ ORB（Windows）限定

4　Microsoft Cluster Serviceとの連携

この章では，TPBrokerとMicrosoft Cluster Serviceとの連携方法について説明します。

4.1　Microsoft Cluster Serviceとの連携でできること

この節では，Microsoft Cluster Serviceとの連携でできることについて説明します。

Microsoft Cluster Serviceと連携することで，TPBrokerをクラスタ構成で運用できます。連携できるOSは，Windowsだけです。連携できるTPBrokerのプログラムプロダクトは次のとおりです。

Cosminexus TPBroker

TPBroker Developer

TPBroker

また，Microsoft Cluster Serviceと連携すると，TPBrokerでは次の場合にフェールオーバーができます。

ハードウェア障害などクラスタサービスがシステム障害を検出した場合

ユーザが計画的にフェールオーバーする場合

4.2　Microsoft Cluster Serviceの導入時の検討

この節では，Microsoft Cluster Serviceの導入時に検討する必要があることについて説明します。

ご使用のシステムに応じて，TPBrokerの機能ごとに環境設定項目を決定します。次のことを検討してください。

ORB機能を使用するかどうか

OTS機能を使用するかどうか

ADM機能を使用するかどうか

基本的な検討事項は，OSのマニュアルを参照してください。

4.2.1　ORB機能の使用

ご使用のシステムで，ORB機能を使用するかどうかを決定してください。

Cosminexus TPBroker

Microsoft Cluster Serviceを使用して，osagent，osagentに接続するプロセス，およびサーバを運用する場合は，ORB機能に関するIPアドレスとポート番号を設定する必要があります。詳細は「4.3.2　ORB機能使用時の設定（Microsoft Cluster Service）」を参照してください。

なお，osagentに接続するプロセスとは，ネーミングサービス，CTMデーモン，およびosagentを使用するJ2EEサーバを指します。この場合，J2EEサーバを起動するときに，usrconf.propertiesファイルのvbroker.agent.enableLocatorキーにtrueを指定しています。

TPBroker Developer，またはTPBroker

Microsoft Cluster Serviceを使用して，osagent，osagentに接続するプロセス，およびサーバを運用する場合は，ORB機能に関するIPアドレスとポート番号を設定する必要があります。詳細は「4.3.2　ORB機能使用時の設定（Microsoft Cluster Service）」を参照してください。

4.2.2　OTS機能の使用

ご使用のシステムで，OTS機能を使用するかどうかを決定してください。

Cosminexus TPBroker

インプロセストランザクションサービスを使用します。インプロセストランザクションサービスとMicrosoft Cluster Serviceとの連携方法については，マニュアル「Cosminexus システム構築ガイド」を参照してください。

TPBroker Developer，またはTPBroker

クラスタサービスに対応していません。OTS機能を使用しない運用にしてください。

4.2.3　ADM機能の使用

ご使用のシステムで，ADM機能を使用するかどうかを決定してください。

Cosminexus TPBroker

クラスタサービスに対応していません。

Microsoft Cluster Serviceを使用する場合は，Management Serverを利用してください。

TPBroker Developer，またはTPBroker

クラスタサービスに対応していません。ADM機能を使用しない運用にしてください。

4.3　Microsoft Cluster Serviceとの連携時のセットアップ

この節では，Microsoft Cluster Serviceとの連携時のセットアップの方法について説明します。

なお，Microsoft Cluster Serviceの基本的な設定は，OSのマニュアルを参照してください。ここでは，TPBrokerとの連携時に必要な手順だけを説明します。

4.3.1　Microsoft Cluster Serviceのセットアップ

osagentをフェールオーバーの対象とする場合には，Microsoft Cluster Serviceに「汎用アプリケーション」として登録します。

4.3.2　ORB機能使用時の設定（Microsoft Cluster Service）

ORB機能を使用するときに必要なIPアドレスとポート番号を設定します。

(1)　osagentの設定（Microsoft Cluster Service）

osagentへのIPアドレスの設定について説明します。

(a)　IPアドレスの設定（Microsoft Cluster Service）

Microsoft Cluster Service上でosagentを起動する場合，すべてのノードに次の定義ファイルを設定します。

localaddr

htc.clienthandleraddr

各定義ファイルの設定値は，シングルホームホスト環境か，またはマルチホームホスト環境かどうかによって異なります。以降，それぞれの環境での設定値について説明します。

シングルホームホスト環境

シングルホームホスト環境で，Microsoft Cluster Serviceを使用したクラスタ環境を構築する場合に設定する値を次の表に示します。

表4‒1　シングルホームホスト環境の設定値（Microsoft Cluster Service）

項番

条件

localaddrファイル

htc.clienthandleraddrファイル

1

osagentをフェールオーバーの対象にする

実IPアドレス（プライマリIPアドレス）

サービスIPアドレス

サービスIPアドレス

2

osagentをフェールオーバーの対象にしない

実IPアドレス（プライマリIPアドレス）

実IPアドレス（プライマリIPアドレス）

それぞれの条件について説明します。

osagentをフェールオーバーの対象にする場合

localaddrファイルには，実IPアドレス（プライマリIPアドレス）およびosagentが使用するサービスIPアドレスを必ず設定します。

また，osagentに接続するプロセスに対して，サービスIPアドレスを返却するようにhtc.clienthandleraddrファイルを定義します。

osagentをフェールオーバーの対象にしない場合

localaddrファイルには，実IPアドレス（プライマリIPアドレス）を必ず設定します。サービスIPアドレスは設定しないでください。

また，osagentに接続するプロセスに対して，実IPアドレス（プライマリIPアドレス）を返却するようにhtc.clienthandleraddrファイルを定義します。

マルチホームホスト環境

マルチホームホスト環境で，Microsoft Cluster Serviceを使用したクラスタ環境を構築する場合に設定する値を次の表に示します。

表4‒2　マルチホームホスト環境の設定値（Microsoft Cluster Service）

項番

条件

localaddrファイル

htc.clienthandleraddrファイル

1

osagentをフェールオーバーの対象にする

実IPアドレス（プライマリIPアドレス）

osagentに明示的に指定したいIPアドレス

サービスIPアドレス

サービスIPアドレス

2

osagentをフェールオーバーの対象にしない

実IPアドレス（プライマリIPアドレス）

osagentに明示的に指定したいIPアドレス

実IPアドレス（プライマリIPアドレス）

それぞれの条件について説明します。

osagentをフェールオーバーの対象にする場合

localaddrファイルには，実IPアドレス（プライマリIPアドレス），osagentに明示的に指定したいIPアドレス，およびosagentが使用するサービスIPアドレスを設定します。

また，osagentに接続するプロセスに対して，サービスIPアドレスを返却するようにhtc.clienthandleraddrファイルを定義します。

osagentをフェールオーバーの対象にしない場合

localaddrファイルには，実IPアドレス（プライマリIPアドレス）およびosagentに明示的に指定したいIPアドレスを必ず設定します。サービスIPアドレスは設定しないでください。

また，osagentに接続するプロセスに対して，実IPアドレス（プライマリIPアドレス）を返却するようにhtc.clienthandleraddrファイルを定義します。

注意

osagentは，localaddrファイルに設定されたIPアドレスだけを認識します。localaddrファイルを設定しない場合，osagentはデフォルトでgethostbyname()から得られるIPアドレスを認識します。

(b)　osagentへの設定（Microsoft Cluster Service）

異なるネットワークドメインのosagent間の通信で，一方のosagentをフェールオーバーの対象とする場合，対象のosagentと通信をするosagentの定義ファイル（agentaddrファイル）に，サービスIPアドレスを設定します。

(c)　osagentに接続するプロセスへの設定（Microsoft Cluster Service）

osagentとosagentに接続するプロセスを異なるネットワークドメインで起動し，osagentをフェールオーバーの対象とする場合，次に示す定義ファイル，およびオプションのどれかにサービスIPアドレスを設定してください。

agentaddrファイル

環境変数OSAGENT_ADDR

プロパティvbroker.agent.addr

(2)　osagentの接続に関する設定（Microsoft Cluster Service）

Microsoft Cluster Serviceを使用したクラスタ環境でosagentを起動する場合，次に示す環境変数およびオプションの設定がosagentに必要です。

環境変数名：OSAGENT_CLIENT_HANDLER_PORT

環境変数の設定方法については，マニュアル「Borland Enterprise Server VisiBroker デベロッパーズガイド」を参照してください。

オプション：-m

osagentの起動時に，コマンドの引数としてこのオプションを設定します。

このオプションは，Microsoft Cluster Serviceを使用したクラスタ環境で，osagentをフェールオーバーの対象とする場合だけ必須です。

(3)　サーバの設定（Cosminexus TPBroker）（Microsoft Cluster Service）

Cosminexus TPBrokerで，ネーミングサービスをフェールオーバーの対象とする場合，次の設定をしてください。

プロパティvbroker.se.iiop_tp.host

エイリアスIPアドレスまたはエイリアスホスト名を設定します。

プロパティvbroker.se.iiop_tp.scm.iiop_tp.listener.port

任意のポート番号を設定します。

使用するポート番号は，すべてのノードで同じポート番号が使用できるように管理する必要があります。

(4)　サーバの設定（TPBroker Developer，またはTPBroker）（Microsoft Cluster Service）

TPBroker Developer，またはTPBrokerでは，次の設定をしてください。

プロパティvbroker.se.<xxx>.host

エイリアスIPアドレス，またはエイリアスホスト名を設定します。

プロパティvbroker.se.<xxx>.scm.<yyy>.listener.port

任意のポート番号を設定します。

使用するポート番号は，すべてのノードで同じポート番号が使用できるように管理する必要があります。

プロパティ名で，xxxはサーバエンジン，yyyはサーバコネクションマネージャを示します。

(5)　ORB機能使用時の設定例（Microsoft Cluster Service）

ここで示す設定例は，シングルホームホスト環境です。

(a)　osagentをフェールオーバーの対象にする場合（Microsoft Cluster Service）

osagentをフェールオーバーの対象にする場合の，ORB機能の使用時の設定例について説明します。

システム構成の例

ORB機能使用時のシステム構成の例を次の図に示します。

図4‒1　osagentをフェールオーバーの対象にする場合のシステム構成例（Microsoft Cluster Service）

IPアドレスの設定例

上記の図で示すシステム構成例でのIPアドレスの設定例を示します。

ホストA（現用系）のIPアドレスの設定

・localaddrファイル

"A.A.A.A subnet broadcast"（ホストAの実IPアドレスを設定）

"C.C.C.C subnet broadcast"（サービスIPアドレスを設定）

・htc.clienthandleraddrファイル

"F.F.F.F subnet C.C.C.C"（クライアントの実IPアドレスにサービスIPアドレスを設定）

ホストB（待機系）のIPアドレスの設定

・localaddrファイル

"B.B.B.B subnet broadcast"（ホストBの実IPアドレスを設定）

"C.C.C.C subnet broadcast"（サービスIPアドレスを設定）

・htc.clienthandleraddrファイル

"F.F.F.F subnet C.C.C.C"（クライアントの実IPアドレスにサービスIPアドレスを設定）

ホストCのIPアドレスの設定

・agentaddrファイル

"C.C.C.C"（サービスIPアドレスを設定）

ホストAおよびホストBで起動するosagent

・環境変数OSAGENT_CLIENT_HANDLER_PORT

・-mオプション（osagentの起動時にコマンドの引数として設定）

(b)　osagentをフェールオーバーの対象にしない場合（Microsoft Cluster Service）

osagentをフェールオーバーの対象にしない場合の，ORB機能の使用時の設定例について説明します。

システム構成の例

ORB機能使用時のシステム構成の例を次の図に示します。

図4‒2　osagentをフェールオーバーの対象にしない場合のシステム構成例（Microsoft Cluster Service）

IPアドレスの設定例

上記の図で示すシステム構成例でのIPアドレスの設定例を示します。

ホストA（現用系）のIPアドレスの設定

・localaddrファイル

　"A.A.A.A subnet broadcast"（ホストAの実IPアドレスを設定）

・htc.clienthandleraddrファイル

　"F.F.F.F subnet A.A.A.A"（クライアントの実IPアドレスにホストAの実IPアドレスを設定）

ホストB（待機系）のIPアドレスの設定

・localaddrファイル

　"B.B.B.B subnet broadcast"（ホストBの実IPアドレスを設定）

・htc.clienthandleraddrファイル

　"F.F.F.F subnet B.B.B.B"（クライアントの実IPアドレスにホストBの実IPアドレスを設定）

ホストCのIPアドレスの設定

・agentaddrファイル

　"A.A.A.A"（ホストAの実IPアドレスを設定）

　"B.B.B.B"（ホストBの実IPアドレスを設定）

ホストAおよびホストBで起動するosagent

・環境変数OSAGENT_CLIENT_HANDLER_PORT

5　HAモニタとの連携

この章では，TPBrokerとHAモニタとの連携方法について説明します。

5.1　HAモニタとの連携でできること

この節では，HAモニタとの連携でできることについて説明します。

HAモニタと連携することで，TPBrokerをクラスタ構成で運用できます。

連携できるOSは次のとおりです。

AIX

Linux

連携できるTPBrokerのプログラムプロダクトは次のとおりです。

Cosminexus TPBroker

TPBroker Developer

TPBroker

また，HAモニタと連携すると，TPBrokerでは，次の場合に系切り替えができます。

ハードウェア障害などHAモニタがシステム障害を検出した場合

ユーザが計画的に系切り替えする場合

TPBrokerは系切り替えをしたときに，次の情報を待機系に引き継ぐことができます。

監視中のプロセス情報

システムの構成情報

未決着のトランザクション情報

TPBrokerは実行系で監視中のプロセスを，待機系で起動します。再開始用のコマンドが設定してある場合，再開始用のコマンドを起動します。系切り替えが起こった時点で未決着トランザクションがあると，待機系でトランザクションの回復をします。

TPBrokerのシステムダウンでは系切り替えは行いません。TPBrokerのシステムダウン時は，システムダウンした系でTPBrokerを再開始します。

5.2　HAモニタの導入時の検討

この節では，HAモニタの導入時に検討する必要があることについて説明します。

ご使用のシステムに応じて，TPBrokerの機能ごとに環境設定項目を決定します。次のことを検討してください。

ORB機能を使用するかどうか

OTS機能を使用するかどうか

ADM機能を使用するかどうか

どのシステムが共有ディスクを使用するか

導入時の注意事項もありますので，必ず読んでください。基本的な検討事項は，マニュアル「HAモニタ」を参照してください。

5.2.1　ORB機能の使用（HAモニタ）

ご使用のシステムで，ORB機能を使用するかどうかを決定してください。

Cosminexus TPBroker

HAモニタを使用して，osagent，osagentに接続するプロセス，およびサーバを運用する場合は，ORB機能に関するIPアドレスとポート番号を設定する必要があります。詳細は「5.3.5　ORB機能使用時の設定（HAモニタ）」を参照してください。

なお，osagentに接続するプロセスとは，ネーミングサービス，CTMデーモン，およびosagentを使用するJ2EEサーバを指します。この場合，J2EEサーバを起動するときに，usrconf.propertiesファイルのvbroker.agent.enableLocatorキーにtrueを指定しています。

TPBroker Developer，またはTPBroker

HAモニタを使用して，osagent，osagentに接続するプロセス，およびサーバを運用する場合は，ORB機能に関するIPアドレスとポート番号を設定する必要があります。詳細は「5.3.5　ORB機能使用時の設定（HAモニタ）」を参照してください。

5.2.2　OTS機能の使用（HAモニタ）

ご使用のシステムでOTS機能を使用するかどうかを決定してください。

Cosminexus TPBroker

インプロセストランザクションサービスを使用します。インプロセストランザクションサービスとHAモニタとの連携方法については，マニュアル「Cosminexus システム構築ガイド」を参照してください。

TPBroker Developer，またはTPBroker

系切り替えで構成する場合，各系で情報を共有するため，共有ディスク上のディレクトリまたはキャラクタ型スペシャルファイルに環境変数TPFSを設定します。系切り替えで構成しない場合，ローカルディスク上のディレクトリまたはキャラクタ型スペシャルファイルに環境変数TPFSを設定します。

注意事項

環境変数TPFSが設定されていない場合，デフォルトで環境変数TPSPOOLに設定されたディレクトリが使用されます。環境変数TPSPOOLでは，共有しない情報を格納するため，ローカルディスク上のディレクトリを設定する必要があるので，注意してください。

環境変数TPFS，および環境変数TPSPOOLについては，マニュアル「TPBroker ユーザーズガイド」を参照してください。

5.2.3　ADM機能の使用（HAモニタ）

ご使用のシステムで，ADM機能を使用するかどうかを決定してください。

Cosminexus TPBroker

ADM機能を使用できません。Management Serverで運用することを推奨します。

TPBroker Developer，またはTPBroker

ADM機能をクラスタリングシステムで使用する場合，各系で情報を共有させるため，環境変数ADMFSを，共有ディスク上のディレクトリに設定します。ADM機能をクラスタリングシステムで使用しない場合，環境変数ADMFSを，ローカルディスク上のディレクトリに設定します。

注意事項

環境変数ADMFSが設定されていない場合，デフォルトで環境変数ADMSPOOLに設定されたディレクトリが使用されます。環境変数ADMSPOOLでは，共有しない情報を格納するため，ローカルディスク上のディレクトリに設定する必要があるので，注意してください。

環境変数ADMFSおよび環境変数ADMSPOOLについては，マニュアル「TPBroker ユーザーズガイド」を参照してください。

5.2.4　共有ディスクを使用するシステム（HAモニタ）

ADM機能またはアウトプロセストランザクションサービスを使用する場合，共有ディスクをTPBrokerファイルシステムで使用するか，UNIXファイルシステムで使用するかを決定してください。TPBrokerでは，TPBrokerファイルシステムを使用することを推奨します。

TPBrokerファイルシステム

環境変数ADMFSと環境変数TPFSは同じキャラクタ型スペシャルファイルで共存できます。

TPBrokerファイルシステムを使用できるのは，次のプログラムプロダクトだけです。

TPBroker Developer（AIX）

TPBroker（AIX）

UNIXファイルシステム

環境変数ADMFSと環境変数TPFSには異なるディレクトリパスを指定してください。同じディレクトリパスは指定できません。

5.2.5　導入時の注意事項（HAモニタ）

HAモニタとの連携をする場合，導入時には次の点に注意してください。

(1)　システム構成について

TPBrokerのADM機能の環境を一つのサーバにしてください。

すべての系のTPBrokerのバージョンを統一してください。

TPBrokerが起動するアプリケーションは，HAモニタの系切り替えに対応させてください。

(2)　設定値について

すべての系のTPBrokerのシステム環境定義を統一してください。

ADM機能で使用する定義ファイルをすべての系で統一してください。

そのためには，TPBrokerが起動するアプリケーションの絶対パスを統一することと，環境変数がすべての系で統一されていることが必要です。

環境変数ADMFSは，共有ディスク上のディレクトリパスまたはキャラクタ型スペシャルファイルを指定してください。

共有ディスクには，環境変数ADMFS，および環境変数TPFSで示されるTPBrokerのステータスファイルを格納してください。

環境変数TPSPOOL，および環境変数ADMSPOOLで示されるTPBroker稼働情報格納ディレクトリは，各系のローカルディスクを指定します。また，TPBrokerを含むプログラム群は各系のローカルディスクに格納する必要があります。

アプリケーションで使用するポート番号が固定の場合，すべての系で同じポート番号が使用できるように管理してください。

5.2.6　システムの構成例（HAモニタ）

HAモニタを使用したTPBrokerのクラスタリングシステムの構成例を次の図に示します。

図5‒1　HAモニタを使用したTPBrokerのクラスタリングシステムの構成例

この構成例の条件を示します。

共有ディスクを2台で共有し，同じディレクトリでマウントする。

実IPアドレスを1台ごとに設定する。

エイリアスIPアドレスは各マシンに同じものを設定する。

5.3以降では，ここで示した例に従って環境設定方法を説明します。記載しているスクリプトの値，およびコマンドのオプションの値も，この例に従っています。

5.3　HAモニタとの連携時のセットアップ

この節では，HAモニタとの連携時のセットアップの方法について説明します。

ここで説明するセットアップの方法は，HAモニタ，およびTPBrokerの基本的な設定を終えていることを前提とし，TPBrokerとの連携時に必要な手順だけを説明します。セットアップの詳細は，マニュアル「HAモニタ」，およびマニュアル「TPBroker ユーザーズガイド」を参照してください。

5.3.1　セットアップの流れ（HAモニタ）

HAモニタとの連携時のセットアップの流れを次の図に示します。

図5‒2　HAモニタとの連携時のセットアップの流れ

5.3.2　共有ディスクの設定（HAモニタ）

TPBrokerでは，共有ディスクとしてTPBrokerファイルシステムとUNIXファイルシステムに対応しています。使用するファイルシステムに応じて，共有ディスクに次の項目を設定します。

切り替える共有ディスク装置のスペシャルファイル名

切り替えるファイルシステムに対応する論理ボリュームの絶対パス名

切り替えるファイルシステムのマウント先ディレクトリの絶対パス名（UNIXファイルシステム限定）

設定方法については，マニュアル「HAモニタ」を参照してください。

5.3.3　TPBrokerのセットアップ（HAモニタ）

HAモニタを起動する前に，すべての系でTPBrokerのセットアップをする必要があります。すべての系で，次に示す手順を繰り返してください。

(1)　環境変数の設定（HAモニタ）

TPBrokerの動作に必要な環境変数を設定します。詳細は，マニュアル「TPBroker ユーザーズガイド」を参照してください。

(2)　TPBrokerファイルシステムの作成（HAモニタ）

共有ディスクをTPBrokerファイルシステムで使用する場合，tsmkfsコマンドでTPBrokerファイルシステムを作成します。UNIXファイルシステムで使用する場合はこの手順は必要ありません。tsmkfsコマンドについては，マニュアル「TPBroker ユーザーズガイド」を参照してください。

この手順は実行系で一度だけ行ってください。また，TPBrokerが05-12以前のバージョンで作成したTPBrokerファイルシステムを使用する場合もこの手順を行う必要があります。

適用OSがAIXの場合のコマンドの実行例を次に示します。

ボリュームグループの活動を開始します。

varyonvg vg00

TPBrokerファイルシステムを作成します。

tsmkfs -s 1024 -n 100 -l 10 /dev/rdisk0

tsmkfsコマンドのオプションは，使用しているシステムに応じて適切な値を設定してください。この実行例では，セクタ長1024，容量100MB，最大ファイル数10の領域を確保します。

ボリュームグループの活動を停止します。

varyoffvg vg00

(3)　TPBrokerのOTS環境のセットアップ（HAモニタ）

tssetupコマンドで，TPBrokerのOTS環境のセットアップをします。必ず-iオプションを指定して，ディスクを共有させてください。

環境を再構築する場合など，共用ディスク上に存在する情報を引き継ぐ必要のない場合は，-nオプションを指定してtssetupコマンドを実行してください。OTS環境が正常開始します。待機系の環境構築など，実行系の情報を引き継がせる場合は，-nオプションを指定しないでください。

tssetupコマンドについては，マニュアル「TPBroker ユーザーズガイド」を参照してください。

コマンドの実行例を次に示します。

共用ディスクの情報を引き継ぐ場合

TPBrokerのOTS環境のセットアップをします。

tssetup -i

共用ディスクの情報を引き継がない場合

TPBrokerのOTS環境のセットアップをします。

tssetup -n -i

(4)　システム環境定義の設定（HAモニタ）

tsdefvalueコマンドでHAモニタとの連携に必要なシステム環境定義を設定します。定義パスは，次の表に示す値を設定します。

表5‒1　HAモニタとの連携時に必要なシステム環境定義

定義パス名

値

/ADM/

set_conf_mode

"MANUAL2"

/OTS/

completion_process_ipaddr_info

"<エイリアスIPアドレス>"

/OTS/

set_ipaddr_info

"<エイリアスIPアドレス>"

/SYSTEM/

system_id_info

"<4バイトの文字列>"

上記以外の項目については，ご使用の環境に合わせた値を設定します。また，すべての系で同じ値を設定します。

tsdefvalueコマンドについては，マニュアル「TPBroker ユーザーズガイド」を参照してください。

コマンドの実行例を次に示します。

開始モードを設定します。

tsdefvalue /ADM set_conf_mode -s "MANUAL2"

決着プロセスホスト名を設定します。

tsdefvalue /OTS completion_process_ipaddr_info -s "172.17.115.37"

デーモンプロセスホスト名を設定します。

tsdefvalue /OTS set_ipaddr_info -s "172.17.115.37"

システム識別子情報を設定します。

tsdefvalue /SYSTEM system_id_info -s "TPB1"

(5)　TPBrokerの運用支援機能実行環境のセットアップ（HAモニタ）

admsetupコマンドで，TPBrokerの運用支援機能実行環境のセットアップをします。必ず-iオプションを指定して，ディスクを共有させてください。なお，-cオプションはすべての系で同じ値（パス）を指定し，指定するプロセス監視定義ファイルは同じ内容としてください。

環境の再構築時など，共用ディスク上に存在する情報を引き継ぐ必要のない場合には，-nオプションを指定してadmsetupコマンドを実行してください。ADM環境が正常開始します。待機系の環境構築など，実行系の情報を引き継がせる場合は，-nオプションを指定しないでください。

admsetupコマンドについては，マニュアル「TPBroker ユーザーズガイド」を参照してください。

コマンドの実行例を次に示します。

共用ディスクの情報を引き継ぐ場合

TPBrokerの運用支援機能実行環境のセットアップをします。

admsetup -c /opt/TPBrokerV5/adm/admconf.cf -i

共用ディスクの情報を引き継がない場合

TPBrokerの運用支援機能実行環境のセットアップをします。

admsetup -c /opt/TPBrokerV5/adm/admconf.cf -n -i

5.3.4　HAモニタの設定

HAモニタの設定をします。

(1)　定義ファイルの作成（HAモニタ）

使用しているシステムに応じて，HAモニタの定義ファイル（sysdef）を作成します。

(2)　LANの状態設定（HAモニタ）

HAモニタがサーバ単位にLANの接続，切り離しをするので，サーバごとにネットワークの設定用ファイルが必要です。HAモニタでは，LANの状態設定ファイルを作成して設定します。

TPBrokerが使用するLANの状態設定ファイルは次のとおりです。エイリアスIPアドレスを設定してください。

tpbroker.up：LANを接続する場合に使用します。

tpbroker.down：LANの切り離しをする場合に使用します。

LANの状態設定ファイルの設定例を次に示します。

tpbroker.upの例

/etc/ifconfig en0 inet 172.17.115.37 alias netmask 255.255.255.0 broadcast 172.17.115.255

tpbroker.downの例

# Network Configuration for OFFLINE
#

IFC_NAME="en0"
IP_ADDR="172.17.115.37"
IFCONFIG=/etc/ifconfig

if [ "$IFC_NAME" != "" -a "$IP_ADDR" != "" ]
then
    if [ "`$IFCONFIG $IFC_NAME | grep $IP_ADDR`" != "" ]
    then
       $IFCONFIG $IFC_NAME inet $IP_ADDR delete
    fi
fi

(3)　TPBroker開始スクリプトの作成（HAモニタ）

HAモニタからTPBrokerを起動するためのスクリプトを作成します。

スクリプトの設定例を次に示します。この例では，TPBroker開始スクリプト（tpbroker_start.sh）を/home/tpbroker/hamon/binに格納し，/home/tpbroker/hamon/logにログを出力する設定になっています。

（例）

#!/bin/ksh
## ************************************************************
## TPBroker Start Script for HAMonitor
## ************************************************************

LOGDIR=/home/tpbroker/hamon/log
export TPDIR=/opt/TPBrokerV5
export TPSPOOL=${TPDIR}/otsspool
export TPFS=/dev/rdisk0
export ADMSPOOL=${TPDIR}/spool
export ADMFS=/dev/rdisk0
export OSAGENT_PORT=14000
export VBROKER_ADM=${TPDIR}/adm
export LIBPATH=${TPDIR}/lib

logg()
{
        echo `date '+[%Y/%m/%d %H:%M:%S]'`"[$$]: $1" ¥
          >> ${LOGDIR}/tpbroker.log 2>&1
}

logg "### tpbroker_start.sh: started. ###"

#==============================================================
## Start TPBroker
#==============================================================

${TPDIR}/bin/admstart >> ${LOGDIR}/tpbroker.log 2>&1
logg "### tpbroker_start.sh: stopped. ###"

exit 0

(4)　TPBroker停止スクリプトの作成（HAモニタ）

HAモニタからTPBrokerを停止するためのスクリプトを作成します。このスクリプトでは，HAモニタのmonendコマンドが実行されたときに，TPBrokerが正常停止し，HAモニタのmonswapコマンドが実行されたときに，TPBrokerが強制停止するようにしています。

スクリプトの設定例を次に示します。この例では，TPBroker停止スクリプト（tpbroker_stop.sh）を/home/tpbroker/hamon/binに格納し，/home/tpbroker/hamon/logにログを出力する設定になっています。

（例）

#!/bin/ksh
## ************************************************************
## TPBroker Stop Script
## ************************************************************

LOGDIR=/home/tpbroker/hamon/log

export TPDIR=/opt/TPBrokerV5
export TPSPOOL=${TPDIR}/otsspool
export TPFS=/dev/rdisk0
export ADMSPOOL=${TPDIR}/spool
export ADMFS=/dev/rdisk0
export OSAGENT_PORT=14000
export VBROKER_ADM=${TPDIR}/adm
export LIBPATH=${TPDIR}/lib
logg()
{
       echo `date '+[%Y/%m/%d %H:%M:%S]'`"[$$]: $1" ¥
          >> ${LOGDIR}/tpbroker.log 2>&1
}

logg "### tpbroker_stop.sh: started. $* ###"
#==============================================================
## Stop TPBroker
#==============================================================
case $1 in
-e)
       logg "### tpbroker_stop.sh: TPBroker stop normally. ###"
       ${TPDIR}/bin/admstop >> ${LOGDIR}/tpbroker.log 2>&1
       ;;
-w)
       logg "### tpbroker_stop.sh: TPBroker stop forcibly. ###"
       ${TPDIR}/bin/admstop -fr >> ${LOGDIR}/tpbroker.log 2>&1
       ;;
-c)
       logg "### tpbroker_stop.sh: do nothing. ###"
       ;;
*)
       logg "### tpbroker_stop.sh: unknown option. $1 ###"
       exit 1

esac

logg "### tpbroker_stop.sh: stopped. ###"

exit 0

(5)　TPBroker監視スクリプトの作成（HAモニタ）

HAモニタからTPBrokerを監視するスクリプトを作成します。

スクリプトの設定例を次に示します。この例では，TPBroker監視スクリプト（tpbroker_monitor.sh）を/home/tpbroker/hamon/binに格納し，/home/tpbroker/hamon/logにログを出力する設定になっています。

（例）

#!/bin/ksh
## ************************************************************
## TPBroker Daemon Monitor Script
## ************************************************************
trap break 15

LOGDIR=/home/tpbroker/hamon/log

export TPDIR=/opt/TPBrokerV5
export TPSPOOL=${TPDIR}/otsspool
export TPFS=/dev/rdisk0
export ADMSPOOL=${TPDIR}/spool
export ADMFS=/dev/rdisk0
export OSAGENT_PORT=14000
export VBROKER_ADM=${TPDIR}/adm
export LIBPATH=${TPDIR}/lib

logg()
{
        echo `date '+[%Y/%m/%d %H:%M:%S]'`"[$$]: $1" ¥
          >> ${LOGDIR}/tpbroker.log 2>&1
}

logg "### tpbroker_monitor.sh: started. ###"

loop=true
while $loop
do
       MESSAGE=`${TPDIR}/bin/admstat`
       echo ${MESSAGE} | grep KFCB29001-I > /dev/null
       if [ $? -eq 0 ]; then
             logg "### tpbroker_monitor.sh: TPBroker start. ###"
             ${TPDIR}/bin/admstart >> ${LOGDIR}/tpbroker.log 2>&1
       fi
       sleep 10
done

(6)　定義ファイルの作成（サーバ）（HAモニタ）

TPBroker用のサーバの定義ファイル（servers）を作成します。TPBroker用のサーバに固有の設定を次の表に示します。

表5‒2　定義ファイル（servers）の設定

項番

オペランド

設定値

備考

1

name

/home/tpbroker/hamon/bin/tpbroker_start.sh

TPBroker開始スクリプトを設定します。

詳細は次を参照してください。

「(3)　TPBroker開始スクリプトの作成（HAモニタ）」

2

alias

tpbroker

固定値です。

3

acttype

monitor

固定値です。

4

termcommand

/home/tpbroker/hamon/bin/tpbroker_stop.sh

TPBroker停止スクリプトを設定します。

詳細は次を参照してください。

「(4)　TPBroker停止スクリプトの作成（HAモニタ）」

5

disk

/dev/vg00

TPBrokerで使用する共用ディスクを設定します。

6

lan_updown

use

固定値です。

7

fs_name

/dev/rdisk0

論理ボリュームの絶対パスを設定します。

$TPFS/$ADMFSをUNIXファイルで使用する場合だけ設定が必要です。

8

fs_mount_dir

/hamon

共有ディスクのマウント先ディレクトリの絶対パス名を指定します。

$TPFS/$ADMFSをUNIXファイルシステムで使用する場合だけ設定が必要です。

9

patrolcommand

/home/tpbroker/hamon/bin/tpbroker_monitor.sh

TPBroker監視スクリプトを設定します。

詳細は次を参照してください。

「(5)　TPBroker監視スクリプトの作成（HAモニタ）」

5.3.5　ORB機能使用時の設定（HAモニタ）

ORB機能を使用するときに必要なIPアドレスとポート番号を設定します。

次に示す設定をすることで，HAモニタを起動するホスト上でosagent，nameserv，およびCORBAアプリケーションを起動できるようになります。

(1)　osagentの設定（HAモニタ）

osagentへのIPアドレスの設定について説明します。

(a)　IPアドレスの設定（HAモニタ）

HAモニタを起動するホスト上でosagentを起動する場合，すべての系に次の定義ファイルを設定します。

localaddr

htc.clienthandleraddr

各定義ファイルの設定値は，シングルホームホスト環境か，またはマルチホームホスト環境かどうかによって異なります。以降，それぞれの環境での設定値について説明します。

シングルホームホスト環境

シングルホームホスト環境で，HAモニタを使用したクラスタシステムを構築する場合に設定する値を次の表に示します。

表5‒3　シングルホームホスト環境の設定値（HAモニタ）

項番

条件

localaddrファイル

htc.clienthandleraddrファイル

1

osagentを系切り替えの対象にする

実IPアドレス（プライマリIPアドレス）

エイリアスIPアドレス

エイリアスIPアドレス

2

osagentを系切り替えの対象にしない

実IPアドレス（プライマリIPアドレス）

実IPアドレス（プライマリIPアドレス）

それぞれの条件について説明します。

osagentを系切り替えの対象にする場合

localaddrファイルには，実IPアドレス（プライマリIPアドレス）およびosagentが使用するエイリアスIPアドレスを必ず設定してください。

また，osagentが各クライアント（osagentに接続するプロセス）に対して，エイリアスIPアドレスを返却するようにhtc.clienthandleraddrファイルを定義してください。

osagentを系切り替えの対象にしない場合

localaddrファイルには，実IPアドレス（プライマリIPアドレス）を必ず設定してください。エイリアスIPアドレスは設定しないでください。

また，osagentが各クライアント（osagentに接続するプロセス）に対して，実IPアドレス（プライマリIPアドレス）を返却するようにhtc.clienthandleraddrファイルを定義してください。

マルチホームホスト環境

マルチホームホスト環境で，HAモニタを使用したクラスタシステムを構築する場合に設定する値を次の表に示します。

表5‒4　マルチホームホスト環境の設定値（HAモニタ）

項番

条件

localaddrファイル

htc.clienthandleraddrファイル

1

osagentを系切り替えの対象にする

実IPアドレス（プライマリIPアドレス）

osagentに明示的に指定したいIPアドレス

エイリアスIPアドレス

エイリアスIPアドレス

2

osagentを系切り替えの対象にしない

実IPアドレス（プライマリIPアドレス）

osagentに明示的に指定したいIPアドレス

実IPアドレス（プライマリIPアドレス）

それぞれの条件について説明します。

osagentを系切り替えの対象にする場合

localaddrファイルには，実IPアドレス（プライマリIPアドレス），osagentに明示的に指定したいIPアドレス，およびosagentが使用するエイリアスIPアドレスを設定します。

また，osagentが各クライアント（osagentに接続するプロセス）に対して，エイリアスIPアドレスを返却するようにhtc.clienthandleraddrファイルを定義します。

osagentを系切り替えの対象にしない場合

localaddrファイルには，実IPアドレス（プライマリIPアドレス）およびosagentに明示的に指定したいIPアドレスを必ず設定します。エイリアスIPアドレスは設定しないでください。

またosagentが各クライアント（osagentに接続するプロセス）に対して，実IPアドレス（プライマリIPアドレス）を返却するようにhtc.clienthandleraddrファイルを定義します。

注意

osagentは，localaddrファイルに設定されたIPアドレスだけを認識します。localaddrファイルを設定しない場合，osagentはデフォルトでgethostbyname()から得られるIPアドレスを認識します。osagentが認識するIPアドレスはバーボースモードで起動させることにより，確認できます。

(b)　osagentへの設定（HAモニタ）

異なるネットワークドメインのosagent間の通信で，一方のosagentを系切り替えの対象とする場合，系切り替え対象のosagentと通信をするosagentの定義ファイル（agentaddrファイル）に，サービスIPアドレスを設定します。

(c)　osagentに接続するプロセスへの設定（HAモニタ）

osagentとosagentに接続するプロセスを異なるネットワークドメインで起動し，osagentを系切り替えの対象とする場合，次に示す定義ファイル，およびオプションのどれかにサービスIPアドレスを設定してください。

agentaddrファイル

環境変数OSAGENT_ADDR

プロパティvbroker.agent.addr

(2)　osagentの接続に関する設定（HAモニタ）

HAモニタ上でosagentを起動する場合，次に示す環境変数の設定がosagentに必要です。

環境変数名：OSAGENT_CLIENT_HANDLER_PORT

環境変数の設定方法については，マニュアル「Borland Enterprise Server VisiBroker デベロッパーズガイド」を参照してください。

(3)　サーバの設定（Cosminexus TPBroker）（HAモニタ）

Cosminexus TPBrokerでは次の設定をします。

ネーミングサービスを系切り替えの対象とする場合

nameservコマンドの起動時に次の値を設定します。

-J-Dvbroker.se.iiop_tp.host=<エイリアスIPアドレス>または<エイリアスホスト名>

ネーミングサービスが使用するポート番号は，すべての系で同じポート番号が使用できるよう管理する必要があります。

J2EEサーバ，および運用監視エージェントを系切り替えの対象とする場合

J2EEサーバ，および運用監視エージェントのプロパティファイルに次の設定をします。

プロパティvbroker.se.iiop_tp.host

エイリアスIPアドレスまたはエイリアスホスト名を設定します。

プロパティvbroker.se.iiop_tp.scm.iiop_tp.listener.port

任意のポート番号を設定します。

(4)　サーバの設定（TPBroker Developer，およびTPBroker）（HAモニタ）

TPBroker Developer，およびTPBrokerで，ネーミングサービスを含むCORBAアプリケーションを系切り替えの対象とする場合，次の設定をします。

プロパティvbroker.se.<xxx>.host

エイリアスIPアドレス，またはエイリアスホスト名を設定します。

プロパティvbroker.se.<xxx>.scm.<yyy>.listener.port

任意のポート番号を設定します。

使用するポート番号は，すべての系で同じポート番号が使用できるように管理する必要があります。

プロパティ名で，xxxはサーバエンジン，yyyはサーバコネクションマネージャを示します。

(5)　ORB機能使用時の設定例（HAモニタ）

ここで示す設定例は，シングルホームホスト環境です。

(a)　osagentを系切り替え対象にする場合（HAモニタ）

osagentを系切り替え対象にする場合の，ORB機能の使用時の設定例について説明します。

システム構成の例

ORB機能使用時のシステム構成の例を次の図に示します。

図5‒3　osagentを系切り替え対象にする場合のシステム構成例（HAモニタ）

IPアドレスの設定例

上記の図で示すシステム構成例でのIPアドレスの設定例を示します。

ホストA（実行系）のIPアドレスの設定

・localaddrファイル

"A.A.A.A subnet broadcast"（ホストAの実IPアドレスを設定）

"C.C.C.C subnet broadcast"（エイリアスIPアドレスを設定）

・htc.clienthandleraddrファイル

"F.F.F.F subnet C.C.C.C"（クライアントの実IPアドレスにエイリアスIPアドレスを設定）

ホストB（待機系）のIPアドレスの設定

・localaddrファイル

"B.B.B.B subnet broadcast"（ホストBの実IPアドレスを設定）

"C.C.C.C subnet broadcast"（エイリアスIPアドレスを設定）

・htc.clienthandleraddrファイル

"F.F.F.F subnet C.C.C.C"（クライアントの実IPアドレスにエイリアスIPアドレスを設定）

ホストCのIPアドレスの設定

・agentaddrファイル

"C.C.C.C"（エイリアスIPアドレスを設定）

ホストAおよびホストBで起動するosagent

・環境変数OSAGENT_CLIENT_HANDLER_PORT

(b)　osagentを系切り替え対象にしない場合（HAモニタ）

osagentを系切り替えの対象にしない場合の，ORB機能の使用時の設定例について説明します。

システム構成の例

ORB機能使用時のシステム構成の例を次の図に示します。

図5‒4　osagentを系切り替え対象にしない場合のシステム構成例（HAモニタ）

IPアドレスの設定例

上記の図で示すシステム構成例でのIPアドレスの設定例を示します。

ホストA（実行系）のIPアドレスの設定

・localaddrファイル

"A.A.A.A subnet broadcast"（ホストAの実IPアドレスを設定）

・htc.clienthandleraddrファイル

"F.F.F.F subnet A.A.A.A"（クライアントの実IPアドレスにホストAの実IPアドレスを設定）

ホストB（待機系）のIPアドレスの設定

・localaddrファイル

"B.B.B.B subnet broadcast"（ホストBの実IPアドレスを設定）

・htc.clienthandleraddrファイル

"F.F.F.F subnet B.B.B.B"（クライアントの実IPアドレスにホストBの実IPアドレスを設定）

ホストCのIPアドレスの設定

・agentaddrファイル

"A.A.A.A"（ホストAの実IPアドレスを設定）

"B.B.B.B"（ホストBの実IPアドレスを設定）

ホストAおよびホストBで起動するosagent

・環境変数OSAGENT_CLIENT_HANDLER_PORT

5.4　HAモニタとの連携時の運用

この節では，HAモニタとの連携時の運用について説明します。

次の運用について説明します。

TPBrokerの開始

TPBrokerの停止

TPBrokerの定義の変更

これ以外の運用については，マニュアル「TPBroker ユーザーズガイド」，およびマニュアル「HAモニタ」を参照してください。

5.4.1　TPBrokerの開始（HAモニタ）

HAモニタの運用コマンドで，TPBroker用のサーバ（tpbroker）を開始します。共有ボリュームグループの活動を開始するタイミングは，HAモニタが管理しているため，TPBrokerのadmstartコマンドでTPBrokerを開始させないようにします。

5.4.2　TPBrokerの停止（HAモニタ）

HAモニタの運用コマンドで，TPBroker用のサーバ（tpbroker）を停止します。TPBrokerのadmstopコマンドでは，TPBrokerは一時的にしか停止しません。

5.4.3　TPBrokerの定義の変更（HAモニタ）

TPBrokerのシステム環境定義，および監視対象プロセスのカレントディレクトリが作成，削除されるタイミングの定義を変更する場合の手順について説明します。

変更手順は，TPBroker停止スクリプトの内容によって異なります。

monend投入時にTPBrokerが正常停止するスクリプトの場合

定義を変更します。

必ずすべての系で同じ設定をしてください。

システム環境定義

tsdefvalueコマンドで定義を変更します。

監視対象プロセスのカレントディレクトリが作成，削除されるタイミングの定義

admsetupコマンドの-cオプションで指定したプロセス監視定義ファイルを編集します。

サーバ（tpbroker）を停止します。

monendコマンドを実行します。

monend投入時にTPBrokerが強制停止するスクリプトの場合

定義を変更します。

必ずすべての系で同じ設定をしてください。

システム環境定義

tsdefvalueコマンドで定義を変更します。

監視対象プロセスのカレントディレクトリが作成，削除されるタイミングの定義

admsetupコマンドの-cオプションで指定したプロセス監視定義ファイルを編集します。

TPBroker用のサーバ（tpbroker）が起動している系で，TPBrokerがオンラインであることを確認します。

オンラインのときには，admstatコマンドを実行すると，TPBrokerの稼働状況が表示されます。表示されないときには，開始中なので，オンラインになるまで待ってください。

TPBrokerを正常停止します。

admstopコマンドを実行します。

5.5　HAモニタとの連携時のアンセットアップ

この節では，HAモニタとの連携時のアンセットアップについて説明します。

TPBrokerをアンセットアップする系ごとに次の手順をしてください。

HAモニタを停止します。

TPBrokerの運用支援実行環境をアンセットアップします。

次のコマンドを実行します。

admsetup -d

TPBrokerのOTS環境をアンセットアップします。

次のコマンドを実行します。

tssetup -d

6　HACMPとの連携

この章では，TPBrokerとHACMPとの連携方法について説明します。

6.1　HACMPとの連携でできること

この節では，HACMPとの連携でできることについて説明します。

HACMPと連携することで，TPBrokerをクラスタ構成で運用できます。HACMPの詳細は，HACMPのマニュアルを参照してください。なお，TPBrokerではHACMP5.3，HACMP5.4，HACMP5.4.1との連携を確認しています。連携できるOSはAIXだけです。連携できるTPBrokerのプログラムプロダクトは次のとおりです。

TPBroker Developer

TPBroker

また，HACMPと連携すると，TPBrokerでは，次の場合にノード引き継ぎができます。

ハードウェア障害などHACMPがシステム障害を検出した場合

ユーザが計画的にノード引き継ぎする場合

TPBrokerはノード引き継ぎをしたときに，次の情報を現用系から待機系に引き継ぐことができます。

監視中のプロセス情報

システムの構成情報

未決着のトランザクション情報

TPBrokerは現用系で監視中のプロセスを，待機系で起動します。再開始用のコマンドが設定してある場合，再開始用のコマンドを起動します。ノード引き継ぎが起こった時点で未決着トランザクションがあると，待機系でトランザクションの回復をします。

TPBrokerのシステムダウンではノード引き継ぎは行いません。TPBrokerのシステムダウン時は，システムダウンした系でTPBrokerを再開始します。

6.2　HACMPの導入時の検討

この節では，HACMPの導入時に検討する必要があることについて説明します。

ご使用のシステムに応じて，TPBrokerの機能ごとに環境設定項目を決定します。次のことを検討してください。

ORB機能を使用するかどうか

OTS機能を使用するかどうか

ADM機能を使用するかどうか

どのシステムが共有ディスクを使用するか

導入時の注意事項もありますので，必ず読んでください。基本的な検討事項は，HACMPのマニュアルを参照してください。

6.2.1　ORB機能の使用（HACMP）

ご使用のシステムで，ORB機能を使用するかどうかを決定してください。

ORB機能をクラスタ構成で使用する場合，osagentやCORBAサーバを起動する環境で，各種IPアドレスを設定する必要があります。詳細は「6.3.5　ORB機能使用時の設定（HACMP）」を参照してください。

6.2.2　OTS機能の使用（HACMP）

ご使用のシステムでOTS機能を使用するかどうかを決定してください。

OTS機能をクラスタ構成で使用する場合，環境変数TPFSを，共有ディスク上のディレクトリまたはキャラクタ型スペシャルファイルに設定し，各系で情報を共有します。

OTS機能をクラスタ構成で使用しない場合，環境変数TPFSを，ローカルディスク上のディレクトリまたはキャラクタ型スペシャルファイルに設定します。

環境変数TPFSが設定されていないときには，デフォルトで環境変数TPSPOOLに設定されたディレクトリが使用されます。ただし，共有しない情報を格納するため，環境変数TPSPOOLの値は，ローカルディスク上のディレクトリに設定する必要があります。

6.2.3　ADM機能の使用（HACMP）

ご使用のシステムで，ADM機能を使用するかどうかを決定してください。

ADM機能をクラスタ構成で使用する場合，環境変数ADMFSを，共有ディスク上のディレクトリに設定し，各系で情報を共有します。

ADM機能をクラスタ構成で使用しない場合，環境変数ADMFSを，ローカルディスク上のディレクトリに設定します。

環境変数ADMFSが設定されていないときには，デフォルトで環境変数ADMSPOOLに設定されたディレクトリが使用されます。ただし，共有しない情報を格納するため，環境変数ADMSPOOLの値は，ローカルディスク上のディレクトリに設定する必要があります。

6.2.4　共有ディスクを使用するシステム（HACMP）

ADM機能またはOTS機能を使用する場合，共有ディスクをTPBrokerファイルシステムか，UNIXファイルシステムで使用するかを決定してください。

TPBrokerファイルシステム

環境変数ADMFSと環境変数TPFSは，同じキャラクタ型スペシャルファイルで共存できます。

UNIXファイルシステム

環境変数ADMFSと環境変数TPFSには，異なるディレクトリパスを指定してください。同じディレクトリパスは指定できません。

6.2.5　導入時の注意事項（HACMP）

HACMPとの連携をして，クラスタ構成で使用する場合，導入時には次の点に注意してください。

(1)　システム構成について

TPBrokerのADM機能の環境を一つのリソース・グループにしてください。

すべての系のTPBrokerのバージョンを統一してください。

TPBrokerが起動するアプリケーションは，HACMPのノード引き継ぎに対応させてください。

(2)　設定値について

すべての系のTPBrokerのシステム環境定義を統一してください。

OTS機能で使用するRMの情報をすべての系で統一してください。

ADM機能で使用する定義ファイルをすべての系で統一してください。

そのためには，TPBrokerが起動するアプリケーションの絶対パスを統一することと，環境変数がすべての系で統一されていることが必要です。

環境変数ADMFSは，共有ディスク上のディレクトリパスまたはキャラクタ型スペシャルファイルを指定してください。

共有ディスクには，環境変数ADMFS，および環境変数TPFSで示されるTPBrokerのステータスファイルを格納してください。

環境変数TPSPOOL，および環境変数ADMSPOOLで示されるTPBroker稼働情報格納ディレクトリは，各系のローカルディスクを指定します。また，TPBrokerを含むプログラム群は各系のローカルディスクに格納する必要があります。

アプリケーションで使用するポート番号が固定の場合，すべての系で同じポート番号が使用できるように管理してください。

6.2.6　システムの構成例（HACMP）

HACMPを使用したTPBrokerのクラスタ構成の例を次の図に示します。

図6‒1　HACMPを使用したTPBrokerのクラスタ構成の例

この構成例の条件を示します。

共有ディスクを2台で共有し，同じディレクトリでマウントする。

サービスIPアドレス，およびサービスIPラベルを共有ディスクに設定する。

6.3以降では，ここで示した例に従って環境設定方法を説明します。記載しているスクリプトの値，およびコマンドのオプションの値も，この例に従っています。

6.3　HACMPとの連携時のセットアップ

この節では，HACMPとの連携時のセットアップの方法について説明します。

ここで説明するセットアップの方法は，HACMP，およびTPBrokerの基本的な設定を終えていることを前提とし，TPBrokerとの連携時に必要な手順だけを説明します。セットアップの詳細は，HACMPのマニュアル，およびマニュアル「TPBroker ユーザーズガイド」を参照してください。

6.3.1　セットアップの流れ（HACMP）

HACMPとの連携時のセットアップの流れを次の図に示します。

図6‒2　HACMPとの連携時のセットアップの流れ

6.3.2　共有ディスクの設定（HACMP）

TPBrokerは，共有ディスクとしてTPBrokerファイルシステムとUNIXファイルシステムに対応しています。使用するファイルシステムに応じて，共有ディスクに次の項目を設定します。

切り替える共有ディスク装置のスペシャルファイル名

切り替えるファイルシステムに対応する論理ボリュームの絶対パス名

切り替えるファイルシステムのマウント先ディレクトリの絶対パス名（UNIXファイルシステム限定）

設定方法については，HACMPのマニュアルを参照してください。

6.3.3　TPBrokerのセットアップ（HACMP）

HACMPを起動する前に，すべての系でTPBrokerのセットアップをする必要があります。すべての系で，次に示す手順を繰り返してください。

(1)　環境変数の設定（HACMP）

TPBrokerの動作に必要な環境変数を設定します。詳細は，マニュアル「TPBroker ユーザーズガイド」を参照してください。

(2)　TPBrokerファイルシステムの作成（HACMP）

共有ディスクをTPBrokerファイルシステムで使用する場合，tsmkfsコマンドでTPBrokerファイルシステムを作成します。UNIXファイルシステムで使用する場合はこの手順は必要ありません。tsmkfsコマンドについては，マニュアル「TPBroker ユーザーズガイド」を参照してください。

この手順は現用系で一度だけ行ってください。また，TPBrokerが05-12以前のバージョンで作成したTPBrokerファイルシステムを使用する場合もこの手順を行う必要があります。

コマンドの実行例を次に示します。

ボリュームグループの活動を開始します。

varyonvg vg00

TPBrokerファイルシステムを作成します。

tsmkfs -s 1024 -n 100 -l 10 /dev/rdisk0

tsmkfsコマンドのオプションは，使用しているシステムに応じて適切な値を設定してください。この実行例では，セクタ長1024，容量100MB，最大ファイル数10の領域を確保します。

ボリュームグループの活動を停止します。

varyoffvg vg00

(3)　TPBrokerのOTS環境のセットアップ（HACMP）

tssetupコマンドで，TPBrokerのOTS環境のセットアップをします。必ず-iオプションを指定して，ディスクを共有させてください。

環境を再構築する場合など，共用ディスク上に存在する情報を引き継ぐ必要のない場合は，-nオプションを指定してtssetupコマンドを実行してください。OTS環境が正常開始します。待機系の環境構築など，現用系の情報を引き継がせる場合は，-nオプションを指定しないでください。

tssetupコマンドについては，マニュアル「TPBroker ユーザーズガイド」を参照してください。

コマンドの実行例を次に示します。

共用ディスクの情報を引き継ぐ場合

TPBrokerのOTS環境のセットアップをします。

tssetup -i

共用ディスクの情報を引き継がない場合

TPBrokerのOTS環境のセットアップをします。

tssetup -n -i

(4)　システム環境定義の設定（HACMP）

tsdefvalueコマンドでHACMPとの連携に必要なシステム環境定義を設定します。定義パスは，次の表に示す値を設定します。

表6‒1　HACMPとの連携時に必要なシステム環境定義

定義パス名

値

/ADM/

set_conf_mode

"MANUAL2"

/OTS/

completion_process_ipaddr_info

"<サービスIPアドレス>"

/OTS/

set_ipaddr_info

"<サービスIPアドレス>"

/SYSTEM/

system_id_info

"<4バイトの文字列>"

上記以外の項目については，ご使用の環境に合わせた値を設定します。また，すべての系で同じ値を設定します。

tsdefvalueコマンドについては，マニュアル「TPBroker ユーザーズガイド」を参照してください。

コマンドの実行例を次に示します。

開始モードを設定します。

tsdefvalue /ADM set_conf_mode -s "MANUAL2"

決着プロセスホスト名を設定します。

tsdefvalue /OTS completion_process_ipaddr_info -s "172.17.115.37"

デーモンプロセスホスト名を設定します。

tsdefvalue /OTS set_ipaddr_info -s "172.17.115.37"

システム識別子情報を設定します。

tsdefvalue /SYSTEM system_id_info -s "TPB1"

(5)　TPBrokerの運用支援機能実行環境のセットアップ（HACMP）

admsetupコマンドで，TPBrokerの運用支援機能実行環境のセットアップをします。必ず-iオプションを指定して，ディスクを共有させてください。なお，-cオプションはすべての系で同じ値（パス）を指定し，指定するプロセス監視定義ファイルは同じ内容としてください。

環境の再構築時など，共用ディスク上に存在する情報を引き継ぐ必要のない場合には，-nオプションを指定してadmsetupコマンドを実行してください。ADM環境が正常開始します。待機系の環境構築など，現用系の情報を引き継がせる場合は，-nオプションを指定しないでください。

admsetupコマンドについては，マニュアル「TPBroker ユーザーズガイド」を参照してください。

コマンドの実行例を次に示します。

共用ディスクの情報を引き継ぐ場合

TPBrokerの運用支援機能実行環境のセットアップをします。

admsetup -c /opt/TPBrokerV5/adm/admconf.cf -i

共用ディスクの情報を引き継がない場合

TPBrokerの運用支援機能実行環境のセットアップをします。

admsetup -c /opt/TPBrokerV5/adm/admconf.cf -n -i

6.3.4　HACMPの設定

HACMPの設定をします。

(1)　サービスIPラベル/アドレスの設定（HACMP）

サービスIPラベル/アドレスを設定します。設定例を次の表に示します。

表6‒2　サービスIPラベル，およびサービスIPアドレスの設定例

項番

項目

値

備考

1

IPラベル/アドレス

node1_svc

サービスIPラベルを設定します。

2

ネットワーク名

net_either_01

HACMP環境で，ネットワークを識別するための値を任意に設定します。

(2)　TPBroker開始スクリプトの作成（HACMP）

HACMPからTPBrokerを起動するためのスクリプトを作成します。

スクリプトの設定例を次に示します。この例では，TPBroker開始スクリプト（tpbroker_start.sh）を/home/tpbroker/hacmp/binに格納し，/home/tpbroker/hacmp/logにログを出力する設定になっています。

（例）

#!/bin/ksh
## ************************************************************
## TPBroker Start Script for HACMP
## ************************************************************

#==============================================================
#  Execute TPBroker monitor script
#==============================================================
printf "### tpbroker_start.sh: PID:%d DATE:%s ###¥n" $$ "`date`" ¥
  >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
/home/tpbroker/hacmp/bin/tpbroker_monitor.sh &
printf "### tpbroker_start.sh: monitor-PID:%d ###¥n" $! ¥
  >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1

exit 0

(3)　TPBroker停止スクリプトの作成（HACMP）

HACMPからTPBrokerを停止するためのスクリプトを作成します。

このスクリプトでは，共有ディスクをアクセスしているプロセスを確実に停止するため，fuserコマンドで共有ディスクにアクセス中のプロセスを停止するようにしています。fuserコマンドは，共有ディスクにTPBrokerファイルシステムを使用する場合と，UNIXファイルシステムを使用する場合とで指定するオプションが異なりますので，使用する環境に合わせて指定してください。fuserコマンドについては，OSのマニュアルを参照してください。

スクリプトの設定例を次に示します。この例では，TPBroker停止スクリプト（tpbroker_stop.sh）を/home/tpbroker/hacmp/binに格納し，/home/tpbroker/hacmp/logにログを出力する設定になっています。

（例）

#!/bin/ksh
## ************************************************************
## TPBroker Stop Script
## ************************************************************

export TPDIR=/opt/TPBrokerV5
export TPSPOOL=/opt/TPBrokerV5/otsspool
export TPFS=/dev/rdisk0
export ADMSPOOL=/opt/TPBrokerV5/spool
export ADMFS=/dev/rdisk0
export OSAGENT_PORT=14000
export VBROKER_ADM=$TPDIR/adm
export LIBPATH=$TPDIR/lib

printf "### tpbroker_stop.sh: PID:%d DATE:%s ###¥n" $$ "`date`" ¥
  >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
#==============================================================
## Stop TPBroker monitor script
#==============================================================
fuser -k /home/tpbroker/hacmp/bin/tpbroker_monitor.sh ¥
  >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
#==============================================================
## Stop TPBroker
#==============================================================
printf "### tpbroker_stop.sh: TPBroker stop DATE:%s ###¥n" "`date`" ¥
  >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
$TPDIR/bin/admstop -fr >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
#==============================================================
## Kill all process accessing shared disk
#==============================================================
fuser -k /dev/rdisk0 >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
#fuser -kc /hacmp >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
exit 0

(4)　TPBroker監視スクリプトの作成（HACMP）

HACMPからTPBrokerのダウンを監視し，再起動をするスクリプトを作成します。

このスクリプトはTPBroker開始スクリプトでTPBrokerが実行され，TPBroker停止スクリプトでTPBrokerが停止されるようにしています。設定例を使用する場合，fuserコマンドを使用して停止するため，リソース・グループごとにスクリプトを用意する必要があります。また，リソース・グループを停止するときには，このスクリプトにアクセスしているプロセスは停止されますので，TPBrokerの監視以外の目的でアクセスしないようにしてください。

スクリプトの設定例を次に示します。この例では，TPBroker監視スクリプト（tpbroker_monitor.sh）を/home/tpbroker/hacmp/binに格納し，/home/tpbroker/hacmp/logにログを出力する設定になっています。

（例）

#!/bin/ksh
## ************************************************************
## TPBroker Daemon Monitor Script
## ************************************************************
trap break 15

export TPDIR=/opt/TPBrokerV5
export TPSPOOL=/opt/TPBrokerV5/otsspool
export TPFS=/dev/rdisk0
export ADMSPOOL=/opt/TPBrokerV5/spool
export ADMFS=/dev/rdisk0
export OSAGENT_PORT=14000
export VBROKER_ADM=$TPDIR/adm
export LIBPATH=$TPDIR/lib

printf "### tpbroker_monitor.sh: PID:%d DATE:%s ###¥n" $$ "`date`" ¥
  >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1

loop=true
while $loop
do
  MESSAGE=`$TPDIR/bin/admstat`
  echo $MESSAGE | grep KFCB29001-I > /dev/null
  if [ $? -eq 0 ]; then
printf "### tpbroker_monitor.sh: TPBroker start: DATE:%s ###¥n" "`date`" ¥
      >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
    $TPDIR/bin/admstart >> /home/tpbroker/hacmp/log/tpbroker.log 2>&1
  fi
  sleep 10
done

(5)　アプリケーション・サーバの設定（HACMP）

TPBroker用のアプリケーション・サーバの設定をします。設定例を次の表に示します。

表6‒3　アプリケーション・サーバの設定例

項番

項目

値

備考

1

サーバ名

tpbroker

−

2

始動スクリプト

[/home/tpbroker/hacmp/bin/tpbroker_start.sh]

TPBroker開始スクリプトの絶対パス名を設定します。

詳細は次を参照してください。

「(2)　TPBroker開始スクリプトの作成（HACMP）」

3

停止スクリプト

[/home/tpbroker/hacmp/bin/tpbroker_stop.sh]

TPBroker停止スクリプトの絶対パス名を設定します。

詳細は次を参照してください。

「(3)　TPBroker停止スクリプトの作成（HACMP）」

（凡例）−：説明なし

(6)　リソース・グループの設定（HACMP）

TPBroker用のリソース・グループ，およびリソースの設定をします。TPBrokerでは同時にオンラインにできるのは一つの系だけです。設定例を次の表に示します。この例は，カスケード構成です。

表6‒4　リソース・グループの設定の設定例

項番

項目

値

備考

1

リソース・グループ名

tpbroker

−

2

参加ノード

node1 node2

−

3

サービス IP ラベル

[node1_svc]

次に示す手順で設定した値と同じものを設定します。

「(1)　サービスIPラベル/アドレスの設定（HACMP）」

4

アプリケーション・サーバ

[tpbroker]

次に示す手順で設定した値と同じものを設定します。

「(5)　アプリケーション・サーバの設定（HACMP）」

5

ファイルシステム

[/hacmp]

共有ディスクのマウント先ディレクトリの絶対パス名を指定します。

共有ディスクをUNIXファイルシステムで使用する場合だけ設定します。

6

ボリューム・グループ

[vg00]

−

（凡例）−：説明なし

6.3.5　ORB機能使用時の設定（HACMP）

ORB機能を使用するときに必要な設定をします。設定方法は使用するシステムのIPアドレスの種類によって異なります。詳細は，マニュアル「Borland Enterprise Server VisiBroker デベロッパーズガイド」を参照してください。

注意

エイリアスIPアドレスと永続IPアドレスは同一のLANに対して同時に構成することはできません。

設定された永続IPアドレスを使用しないで，サービスIPアドレスを使用してORBの通信をする場合は，通常のIPアドレスを使用する設定と同じ方法になります。設定方法については，「(1)　IP交換によるIPアドレス・テークオーバーの場合」を参照してください。

(1)　IP交換によるIPアドレス・テークオーバーの場合

IP交換によるIPアドレス・テークオーバーの場合の設定について説明します。

(a)　osagentの設定（IP交換によるIPアドレス・テークオーバー）

IPアドレスの設定（HACMP）

HACMPを起動するホスト上でosagentを起動する場合，HACMP上ですべての系に次の定義ファイルを設定します。

localaddrファイル

HACMP上でosagentを使用する場合，すべての系にlocaladdrファイルを作成し，その系でosagentの起動時に有効なすべてのIPアドレスを指定してください。

osagentがノード引き継ぎ対象ではなく，有効なIPアドレスをすべて設定できない場合は，自分自身をほかのホストで起動したosagentと認識し，通信量が増加してしまうことがあります。

htc.clienthandleraddrファイル

HACMP上でosagentが起動する場合，すべての系にhtc.clienthandleraddrファイルを作成し，すべてのホストに対して，サービスIPアドレスを応答するように設定してください。

osagentへの設定（HACMP）

異なるネットワークドメインのosagent間の通信で，一方のosagentをノード引き継ぎの対象とする場合，ノード引き継ぎ対象のosagentと通信をするosagentの定義ファイル（agentaddrファイル）に，サービスIPアドレスを設定します。

osagentに接続するプロセスへの設定（HACMP）

osagentとosagentに接続するプロセスを異なるネットワークドメインで起動し，osagentをノード引き継ぎの対象とする場合，次に示す定義ファイル，およびオプションのどれかにサービスIPアドレスを設定してください。

agentaddrファイル

環境変数OSAGENT_ADDR

プロパティvbroker.agent.addr

(b)　osagentの接続に関する設定（IP交換によるIPアドレス・テークオーバー）

HACMP上でosagentを起動する場合，次に示す環境変数の設定がosagentに必要です。

環境変数名：OSAGENT_CLIENT_HANDLER_PORT

環境変数の設定方法については，マニュアル「Borland Enterprise Server VisiBroker デベロッパーズガイド」を参照してください。

(c)　サーバの設定（IP交換によるIPアドレス・テークオーバー）

ネーミングサービスを含むCORBAアプリケーションをノード引き継ぎの対象とする場合，次の設定をします。

プロパティvbroker.se.<xxx>.host

サービスIPアドレス，またはホスト名を設定します。

プロパティvbroker.se.<xxx>.scm.<yyy>.listener.port

任意のポート番号を設定します。

使用するポート番号は，すべての系で同じポート番号が使用できるように管理する必要があります。

プロパティ名で，xxxはサーバエンジン，yyyはサーバコネクションマネージャを示します。

(d)　ORB機能使用時の設定例（IP交換によるIPアドレス・テークオーバー）

IP交換によるIPアドレス・テークオーバーの場合の，ORB機能の使用時の設定例について説明します。

システム構成の例

ORB機能使用時のシステム構成の例を次の図に示します。

図6‒3　IP交換によるIPアドレス・テークオーバーの場合のシステム構成例

IPアドレスの設定例

上記の図で示すシステム構成例でのIPアドレスの設定例を次の図に示します。

図6‒4　IP交換によるIPアドレス・テークオーバーの場合のIPアドレス設定例

ホストごとに設定値について説明します。

ホストAの設定

localaddrファイルに，osagent起動時に有効なサービスIPアドレス"C.C.C.C"とスタンバイIPアドレス"D.D.D.D"を記述します。また，そのほかに有効なIPアドレスがある場合は記述します。

htc.clienthandleraddrファイルに，ホストCに対する応答IPアドレスにサービスIPアドレス"C.C.C.C"を記述します。

サーバプロセスにプロパティvbroker.se.<xxx>.hostでサービスIPアドレス"C.C.C.C"を，プロパティvbroker.se.<xxx>.scm.<yyy>.listener.portに"8000"を設定します。

次のコマンドを実行します。

vbj Server - vbroker.se.<xxx>.host.C.C.C.C ¥ -vbroker.xe.<xxx>.scm.<yyy>.listener.port 8000

プロパティ名で，xxxはサーバエンジン，yyyはサーバコネクションマネージャを示します。

環境変数OSAGENT_PORTに"14000"を設定します。

環境変数OSAGENT_CLIENT_HANDLER_PORTに"16666"を設定します。

ホストBの設定

localaddrファイルに，osagent起動時に有効なサービスIPアドレス"C.C.C.C"とブートIPアドレス"B.B.B.B"を記述します。また，そのほかに有効なIPアドレスがある場合は記述します。

htc.clienthandleraddrファイルに，ホストCに対する応答IPアドレスにサービスIPアドレス"C.C.C.C"を記述します。

環境変数OSAGENT_PORTに"14000"を設定します。

環境変数OSAGENT_CLIENT_HANDLER_PORTに"16666"を設定します。

ホストCの設定

agentaddrファイルに，サービスIPアドレス"C.C.C.C"を記述します。

環境変数OSAGENT_PORTに"14000"を設定します。

(2)　IPエイリアスによるIPアドレス・テークオーバーの場合

IPエイリアスによるIPアドレス・テークオーバーの場合の設定について説明します。

(a)　osagentの設定（IPエイリアスによるIPアドレス・テークオーバー）

IPアドレスの設定（HACMP）

HACMPを起動するホスト上でosagentを起動する場合，HACMP上ですべての系に次の定義ファイルを設定します。

localaddrファイル

HACMP上でosagentを使用する場合，すべての系にlocaladdrファイルを作成し，その系でosagentの起動時に有効なすべてのIPアドレスを指定してください。

htc.clienthandleraddrファイル

HACMP上でosagentが起動する場合，すべての系にhtc.clienthandleraddrファイルを作成し，すべてのホストに対して，エイリアスIPアドレスを応答するように設定してください。

osagentへの設定（HACMP）

異なるネットワークドメインのosagent間の通信で，一方のosagentをノード引き継ぎの対象とする場合，ノード引き継ぎ対象のosagentと通信をするosagentの定義ファイル（agentaddrファイル）に，エイリアスIPアドレスを設定します。

osagentに接続するプロセスへの設定（HACMP）

osagentとosagentに接続するプロセスを異なるネットワークドメインで起動し，osagentをノード引き継ぎの対象とする場合，次に示す定義ファイル，およびオプションのどれかにエイリアスIPアドレスを設定してください。

agentaddrファイル

環境変数OSAGENT_ADDR

プロパティvbroker.agent.addr

(b)　osagentの接続に関する設定（IPエイリアスによるIPアドレス・テークオーバー）

HACMP上でosagentを起動する場合，次に示す環境変数の設定がosagentに必要です。

環境変数名：OSAGENT_CLIENT_HANDLER_PORT

環境変数の設定方法については，マニュアル「Borland Enterprise Server VisiBroker デベロッパーズガイド」を参照してください。

(c)　サーバの設定（IPエイリアスによるIPアドレス・テークオーバー）

ネーミングサービスを含むCORBAアプリケーションをノード引き継ぎの対象とする場合，次の設定をします。

プロパティvbroker.se.<xxx>.host

サービスIPアドレス，またはホスト名を設定します。

プロパティvbroker.se.<xxx>.scm.<yyy>.listener.port

任意のポート番号を設定します。

使用するポート番号は，すべての系で同じポート番号が使用できるように管理する必要があります。

プロパティ名で，xxxはサーバエンジン，yyyはサーバコネクションマネージャを示します。

(d)　ORB機能使用時の設定例（IPエイリアスによるIPアドレス・テークオーバー）

IPエイリアスによるIPアドレス・テークオーバーの場合の，ORB機能の使用時の設定例について説明します。

システム構成の例

ORB機能使用時のシステム構成の例を次の図に示します。

図6‒5　IPエイリアスによるIPアドレス・テークオーバーの場合のシステム構成例

IPアドレスの設定例

上記の図で示すシステム構成例でのIPアドレスの設定例を次の図に示します。

図6‒6　IPエイリアスによるIPアドレス・テークオーバーの場合のIPアドレス設定例

ホストごとに設定値について説明します。

ホストAの設定

localaddrファイルに，HACMP起動時に有効なエイリアスIPアドレス"C.C.C.C"，スタンバイIPアドレス"D.D.D.D"，およびブートIPアドレス"A.A.A.A"を記述します。そのほかに有効なIPアドレスがある場合は記述します。

htc.clienthandleraddrファイルに，現用系に対する応答IPアドレスにエイリアスIPアドレス"C.C.C.C"，ホストCに対する応答IPアドレスにエイリアスIPアドレス"C.C.C.C"を記述します。

サーバプロセスにプロパティvbroker.se.<xxx>.hostでエイリアスIPアドレス"C.C.C.C"を，vbroker.se.<xxx>.scm.<yyy>.listener.portに"8000"を設定します。

次のコマンドを実行します。

vbj Server - vbroker.se.<xxx>.host.C.C.C.C ¥ -vbroker.xe.<xxx>.scm.<yyy>.listener.port 8000

プロパティ名で，xxxはサーバエンジン，yyyはサーバコネクションマネージャを示します。

環境変数OSAGENT_PORTに"14000"を設定します。

環境変数OSAGENT_CLIENT_HANDLER_PORTに"16666"を設定します。

ホストBの設定

localaddrファイルに，osagent起動時に有効なエイリアスIPアドレス"C.C.C.C"とブートIPアドレス"B.B.B.B"を記述します。そのほかに有効なIPアドレスがある場合は記述します。

htc.clienthandleraddrファイルに，ホストCに対する応答IPアドレスにエイリアスIPアドレス"C.C.C.C"を記述します。

環境変数OSAGENT_PORTに"14000"を設定します。

環境変数OSAGENT_CLIENT_HANDLER_PORTに"16666"を設定します。

ホストCの設定

agentaddrファイルに，エイリアスIPアドレス"C.C.C.C"を記述します。

環境変数OSAGENT_PORTに"14000"を設定します。

(3)　永続IPアドレスの場合

永続IPアドレスの場合の設定について説明します。

(a)　osagentの設定（永続IPアドレス）

IPアドレスの設定（HACMP）

HACMPを起動するホスト上でosagentを起動する場合，HACMP上ですべての系に次の定義ファイルを設定します。IPアドレスの設定は，osagentの起動タイミングによって異なります。設定例は，「(c)　ORB機能使用時の設定例（永続IPアドレス）」を参照してください。

localaddrファイル

HACMP上でosagentを使用する場合，すべての系にlocaladdrファイルを作成し，その系でosagentの起動時に有効なすべてのIPアドレスを指定してください。

osagentがノード引き継ぎ対象ではなく，有効なIPアドレスをすべて設定できない場合は，自分自身をほかのホストで起動したosagentと認識し，通信量が増加してしまうことがあります。

htc.clienthandleraddrファイル

HACMP上でosagentが起動する場合，すべての系にhtc.clienthandleraddrファイルを作成し，すべてのホストに対して，永続IPアドレスを応答するように設定してください。

osagentへの設定（HACMP）

異なるネットワークドメインのosagent間の通信で，一方のosagentをノード引き継ぎの対象とする場合，ノード引き継ぎ対象のosagentと通信をするosagentの定義ファイル（agentaddrファイル）に，永続IPアドレスを設定します。

osagentに接続するプロセスへの設定（HACMP）

osagentとosagentに接続するプロセスを異なるネットワークドメインで起動し，osagentをノード引き継ぎの対象とする場合，次に示す定義ファイル，およびオプションのどれかに永続IPアドレスを設定してください。

agentaddrファイル

環境変数OSAGENT_ADDR

プロパティvbroker.agent.addr

(b)　サーバの設定（永続IPアドレス）

ネーミングサービスを含むCORBAアプリケーションをノード引き継ぎの対象とする場合，次の設定をします。

プロパティvbroker.se.<xxx>.host

永続IPアドレス，またはホスト名を設定します。

プロパティvbroker.se.<xxx>.scm.<yyy>.listener.port

任意のポート番号を設定します。

使用するポート番号は，すべての系で同じポート番号が使用できるように管理する必要があります。

プロパティ名で，xxxはサーバエンジン，yyyはサーバコネクションマネージャを示します。

(c)　ORB機能使用時の設定例（永続IPアドレス）

永続IPアドレスの場合の，ORB機能の使用時の設定例について説明します。

システム構成の例

ORB機能使用時のシステム構成の例を次の図に示します。

図6‒7　永続IPアドレスの場合のシステム構成例

IPアドレスの設定例

上記の図で示すシステム構成例でのIPアドレスの設定例を次の図に示します。

HACMP起動前にosagentを起動させる場合

HACMP起動前にosagentを起動させる場合の設定例です。

図6‒8　永続IPアドレスの場合のIPアドレス設定例（HACMP起動前にosagentを起動させる場合）

HACMP起動後にosagentを起動させる場合

HACMP起動後にosagentを起動させる場合の設定例です。

図6‒9　永続IPアドレスの場合のIPアドレス設定例（HACMP起動後にosagentを起動させる場合）

ホストAの設定

localaddrファイルの設定

1.　HACMP起動前にosagentを起動させる場合

osagent起動時に有効な永続IPアドレス"C.C.C.C"，ブートIPアドレス"A.A.A.A"，およびスタンバイIPアドレス"D.D.D.D"を記述します。そのほかに有効なIPアドレスがある場合は記述します。

2.　HACMP起動後にosagentを起動させる場合

osagent起動時に有効な永続IPアドレス"C.C.C.C"，サービスIPアドレス"B.B.B.B"，およびスタンバイIPアドレス"D.D.D.D"を記述します。そのほかに有効なIPアドレスがある場合は記述します。

htc.clienthandleraddrファイルに，現用系に対する応答IPアドレスに永続IPアドレス"C.C.C.C"，ホストBに対する応答IPアドレスに永続IPアドレス"C.C.C.C"を記述します。

サーバプロセスにプロパティvbroker.se.<xxx>.hostで永続IPアドレス"C.C.C.C"を，プロパティvbroker.se.<xxx>.scm.<yyy>.listener.portに"8000"を設定します。

次のコマンドを実行します。

vbj Server - vbroker.se.<xxx>.host.C.C.C.C ¥ -vbroker.xe.<xxx>.scm.<yyy>.listener.port 8000

プロパティ名で，xxxはサーバエンジン，yyyはサーバコネクションマネージャを示します。

環境変数OSAGENT_PORTに"14000"を設定します。

ホストBの設定

agentaddrファイルに永続IPアドレス"C.C.C.C"を記述します。

環境変数OSAGENT_PORTに"14000"を設定します。

6.4　HACMPとの連携時の運用

この節では，HACMPとの連携時の運用について説明します。

次の運用について説明します。

TPBrokerの開始

TPBrokerの停止

TPBrokerの定義の変更

待機系でのTPBrokerの移行

これ以外の運用については，マニュアル「TPBroker ユーザーズガイド」，HACMPのマニュアルを参照してください。

6.4.1　TPBrokerの開始（HACMP）

HACMPの運用コマンドで，リソース・グループ（tpbroker）を開始します。共有ボリュームグループの活動を開始するタイミングは，HACMPが管理しているため，TPBrokerのadmstartコマンドでTPBrokerを開始させないようにします。

6.4.2　TPBrokerの停止（HACMP）

HACMPの運用コマンドで，リソース・グループ（tpbroker）を停止します。TPBrokerのadmstopコマンドでは，TPBrokerは一時的にしか停止しません。

6.4.3　TPBrokerの定義の変更（HACMP）

TPBrokerをクラスタ構成で使用し，TPBrokerのシステム環境定義，および監視対象プロセスのカレントディレクトリが作成，削除されるタイミングの定義を変更する場合の手順について説明します。

定義を変更します。

必ずすべての系で同じ設定をしてください。

システム環境定義

tsdefvalueコマンドで定義を変更します。

監視対象プロセスのカレントディレクトリが作成，削除されるタイミングの定義

admsetupコマンドの-cオプションで指定したプロセス監視定義ファイルを編集します。

リソース・グループtpbrokerが起動している系で，TPBrokerがオンラインであることを確認します。

オンラインのときには，admstatコマンドを実行すると，TPBrokerの稼働状況が表示されます。表示されないときには，開始中なので，オンラインになるまで待ってください。

TPBrokerを正常停止します。

admstopコマンドを実行します。

6.4.4　待機系でのTPBrokerの移行（HACMP）

TPBrokerのバージョンアップなどで，TPBrokerが動作していない系のTPBrokerを入れ替える手順について説明します。

TPBrokerを入れ替えるには，OTS機能を正常停止させる必要があります。次の手順に従ってください。

OTS機能を停止します。

-iオプションを指定してadmstopprcコマンドを実行することで，OTS機能を正常停止させます。

計画的に系を切り替えます。

切り替えた先の系でOTS機能を起動してもかまいません。

ADM機能をアンセットアップします。

TPBrokerを入れ替えます。

OTS機能で使用するリソースマネージャを登録します。

コマンドの実行例を示します。

tslnkrm -nlm

-fオプションは指定しないでください。

ADM機能をセットアップします。

計画的に系を切り替えます

セットアップした環境に戻します。

OTS機能を開始します。

同様にすべての系のTPBrokerを入れ替え，すべての系のTPBrokerのバージョンを同一にしてください。

6.5　HACMPとの連携時のアンセットアップ

この節では，HACMPとの連携時のアンセットアップについて説明します。

TPBrokerをアンセットアップする系ごとに次の手順をしてください。

TPBrokerのリソース・グループ（tpbroker）を停止します。

TPBrokerの運用支援実行環境をアンセットアップします。

次のコマンドを実行します。

admsetup -d

TPBrokerのOTS環境をアンセットアップします。

次のコマンドを実行します。

tssetup -d

7　ディスク複製インストール方法

この章では，TPBrokerとJP1/ServerConductor/Deployment Managerとの連携方法，およびTPBrokerと仮想化プラットフォームの複製機能について説明します。

7.1　JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォームでできること

この節では，JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォームとの連携でできることについて説明します。

JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォームと連携させることで，ディスク複製インストールをすることができます。

連携できるOSは次のとおりです。

Windows

Linux

連携できるTPBrokerのプログラムプロダクトは次のとおりです。

Cosminexus TPBroker

TPBroker Developer

TPBroker

TPBroker Client（Windows限定）

JP1/ServerConductor/Deployment Managerの詳細は，マニュアル「JP1/ServerConductor/Deployment Manager」を参照してください。

仮想化ソフトウェアの詳細は，仮想化ソフトウェアのマニュアルを参照してください。

7.2　JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォームとの連携時のセットアップ

この節では，JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォームとの連携時のセットアップの方法について説明します。

ここで説明するセットアップの方法は，JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム，およびTPBrokerの基本的な設定を終えていることを前提とし，TPBrokerとの連携時に必要な手順だけを説明します。セットアップの詳細は，マニュアル「JP1/ServerConductor/Deployment Manager」または仮想化ソフトウェアのマニュアル，およびマニュアル「TPBroker ユーザーズガイド」を参照してください。

7.2.1　セットアップの流れ（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）

JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォームとの連携時のセットアップの流れを次の図に示します。

図7‒1　JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォームとの連携時のセットアップの流れ

なお，Cosminexus TPBrokerでは，OTS機能，およびADM機能が使用できません。そのため，Cosminexus TPBrokerを使用している場合のセットアップは，次に示す手順だけです。

ログ・トレースの削除（7.2.2(6)）

シナリオの設定（7.2.3）

ディスク複製によるOSインストール（7.2.4）

環境変数の設定（7.2.5(1)）

ORB機能の設定（7.2.5(2)(a)）

インストール中にTPBrokerに関連するサービスが起動した場合，ほかのコンピュータ上で起動しているosagentと連携して，システム全体として問題が発生する可能性があるため，7.2.2以降で示すセットアップ手順に従って，ディスク複製中はTPBrokerが起動しないようにしてください。

7.2.2　マスタコンピュータのセットアップ

JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォームで，TPBrokerを含むOSをディスク複製する場合，次に示す手順に従ってください。

(1)　OTS機能の停止

OTS機能を使用している場合は，OTS機能を正常停止します。

コマンドの実行例を次に示します。

OTS機能を正常停止します。

次のコマンドを実行します。

ADM機能と連携している場合

admstopprc -i 0001

ADM機能と連携していない場合

tsstop

Cosminexus TPBrokerで，J2EEサーバ上でインプロセストランザクションサービスを使用している場合は，J2EEサーバの停止方法に従って，正常停止してください。

(2)　TPBrokerのシステム環境定義のバックアップ

次の機能を使用している場合は，TPBrokerのシステム環境定義のバックアップを取得します。

ADM機能

TPBrokerのOTS機能

コマンドの実行例を次に示します。

TPBrokerの定義のバックアップを取得します。

tslsconf > tslsconf.log

(3)　ADM機能のアンセットアップ

ADM機能を使用している場合は，ADM機能をアンセットアップします。

コマンドの実行例を次に示します。

Windows

TPBrokerのサービスを停止します。

net stop TPBroker

TPBrokerのADM機能をアンセットアップします。

admsetup -d

Linux

システム環境定義の開始モードの値に，"MANUAL"を設定します。

tsdefvalue /ADM set_conf_mode -s "MANUAL"

TPBrokerを正常停止します。

admstop

TPBrokerのADM機能をアンセットアップします。

admsetup -d

(4)　TPBrokerのアンセットアップ

次の機能を使用している場合は，TPBrokerをアンセットアップします。

ADM機能

TPBrokerのOTS機能

コマンドの実行例を次に示します。

TPBrokerをアンセットアップします。

tssetup -d

(5)　ステータスファイルの削除

Cosminexus TPBrokerで，J2EEサーバ上でインプロセストランザクションサービスを使用している場合，次に示すJ2EEサーバのプロパティで，指定されているディレクトリを削除します。

ejbserver.distributedtx.ots.status.directory1

ejbserver.distributedtx.ots.status.directory2

(6)　ログ・トレースの削除

次に示すディレクトリ以下のファイルをすべて削除します。

Windows

<TPBrokerのインストール先ディレクトリ>¥log

<TPBrokerのインストール先ディレクトリ>¥log¥mdltrc

<TPBrokerのインストール先ディレクトリ>¥log¥comtrc

<TPBrokerのインストール先ディレクトリ>¥log¥stktrc

<TPBrokerのインストール先ディレクトリ>¥logj

<TPBrokerのインストール先ディレクトリ>¥logj¥mdltrc

<TPBrokerのインストール先ディレクトリ>¥logj¥comtrc

<TPBrokerのインストール先ディレクトリ>¥logj¥namelog

%VBROKER_ADM%¥..¥log

%VBROKER_ADM%¥..¥log¥mdltrc

%VBROKER_ADM%¥..¥log¥comtrc

%VBROKER_ADM%¥..¥log¥stktrc

%VBROKER_ADM%¥..¥logj

%VBROKER_ADM%¥..¥logj¥mdltrc

%VBROKER_ADM%¥..¥logj¥comtrc

%VBROKER_ADM%¥..¥logj¥namelog

%HVI_TRACEPATH%

%HVI_TRACEPATH%¥mdltrc

%HVI_TRACEPATH%¥comtrc

%HVI_TRACEPATH%¥stktrc

%HVI_TRACEPATH%¥namelog

<TPBrokerのインストール先ドライブ>¥vbroker¥log

%OSAGENT_LOG_DIR%

Linux

<TPBrokerのインストール先ディレクトリ>/log

<TPBrokerのインストール先ディレクトリ>/log/mdltrc

<TPBrokerのインストール先ディレクトリ>/log/comtrc

<TPBrokerのインストール先ディレクトリ>/log/hgttrc

<TPBrokerのインストール先ディレクトリ>/logj

<TPBrokerのインストール先ディレクトリ>/logj/mdltrc

<TPBrokerのインストール先ディレクトリ>/logj/comtrc

<TPBrokerのインストール先ディレクトリ>/logj/namelog

$VBROKER_ADM/../log

$VBROKER_ADM/../log/mdltrc

$VBROKER_ADM/../log/comtrc

$VBROKER_ADM/../log/hgttrc

$VBROKER_ADM/../logj

$VBROKER_ADM/../logj/mdltrc

$VBROKER_ADM/../logj/comtrc

$VBROKER_ADM/hgtfifo

$VBROKER_ADM/../logj/namelog

$HVI_TRACEPATH

$HVI_TRACEPATH/mdltrc

$HVI_TRACEPATH/comtrc

$HVI_TRACEPATH/hgttrc

$HVI_TRACEPATH/namelog

Windowsの場合，次に示すディレクトリを削除します。

%VBROKER_ADM%¥log

7.2.3　シナリオの設定

JP1/ServerConductor/Deployment Managerとの連携の場合はシナリオを作成します。詳細は，マニュアル「JP1/ServerConductor/Deployment Manager」を参照してください。

また，JP1/ServerConductor/Deployment Manager とTPBroker を連携させる場合，次の設定を行います。

複製後のコンピュータで，固定IPアドレスを使用する。

DHCPでIPアドレスを割り当てないようにしてください。

7.2.4　ディスク複製によるOSインストール

ディスク複製インストールを実行します。詳細は，マニュアル「JP1/ServerConductor/Deployment Manager」，または仮想化ソフトウェアのマニュアルを参照してください。

注意事項

ディスク複製時にセットアップパラメタファイルのコピーに失敗した場合，固定IPアドレスを使用するように手動でネットワークの設定を行ってください。

TPBrokerはDHCPに対応できません。ディスク複製後はDHCPを使用しないように設定してください。

仮想化プラットフォームが提供するイメージファイル化による複製機能を使用する場合，以下を使用している場合は，指定したホスト名やIPアドレスをシステムに合わせて変更してください。

agentaddrファイル（環境変数OSAGENT_ADDR_FILEまたはプロパティvbroker.agent.addrFileでも指定できます）

localaddrファイル（環境変数OSAGENT_LOCAL_FILEまたはプロパティvbroker.agent.localFileでも指定できます）

htc.clienthandleraddrファイル（環境変数HVI_OSAGENT_CLIENTHANDLERADDR_FILEでも指定できます）

プロパティ vbroker.agent.addr

プロパティ vbroker.se.xxx.host（xxxはサーバエンジンです）

プロパティ vbroker.se.xxx.proxyHost（xxxはサーバエンジンです）

プロパティ vbroker.orb.initRef

プロパティ vbroker.orb.defaultInitRef（C++のみ）

コマンドラインオプション ORBInitRef

コマンドラインオプション ORBDefaultInitRef（C++のみ）

コマンドラインオプション ORBagentAddr

osagentのコマンドラインオプション -a

環境変数 OSAGENT_ADDR

また，ホスト名やIPアドレスを変更する前に作成したIORファイルは，変更後に再作成し再配布してください。

7.2.5　複製先コンピュータのセットアップ

ディスク複製インストール後，次の設定を行ってください。

(1)　環境変数の設定（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）

次の表に示す環境変数を確認し，値を再設定してください。

表7‒1　環境変数の一覧（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）

項番

環境変数名

設定内容

1

OSAGENT_PORT

マスタコンピュータとORBのドメインが異なる場合，ドメインを構成するポート番号を指定します。

2

OSAGENT_CLIENT_HANDLER_PORT

複製先コンピュータの環境に合わせます。

3

OSAGENT_ADDR

複製先コンピュータの環境に合わせます。

(2)　定義の設定（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）

ORB機能，およびADM機能に設定されている定義を確認し，値を再設定してください。

(a)　ORB機能の設定（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）

ORB機能に関する定義ファイル，およびプロパティを確認し，値を再設定してください。

再設定する定義ファイルを次の表に示します。

表7‒2　定義ファイルの設定の一覧

項番

定義ファイル

ファイルの格納場所

設定内容

1

agentaddrファイル

次のどちらかです。

$VBROKER_ADM/agentaddr（%VBROKER_ADM%¥agentaddr）

$OSAGENT_ADDR_FILE（%OSAGENT_ADDR_FILE%），またはプロパティvbroker.agent.addrFileに指定されたファイル

複製先コンピュータの連携先のosagentのIPアドレスに合わせます。

2

localaddrファイル

次のどちらかです。

$VBROKER_ADM/localaddr（%VBROKER_ADM%¥localaddr）

$OSAGENT_ADDR_FILE（%OSAENT_LOCAL_FILE%），またはプロパティvbroker.agent.localFileに指定されたファイル

複製先コンピュータの環境（自IPアドレス）に合わせます。

3

htc.clienthandleraddrファイル

次のどちらかです。

$VBROKER_ADM/htc.clienthandleraddr（%VBROKER_ADM%¥htc.clienthandleraddr）

$HVI_OSAGENT_CLIENTHANDLERADDR_FILE（%HVI_OSAGENT_CLIENTHANDLERADDR_FILE%）に指定されたファイル

複製先コンピュータの環境（自IPアドレス）に合わせます。

再設定するプロパティを次の表に示します。

なお，プロパティvbroker.orb.propStorage（ORBpropStorage）で指定した定義ファイルに次の表に示すプロパティが指定されている場合は，定義ファイルの内容も変更する必要があります。

表7‒3　プロパティの設定の一覧

項番

オプション

設定内容

1

vbroker.se.<xxx>.host※1

複製先コンピュータの自IPアドレスを指定します。

2

vbroker.se.<xxx>.proxyHost※1

複製先コンピュータで解決できるIPアドレスを指定します。

3

vbroker.se.<xxx>x.scm.<yyy>.listener.port※1,※2

複製先コンピュータの自ポート番号を指定します。

4

vbroker.agent.addr

複製先コンピュータから接続するosagentのIPアドレスを指定します。

5

vbroker.agent.port

マスタコンピュータとORBのドメインが異なる場合，ドメインを構成するポート番号を指定します。

注※1

xxxはサーバエンジンを示します。

注※2

yyyはサーバコネクションマネージャを示します。

(b)　システム環境定義の設定（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）

OTS機能，およびADM機能を使用している場合は，システム環境定義を設定します。

コマンドの実行例を次に示します。

TPBrokerをセットアップします。

tssetup

システム環境定義の値を設定します。

tsdefvalue /ADM set_conf_mode -s "MANUAL"

設定する値については，事前に取得したシステム環境定義のバックアップに従います。詳細は，「7.2.2(2)　TPBrokerのシステム環境定義のバックアップ」を参照してください。

また，次の表に示すシステム環境定義をマスタコンピュータで設定していた場合は，複製先コンピュータの環境に合わせて，再設定してください。マスタコンピュータで設定していなかった場合は，設定する必要はありません。

表7‒4　システム環境定義の設定

項番

システム環境定義

設定内容

1

/OTS/completion_process_ipaddr_info

複製先コンピュータ上の決着デーモンが使用するホスト名に変更します。

2

/OTS/set_ipaddr_info

複製先コンピュータ上のOTSのデーモンが使用するホスト名に変更します。

(3)　ADM機能の設定（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）

ADM機能を使用している場合は，ADM機能の設定をします。

コマンドの実行例を次に示します。

プロセス監視定義ファイルを変更します。

再設定したシステム環境定義の値に合わせて，プロセス監視定義ファイルの値を変更します。

この手順は再設定したシステム環境定義の値が，プロセス監視定義ファイルでも設定されている場合にだけ必要です。再設定したシステム環境定義の値については，「(2)　定義の設定（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）」を参照してください。

TPBrokerの実行環境のセットアップをします。

admsetup -c c:¥admconf.cf

(4)　サービスの開始（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）

ADM機能を使用する場合は，ADM機能のサービスを開始します。この手順は，Windowsだけ必要です。

コマンドの実行例を次に示します。

TPBrokerのADM機能のサービスを開始します。

net start TPBroker

8　メッセージ

この節では，TPBrokerの運用時に出力されるメッセージについて説明します。

8.1　メッセージの概要

この節では，TPBrokerの運用時に出力されるメッセージの種類，およびメッセージの表記について説明します。

8.1.1　メッセージの種類

TPBrokerの運用時に出力されるメッセージの種類を示します。

表8‒1　TPBrokerの運用時に出力されるメッセージの種類

メッセージの種類

参照先

KFCB91000〜KFCB91999のメッセージ

8.2

KFCB92000〜KFCB92999のメッセージ

8.3

トレース情報取得ができない場合に出力されるメッセージ

8.4

hvmgteeコマンドのエラーメッセージ

8.5

hdumpnsコマンドのエラーメッセージ

8.6

このマニュアルでのメッセージの並び順について説明します。

メッセージIDがある場合は，メッセージIDの順に並んでいます。メッセージIDがある場合のメッセージの出力形式については，「8.1.2　メッセージの表記」を参照してください。

メッセージIDがない場合は，アルファベット順に並んでいます。

8.1.2　メッセージの表記

メッセージIDがある場合のメッセージの表記について説明します。

(1)　メッセージの出力形式

メッセージの出力形式を次に示します。

(2)　メッセージの記述形式

メッセージの記述形式を次に示します。

メッセージID

メッセージテキスト

説明

［要因］

メッセージの出力要因を示します。

［システムの処理］

システムがメッセージを出力したあとにする主な処理を示します。

［対策］

メッセージ確認時のTPBroker管理者の処置を示します。

8.2　KFCB91000〜KFCB91999のメッセージ

KFCB91000-I

Now starting Naming Service.

［要因］

ネーミングサービスを起動中です。

［システムの処理］

処理を続行します。

［対策］

なし。

KFCB91001-I

Naming Service is now online. FactoryName=aa....aa, Port=bb....bb

aa....aa：ネーミングサービス起動時に指定した名前

bb....bb：ネーミングサービスの待ち受けポート番号

vbroker.orb.htc.msgLog.security=trueが指定されている場合，ポート番号は固定文字列"*****"が表示されます。

［要因］

ネーミングサービスが起動されました。

［システムの処理］

処理を続行します。

［対策］

なし。

KFCB91002-I

Naming Service stopped. FactoryName=aa....aa, Port=bb....bb

aa....aa：ネーミングサービス起動時に指定した名前

bb....bb：ネーミングサービスの待ち受けポート番号

vbroker.orb.htc.msgLog.security=trueが指定されている場合，ポート番号は固定文字列"*****"が表示されます。

［要因］

ネーミングサービスユーティリティ（nsutil）のshutdownコマンドによって，ネーミングサービスが終了しました。

［システムの処理］

処理を続行します。

［対策］

なし。

KFCB91003-I

Naming Service terminated. FactoryName=aa....aa, Port=bb....bb

aa....aa：ネーミングサービス起動時に指定した名前

bb....bb：ネーミングサービスの待ち受けポート番号

vbroker.orb.htc.msgLog.security=trueが指定されている場合，ポート番号は固定文字列"*****"が表示されます。

また，名前，ポート番号が取得できなかった場合，名前およびポート番号は固定文字列"*****"が表示されます。

［要因］

ネーミングサービスが終了しました。

ただし，このメッセージはネーミングサービスが強制終了された場合には出力されません。

［システムの処理］

処理を続行します。

［対策］

なし。

KFCB91004-W

A CORBA::TIMEOUT occurred. aa....aa=bb....bb, info=cc....cc

aa....aa：発生したタイムアウトの種類

RelativeConnectionTimeout，RelativeRequestTimeout，またはRelativeRoundtripTimeoutのどれかが出力されます。

bb....bb：設定したタイムアウト値（単位：100ナノ秒）

cc....cc：保守情報

RelativeConnectionTimeout

プロセス間通信のコネクション接続時にタイムアウトが発生しました。

RelativeRequestTimeout

データ送信時にタイムアウトが発生しました。

RelativeRoundtripTimeout

リクエスト送信処理からリクエストの応答受信までの間にタイムアウトが発生しました。

［要因］

タイムアウトが発生しました。

［システムの処理］

処理を続行します。

［対策］

RelativeConnectionTimeout

ネットワークに問題があるため，コネクション接続に時間が掛かっている可能性があります。ネットワークの状態を見直してください。

指定したタイムアウト時間が短い場合は，com.inprise.vbroker.QoSExt.RELATIVE_CONN_TIMEOUT_POLICY_TYPEの値を大きくしてください。

RelativeRequestTimeout

サーバ側のリソース不足，ネットワークの問題などによって，サーバにリクエストを送信できない可能性があります。サーバ側の状態，およびネットワークの状態を見直してください。

指定したタイムアウト時間が短い場合は，org.omg.Messaging.RELATIVE_REQ_TIMEOUT_POLICY_TYPEの値を大きくしてください。

RelativeRoundtripTimeout

次の状態になっている可能性があります。

サーバ処理に時間が掛かっている

リソース不足などによって，サーバがリクエストを受信できない

再接続処理が繰り返し行われている

サーバの状態を見直してください。

また，ネットワークの問題によって，次の状態になっている可能性があります。

サーバにリクエストが到達していない

再接続処理が繰り返し行われている

ネットワークの状態を見直してください。

指定したタイムアウト値が小さい場合には，org.omg.Messaging.RELATIVE_RT_TIMEOUT_POLICY_TYPEの値を大きくしてください。

KFCB91005-W

ORB trace is unavailable due to failure to create directory. reason=aa....aa, path=bb....bb.

aa....aa：エラーコード

WindowsはGetLastError()，UNIXはerrnoの値です。

bb....bb：パス名

作成時にエラーが発生したパス名です。

［要因］

トレース出力ディレクトリの生成に失敗しました。そのため，生成に失敗したディレクトリ下のJava ORBトレースは取得されません。

［システムの処理］

処理を続行します。

［対策］

指定されたパスの，どのディレクトリまで作成できたかを確認した上で，エラーコードからパスやアクセス権限などを見直してください。

出力ディレクトリのパスを再設定し，プロセスを再起動することをお勧めします。

問題を解決したあとプロセスを再起動しない場合には，障害発生時にトレース情報がないので，調査が困難になります。

8.3　KFCB92000〜KFCB92999のメッセージ

KFCB92000-I

Now starting OSAgent.

［要因］

osagentが起動しました。

［システムの処理］

処理を継続します。

［対策］

なし。

KFCB92001-I

OSAgent is now online. OSAGENT_PORT=aa....aa , OSAGENT_CLIENT_HANDLER_PORT=bb....bb

aa....aa：OSAGENT_PORTの値

bb....bb：OSAGENT_CLIENT_HANDLER_PORTの値

指定されていない場合は，それぞれのデフォルト値（14000および0）が表示されます。

vbroker.orb.htc.msgLog.security=trueが指定されている場合は，それぞれ"*****"が表示されます。

［要因］

osagentがサービスを開始しました。

［システムの処理］

処理を継続します。

［対策］

なし。

KFCB92002-I

OSAgent terminated. SIGNAL=aa....aa

aa....aa：シグナル番号

［要因］

（Windows）

osagentが終了しました。

（UNIX）

osagentがシグナルaa....aa番によって終了しました。

"SIGNAL=aa....aa"はUNIXの場合だけ出力されます。Windowsでは該当個所のメッセージは出力されません。

［システムの処理］

osagentプロセスを終了します。

［対策］

なし。

KFCB92003-I

OSAgent stopped.

［要因］

osagentがWM_CLOSEメッセージによって終了しました。

このメッセージはWindowsで-mオプションを指定したosagentだけ出力されます。

［システムの処理］

osagentプロセスを終了します。

［対策］

なし。

KFCB92004-E

OSAgent abnormal terminated.

［要因］

osagentがエラーによって終了しました。

［システムの処理］

osagentプロセスを終了します。

［対策］

osagentに指定したパラメタ（ポート番号，引数など），環境などに問題がないか確認してください。

KFCB92005-E

Lack of the memory occurred in OSAgent.

［要因］

osagentでメモリ不足が発生しました。

［システムの処理］

osagentプロセスを終了します。

［対策］

システムでosagentを複数起動するなどして，一つのosagentプロセスに対する負荷を軽減してください。

KFCB92006-W

OSAgent detected client's going down. Host Name:[aa....aa] Process id:[bb....bb]

aa....aa：osagentと通信があったプロセスが起動されていたホスト名

bb....bb：osagentと通信があったプロセスID

［要因］

osagentと一定期間の通信がなかったため，osagentは該当プロセスの登録情報を削除しました。

登録情報を削除する条件は次のとおりです。

該当プロセスが異常終了している（C++ ORBの場合，［Ctrl］+［C］での割り込みは含まれません）。

該当プロセスとosagentが通信できない状態になっている。

該当プロセスが，ORB.shutdown（Java ORB）やORB.destroy（Java ORB），またはCORBA::ORB::shutdown（C++ ORB）やCORBA::ORB::destroy（C++ ORB）を実行しないままプロセスを終了している。

注

アプリケーションプログラムがJava ORBの場合，プロセスIDはプロセスを識別するためにTPBrokerが割り当てた整数値になります。

Java ORBで起動したときのプロセスIDに該当する，アプリケーションプログラムの情報は，osagentのバーボースログで確認してください。

［システムの処理］

処理を継続します。

［対策］

該当プロセスの登録情報削除が予期しない動作である場合，ネットワーク構成，該当プロセスの起動状態，および該当プロセスの処理を見直してください。

KFCB92007-W

Invalid host is specified in agentaddr. (aa....aa)

aa....aa：agentaddrファイルに指定されているホスト

［要因］

osagentはagentaddrファイルに指定されているホストaa....aaを，ホストとして解決できませんでした。

［システムの処理］

処理を継続します。

［対策］

agentaddrファイルに指定されているホストが正しいか確認して修正してください。修正を有効にするためには，osagentを再起動してください。

8.4　トレース情報取得ができない場合に出力されるメッセージ

この節では，トレース情報取得ができない場合に出力されるメッセージについて説明します。このメッセージは，C++ ORBの場合だけ，標準出力に出力されます。

ORB trace is unavailable due to failure to create directory. reason=aa....aa, path=bb....bb.

aa....aa：エラーコード

WindowsはGetLastError()，UNIXはerrnoの値です。

bb....bb：パス名

作成時にエラーが発生したパス名です。

［要因］

トレース出力ディレクトリの生成に失敗しました。そのため，生成に失敗したディレクトリ下のC++ ORBトレースは取得されません。

［システムの処理］

処理を続行します。

［対策］

指定されたパスの，どのディレクトリまで作成できたかを確認した上で，エラーコードからパスやアクセス権限などを見直してください。

出力ディレクトリのパスを再設定し，プロセスを再起動することをお勧めします。

問題を解決したあとプロセスを再起動しない場合には，障害発生時にトレース情報がなく，調査が困難になります。

ORB trace is unavailable due to system call failure. trace=aa....aa, func=bb....bb, reason=cc....cc.

aa....aa：トレース種別

mdl：モジュールトレース

comt：通信トレース

stk：スタックトレース

hgt：バーボースログ

bb....bb：エラーが発生したシステムコール名

cc....cc：システムコールのエラーコード

［要因］

システムコールでエラーが発生したため，トレース情報を取得できません。

［システムの処理］

処理を続行します。

［対策］

エラーコードから問題を解決し，プロセスを再起動することをお勧めします。

問題を解決したあとプロセスを再起動しない場合には，障害発生時にトレース情報がなく，調査が困難になります。

8.5　hvmgteeコマンドのエラーメッセージ

この節では，hvmgteeコマンドのエラーメッセージについて説明します。このエラーメッセージは，UNIXの場合だけ出力されます。

hvmgteeコマンドでエラーが発生した場合，エラーメッセージは次のフォーマットで標準エラー出力に出力されます。

*** hvmgtee error ,cause=<XXX> ,errno=<XXX> ,line=<XXX> ***

（凡例）　XXX：任意の文字列

XXXに出力される情報を項目ごとに次に示します。

cause

エラーの内容（関数名など）が出力されます。この情報で要因を特定できます。詳細は「表8-2　causeに出力される情報とその要因」を参照してください。

errno

関数のエラーが要因となる場合に，errnoにセットされた値が出力されます。

line

エラーが発生したhvmgteeコマンドの行番号が出力されます。

causeに出力される情報でエラー要因を特定します。errnoやlineの情報を参考にして，要因を取り除いたあとに，hvmgteeコマンドを再起動してください。

causeに出力される情報とその要因を次の表に示します。

表8‒2　causeに出力される情報とその要因

項番

causeに出力される情報

考えられる要因

1

$VBROKER_ADM not defined

環境変数VBROKER_ADMが指定されていません。

2

$VBROKER_ADM over length

環境変数VBROKER_ADMに指定されたパス名が980バイトを超えています。

3

child process dead

hvmgteeコマンドのプロセスが，起動後に何らかの要因で終了しました。

4

dup error1

osagentの標準出力のファイルディスクリプタをFIFOへ移すのに失敗しました。

5

dup error2

osagentの標準エラー出力のファイルディスクリプタをFIFOへ移すのに失敗しました。

6

execlp error

hvmgteeコマンドの起動に失敗しました。

7

FIFO can't be opened

hvmgteeコマンドがFIFOのアクセスに失敗しました。

8

FIFO can't be opened in the time

osagentが作成したFIFOのアクセスを一定時間内に成功させることができませんでした。

9

fifo_dir opendir error

hgtfifoディレクトリのアクセスに失敗しました。

10

fork error

hvmgteeコマンドを自動実行させるために必要なforkの処理で失敗しました。

11

malloc error

hvmgteeコマンドのプロセス内でmalloc処理が失敗しました。

12

mkfifo error

hgtfifoディレクトリの下でFIFOの作成に失敗しました。

13

output_dir can't open

hvmgteeコマンドがファイル出力するディレクトリのアクセスに失敗しました。

14

outputfile fopen error

バーボースログの出力ファイルの作成に失敗しました。

15

parents process dead

hvmgteeコマンドのプロセスを自動起動したosagentが，ログ出力前に終了しました。

8.6　hdumpnsコマンドのエラーメッセージ

この節では，hdumpnsコマンドのエラーメッセージについて説明します。このエラーメッセージは，Cosminexus TPBroker（Windows）だけで，戻り値が0以外の場合に，出力されます。

hdumpns error:can't communicate with specified process.

ERROR CODE = <エラーコード>

［要因］

指定されたネーミングサービスと通信できません。

［対策］

引数に指定されたプロセスIDが正しいかを確認してください。

［戻り値］

1

hdumpns error:can't send request.

ERROR CODE = <エラーコード>

［要因］

指定されたネーミングサービスと通信できません。

［対策］

hdumpnsコマンドを再度実行してください。

負荷が高い状態ではhdumpnsコマンドが一時的にエラーになる場合があります。その場合，しばらくしてからhdumpnsコマンドを再度実行してください。

［戻り値］

2

9　Cosminexusのバージョンアップ時の移行

この章では，Cosminexusのバージョンアップ時のTPBrokerの移行について説明します。

9.1　Cosminexusのバージョンアップ時の移行の流れ

この節では，Cosminexusのバージョンアップ時の移行の流れについて説明します。

移行の流れを次の図で示します。

図9‒1　Cosminexusのバージョンアップ時の移行の流れ

9.2　データのバックアップ

この節では，Cosminexusのバージョンアップ時に必要なデータのバックアップについて説明します。

バージョンアップする前に，使用している機能に応じて，必要な情報やファイルのバックアップを取得する必要があります。

9.2.1　ORB機能を使用している場合

ORB機能を使用している場合，使用しているCosminexus TPBrokerに応じて，バックアップを取得します。

(1)　Cosminexus TPBroker Version 5

次のファイルを作成しているときには，バックアップを取得します。ファイルの格納先は，環境変数VBROKER_ADMに指定されたディレクトリです。

agentaddr

localaddr

htc.clienthandleraddr

htc.props（Linux以外の場合）

HVMGTEE_DEF（AIXおよびLinuxの場合）

HVIORB_DEF

なお，agentaddrファイル，localaddrファイル，およびhtc.clienthandleraddrファイルについては，環境変数VBROKER_ADMとは別の環境変数でファイルの格納先を変更できます。その場合，ファイルの格納先は次の表に示す環境変数を確認してください。

表9‒1　格納先を変更できるファイルと環境変数の対応（Cosminexus TPBroker Version 5）

ファイル

環境変数

agentaddr

OSAGENT_ADDR_FILE

localaddr

OSAGENT_LOCAL_FILE

htc.clienthandleraddr

HVI_OSAGENT_CLIENTHANDLERADDR_FILE

9.3　TPBrokerのインストール

この節では，Cosminexus TPBroker Version 5のインストールについて説明します。

使用しているOS，およびCosminexusのバージョンに応じて，Cosminexus TPBroker Version 5をインストールしてください。

9.3.1　Windowsの場合

Windowsの場合は，使用しているCosminexusのバージョンに応じて，次に示す手順でCosminexus TPBroker Version 5をインストールします。

(1)　Cosminexus Version 8からのバージョンアップの場合

Cosminexus Version 9製品のインストーラで，Cosminexus TPBrokerを選択し，インストールします。

9.3.2　AIX，Linuxの場合

AIX，Linuxの場合は，使用しているCosminexusのバージョンに応じて，次に示す手順でCosminexus TPBroker Version 5をインストールします。

(1)　Cosminexus Version 8からのバージョンアップの場合

Cosminexus TPBroker Version 5をインストールします。

9.4　TPBrokerのセットアップ（32ビット用Windows）

この節では，32ビット用Windowsの場合のTPBrokerのセットアップ方法について説明します。

使用しているCosminexus TPBrokerに応じて，TPBrokerをセットアップする必要があります。

9.4.1　Cosminexus TPBroker Version 5を使用していた場合（32ビット用Windows）（TPBrokerのセットアップ）

TPBroker Version 5を使用していた場合，使用している機能に応じて，次に示す手順でTPBrokerのセットアップをします。

(1)　ORB機能を使用していた場合（32ビット用Windows）（TPBrokerのセットアップ）

使用している環境に応じて，セットアップをします。

移行後に環境変数VBROKER_ADMの値を変更し，agentaddrファイル，localaddrファイル，htc.clienthandleraddrファイル，およびhtc.propsファイルを使用するとき

次に示すファイルを変更後の環境変数VBROKER_ADMで指定したディレクトリに合わせて格納し直します。

%VBROKER_ADM%¥agentaddr

%VBROKER_ADM%¥localaddr

%VBROKER_ADM%¥htc.clienthandleraddr

%VBROKER_ADM%¥htc.props

環境変数VBROKER_ADMに<TPBrokerのインストール先ディレクトリ>¥admと異なるディレクトリを指定しているとき

<TPBrokerのインストール先ディレクトリ>¥adm以下のファイルを環境変数VBROKER_ADMで指定したディレクトリにコピーします。

移行前の環境で，agentaddrファイル，localaddrファイル，htc.clienthandleraddrファイル，およびhtc.propsファイルの格納位置を環境変数VBROKER_ADMとは別の環境変数で指定していたとき

移行前の環境変数で指定していたディレクトリを基にファイルを格納し直します。

9.5　TPBrokerのセットアップ（64ビット用Windows）

この節では，64ビット用Windowsの場合のTPBrokerのセットアップ方法について説明します。

使用している機能に応じて，TPBrokerをセットアップします。

9.5.1　ORB機能を使用していた場合（64ビット用Windows）（TPBrokerのセットアップ）

使用している環境に応じて，セットアップをします。

移行後に環境変数VBROKER_ADMの値を変更し，agentaddrファイル，localaddrファイル，htc.clienthandleraddrファイル，およびhtc.propsファイルを使用するとき

次に示すファイルを変更後の環境変数VBROKER_ADMで指定したディレクトリに合わせて格納し直します。

%VBROKER_ADM%¥agentaddr

%VBROKER_ADM%¥localaddr

%VBROKER_ADM%¥htc.clienthandleraddr

%VBROKER_ADM%¥htc.props

環境変数VBROKER_ADMに<TPBrokerのインストール先ディレクトリ>¥admと異なるディレクトリを指定しているとき

<TPBrokerのインストール先ディレクトリ>¥adm以下のファイルを環境変数VBROKER_ADMで指定したディレクトリにコピーします。

移行前の環境で，agentaddrファイル，localaddrファイル，およびhtc.clienthandleraddrファイルの格納位置を環境変数VBROKER_ADMとは別の環境変数で指定していたとき

移行前の環境変数で指定していたディレクトリを基にファイルを格納し直します。

9.6　TPBrokerのセットアップ（AIX，Linux）

この節では，AIX，Linuxの場合のTPBrokerのセットアップ方法について説明します。

使用していたCosminexus TPBrokerに応じて，TPBrokerをセットアップする必要があります。

9.6.1　Cosminexus TPBroker Version 5を使用していた場合（AIX，Linux）（TPBrokerのセットアップ）

TPBroker Version 5を使用していた場合，使用している機能に応じて，次に示す手順でTPBrokerのセットアップをします。

(1)　ORB機能を使用していた場合（AIX，Linux）（TPBrokerのセットアップ）

使用している環境に応じて，セットアップをします。

ファイルをバックアップしていて，移行後もそのファイルを使用するとき

バックアップしたファイルを環境変数VBROKER_ADMに指定したディレクトリに格納します。バックアップしたファイルについては，「9.2.1　ORB機能を使用している場合」を参照してください。

環境変数VBROKER_ADMに$TPDIR/admと異なるディレクトリを指定しているとき

$TPDIR/adm以下のファイルを環境変数VBROKER_ADMで指定したディレクトリにコピーします。

10　接続性に関する注意事項

この章では，TPBrokerの接続性に関する注意事項について説明します。

10.1　Cosminexus TPBroker 05-24とTPBroker Version 3を接続させる場合の注意事項

Cosminexus TPBroker 05-24とTPBroker Version 3を接続させる場合，引数および戻り値のデータ型によって問題が発生します。次の表に，引数および戻り値のデータ型ごとに発生する現象，回避策を示します。

表10‒1　データ型と現象・回避策

項番

引数や戻り値のデータ

発生する現象

回避策

1

wchar，wstring

文字化け

次のどちらかの対処をしてください。

sequence<octet>を使用し，アプリケーションで使用する文字コードを統一する（推奨）。

wstringまたはwcharを使用し，アプリケーションで使用する文字コードをUTF-16にする。

2

sequence<any>に構造型(enum，struct，union，sequence，array)を複数設定したデータ

MARSHAL例外

TPBroker for C++ V3のアプリケーションを起動する場合

-ORBtypecodebounds 1を指定する。

TPBroker for Java V3のアプリケーションを起動する場合

-DORBtypecodeBounds=trueを指定する。

10.2　CORBA::Anyのマーシャリングに関する注意事項

CORBA::Anyのマーシャリング時に，CORBA2.5仕様に準拠した方法，VisiBroker独自の方法のどちらかを使用することを設定します。

TPBroker 05-15-/A（32ビット用Windows）またはTPBroker 05-00〜05-15（64ビット用Windows）のC++ ORBと，CORBA::AnyにCORBA::WChar型を格納して通信する場合には，"false"を設定する必要があります。詳細は，「3.4.14　CORBA::Any型のマーシャリング方法の変更」を参照してください。

10.3　Messaging::SyncScopePolicyに関する注意事項

TPBroker Version 5クライアントからIDLにoneway属性として定義したリクエストを，TPBroker Version 3オブジェクトの呼び出しに使用する場合，次を指定した同期リクエストは正しく動作しません。

Messaging::SyncScopePolicyにMessaging::SYNC_WITH_SERVERを指定

Messaging::SyncScopePolicyにMessaging::SYNC_WITH_TARGETを指定

なお，クライアントおよびサーバの双方がTPBroker Version 5の場合は，正しく動作します。サーバがTPBroker Version 3の場合，onewayリクエストには次を指定してください。

Messaging::SyncScopePolicyにMessaging::SYNC_WITH_TRANSPORTを指定

Messaging::SyncScopePolicyにMessaging::SYNC_NONEを指定

10.4　引数，戻り値，またはユーザー例外に使用するクラスに関する注意事項

Cosminexus TPBroker 05-17より前のVersion 5 Java ORBの間でRMI-IIOP通信する場合，次のクラスを引数，戻り値，またはユーザー例外に使用しないでください。

java.lang.StringBuffer

java.math.BigDecimal

java.net.Inet6Address

java.security.SecureRandom

java.text.DecimalFormat

java.util.Locale

javax.naming.Binding

javax.naming.directory.SearchResult

javax.naming.NameClassPair

10.5　日立プログラムプロダクト向けの接続性に関する注意事項

TPBroker for C++ V3との通信では，IDLで定義したwstring型にNULL文字列を格納して送信しないでください。なお，この注意事項は，TPBroker上で動作する日立プログラムプロダクトの場合に該当します。

11　障害発生時の対応

この章では，障害発生時の対応について説明します。

11.1　障害が発生した場合に取得および退避するトラブルシュート情報

TPBrokerがバンドルするVisiBrokerでは，トラブルシュート用に次の情報を取得しています。

モジュールトレース

エラーログ

通信トレース

障害が発生した場合は，VisiBrokerが取得するこれらの情報を退避してください。各トラブルシュート情報の取得先を次に示します。

モジュールトレース※

（Windows）

%VBROKER_ADM%¥..¥log¥mdltrcまたは%VBROKER_ADM%¥..¥logj¥mdltrc

（Unix）

${VBROKER_ADM}/../log/mdltrcまたは${VBROKER_ADM}/../logj/mdltrc

エラーログ

（Windows）

%VBROKER_ADM%¥..¥logj

（Unix）

${VBROKER_ADM}/../logj

通信トレース※

（Windows）

%VBROKER_ADM%¥..¥log¥comtrcまたは%VBROKER_ADM%¥..¥logj¥comtrc

（Unix）

${VBROKER_ADM}/../log/comtrcまたは${VBROKER_ADM}/../logj/comtrc

注※

モジュールトレース，通信トレースについては，取得前に，それぞれのディレクトリ下のファイルに次のコマンドを実行してください。

hmapfsync *.dat

また，次の二つの出力結果もあわせて取得し，退避してください。

（Windows）

%TPDIR%¥bin¥vbver.exe %TPDIR%¥bin¥orb_r.dll

%TPDIR%¥bin¥vbver.exe %TPDIR%¥lib¥vbjorb.jar

（Unix）

${TPDIR}/bin/vbver ${TPDIR}/bin/liborb_r.*

${TPDIR}/bin/vbver ${TPDIR}/lib/vbjorb.jar

なお，HVI_TRACEPATH環境変数を設定して，トラブルシュートファイルの出力ディレクトリを変更している場合は，変更先のディレクトリにあるすべてのトレースファイルを退避してください。

12　J2EE環境でTPBroker for C++/Java Version 3と連携する方法

この章では，J2EE環境でTPBroker for C++/Java Version 3と連携する方法について説明します。

12.1　Cosminexus TPBroker for Java Version 4およびCosminexus TPBroker Version 5で提供するORB機能

Cosminexus TPBroker for Java Version 4およびCosminexus TPBroker Version 5で提供するORB機能を次に示します。

ORB Version 3機能

Cosminexus TPBroker for Java Version 4で提供していた，CORBA 2.1に準拠したTPBroker for Java Version 3と互換性のあるORB機能です。

ORB Version 4機能

Cosminexus TPBroker for Java Version 4で提供していた，J2EE環境（EJB，Servletなど）で使用するORB機能です。

ORB Version 5機能

Cosminexus TPBroker Version 5で提供する，J2EE環境（EJB，Servletなど）で使用するORB機能です。

J2EE環境（J2EEサーバ，またはWebコンテナサーバの実行環境）で，TPBroker for C++/Java Version 3（ORB Version 3：CORBA 2.1に準拠したORB）上で動作しているCORBAオブジェクトを呼び出す仕組みを次の図に示します。

図12‒1　TPBroker for C++/Java Version 3上で動作しているCORBAオブジェクトを呼び出す仕組み

12.2　環境変数の設定

開発および実行する環境ごとに，ORB Version 3または ORB Version 5の環境変数を設定します。ORB Version 5の環境変数についてはマニュアル「TPBroker ユーザーズガイド」の「2.2　環境変数を設定する」を，ORB Version 3の環境変数については，ORB Version 3のソフトウェアマニュアルおよびソフトウェア添付資料を参照してください。

12.3　アプリケーションの作成手順

次の手順でアプリケーションを作成してください。

ORB Version 3のIDLファイルを用意します。

IDL ファイルはORB Version 3のサポート範囲に従って記述してください。

J2EE環境で，ORB Version 5のIDLコンパイラによってスタブを生成します。

CORBAオブジェクト環境で，ORB Version 3のIDLコンパイラによってスケルトンを生成します。

Enterprise Beanやサーブレットで，CORBAオブジェクト呼び出しコードをプログラミングします。

12.4　ORB Version 3のCORBAオブジェクトの呼び出し手順

次の手順でJ2EEサーバ，またはWebコンテナサーバを起動してください。

スマートエージェントを起動します。

osagentに関しては，TPBrokerで提供するosagentを使用してください。

J2EE環境でスマートエージェントが利用するポート番号を設定します。

J2EEサーバ，またはWebコンテナサーバを起動します。

J2EEサーバおよびWebコンテナサーバについては，マニュアル「Cosminexus V11 アプリケーションサーバ システム構築・運用ガイド」の「5.2　システムの構築・運用時に使用するコマンド」を参照してください。

13　RMI-IIOPアプリケーションをJDK9以降でコンパイルまたは実行する場合の注意事項

RMI-IIOPアプリケーションをCosminexus Developer's Kit for Java (TM) 09-80 以降でコンパイルまたは実行する場合の注意事項について説明します。

13.1　現象

JDK9では，Java Module Systemの考え方を導入し，内部API（フィールドアクセスを含む）のカプセル化によって，Javaプログラム実行環境の安全性を高めています。

JDK9とJDK8以前との互換性については，内部APIやフィールドに対するアクセスを可能とする手段として，--add-opensなどのオプションを用意しています。試行錯誤的な方法で，必要最小限の場所を指定できます。そのため，互換性を維持しながら，安全性を保った実行環境を実現しています。この仕様や考え方など，JDK9の詳細については次のOracle社のページをご参照ください。

Oracle JDK9ドキュメント

https://docs.oracle.com/javase/jp/9/

Java Platform, Standard Edition Oracle JDK 9移行ガイド：JDK9への移行

https://docs.oracle.com/javase/jp/9/migrate/toc.htm#JSMIG-GUID-7744EF96-5899-4FB2-B34E-86D49B2E89B6

このページにある「ランタイム・アクセス警告の理解」の部分を参照してください。

JDK9で導入されたJava Module Systemの影響によって，JDK8以前でコンパイルまたは実行できていたRMI-IIOPアプリケーションを，JDK9以降でコンパイルまたは実行しようとした場合，アプリケーションの実装によって次の現象が発生することがあります。

項番

現象が発生する契機

現象

1

コンパイル時

java2iiopコマンド実行時に，次のメッセージが標準エラー出力に出力されます。クライアントスタブやサーバスケルトンなどの生成に失敗します。

java2iiop: fatal error: internal problem; please contact Inprise Customer Support

2

実行時

リクエストコールで，java.lang.reflect.InaccessibleObjectException例外が発生します。

13.2　コンパイル時の対応

java2iiopコマンド実行時に，次のメッセージが標準エラー出力に出力された場合，クライアントスタブやサーバスケルトンなどの生成に失敗します。

java2iiop: fatal error: internal problem; please contact Inprise Customer Support

次の手順に従ってください。

java2iiopコマンドを-XXX_debugオプションを付けて実行してください。

（例）

> java2iiop -XXX_debug HelloRemote

java.lang.reflect.InaccessibleObjectException例外のメッセージが，標準エラー出力に出力されます。例外メッセージからモジュール名とパッケージ名を見つけてください。

（例外メッセージの例）

java2iiop: fatal error: internal problem: unexpected exception: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.List aaa.bbb.Ccc.ddd accessible: module xxx.yyy does not "opens aaa.bbb" to unnamed module @735b478

モジュール名とパッケージ名は，メッセージ中の「accessible: module」の直後に以下の形式で出力されています。

accessible: module モジュール名

does not "opens パッケージ名"

例外メッセージの例の場合，モジュール名は「xxx.yyy」，パッケージ名は「aaa.bbb」となります。

手順2.で見つけたモジュール名とパッケージ名を--add-opensオプションに指定して，java2iiopコマンドを実行してください。

（例）

> java2iiop -J--add-opens=xxx.yyy/aaa.bbb=ALL-UNNAMED -XXX_debug HelloRemote

java.lang.reflect.InaccessibleObjectException例外が発生しなくなるまで，手順2.〜手順3.を繰り返して--add-opensオプションをjava2iiopコマンドに追加してください。

（例）

> java2iiop -J--add-opens=xxx.yyy/aaa.bbb=ALL-UNNAMED -J--add-opens=xxx.yyy/ccc.ddd=ALL-UNNAMED -XXX_debug HelloRemote

java.lang.reflect.InaccessibleObjectException例外が発生しなくなった場合，java2iiopコマンドから-XXX_debugオプションの指定を削除してください。

13.3　実行時の対応

java2iiopコマンド実行時にjava.lang.reflect.InaccessibleObjectException例外が発生しても，実行時には発生しない場合があります。

実行時に現象が発生した場合だけ，「13.2　コンパイル時の対応」の手順3.でjava2iiopコマンドに指定した--add-opensオプションを，クライアントアプリケーションおよびサーバアプリケーションの実行時に指定してください。

（例）

> vbj -J--add-opens=xxx.yyy/aaa.bbb=ALL-UNNAMED HelloServer

付録

付録A　このマニュアルの参考情報

このマニュアルを読むに当たっての参考情報を示します。

付録A.1　関連マニュアル

関連マニュアルを次に示します。必要に応じてお読みください。

HAモニタのマニュアル

高信頼化システム監視機能 HAモニタ AIX(R)編（3000-9-130）

高信頼化システム監視機能 HAモニタ Linux(R)編（3000-9-132）

高信頼化システム監視機能 HAモニタ メッセージ（3000-9-134）

Cosminexusのマニュアル

Cosminexus V11 アプリケーションサーバ システム構築・運用ガイド（3021-3-J02）

Cosminexus V11 アプリケーションサーバ リファレンス 定義編（アプリケーション/リソース定義）（3021-3-J17）

なお，JP1/ServerConductor/Deployment Managerの詳細については，JP1/ServerConductor/Deployment Managerのマニュアルを参照してください。

このマニュアルでは，次のマニュアルを省略して表記しています。マニュアルの正式名称とこのマニュアルでの表記を次の表に示します。

マニュアルの正式名称

このマニュアルでの表記

TPBroker Version 5 トランザクショナル分散オブジェクト基盤 TPBroker ユーザーズガイド

TPBroker ユーザーズガイド

VisiBroker Version 5 Borland (R) Enterprise Server VisiBroker (R) デベロッパーズガイド

Borland Enterprise Server VisiBroker デベロッパーズガイド

JP1 Version 8 JP1/ServerConductor/Deployment Manager

JP1/ServerConductor/Deployment Manager

高信頼化システム HAモニタ AIX(R)編

HAモニタ

高信頼化システム HAモニタ Linux(R)編

付録A.2　このマニュアルでの表記

このマニュアルでは，製品名を次のように表記しています。

表記

製品名

AIX

AIX V7.1

AIX V7.2

Java

JavaTM

Java SE

JavaTM Platform, Standard Edition

JavaVM

JavaTM Virtual Machine

Linux

Red Hat Enterprise Linux 7.1 (AMD/Intel 64)

Red Hat Enterprise Linux 8.1 (AMD/Intel 64)

VisiBroker

Borland(R) Enterprise Server VisiBroker(R)

Windows

Windows Server 2016

Windows Server 2016 Standard

Windows Server(R) 2016 Standard 日本語版

Windows Server 2016 Datacenter

Windows Server(R) 2016 Datacenter 日本語版

Windows Server 2019

Windows Server 2019 Standard

Windows Server(R) 2019 Standard 日本語版

Windows Server 2019 Datacenter

Windows Server(R) 2019 Datacenter 日本語版

Windows 10

Windows 10 x64

Windows(R) 10 Enterprise 日本語版(64ビット版)

下記に示すプログラムプロダクトで仕様差がない場合，TPBrokerと表記しています。

Cosminexus TPBroker

TPBroker

TPBroker Developer

TPBroker Client

また，ご使用になるプログラミング言語またはOSによって説明が異なる場合，次の記号を使用しています。

記号

意味

（C++ ORB）

C++言語，またはTPBrokerで提供するC++インタフェースを使用するORB機能に該当

（Cosminexus TPBroker）

Cosminexus TPBrokerに該当

（Java ORB）

Java言語，またはTPBrokerで提供するJavaインタフェースを使用するORB機能に該当

（UNIX）

すべてのUNIXプラットフォームに該当

（Visual Studio 2005）

プログラムプロダクト「P-2A64-F124，P-2A64-F224，P-2A64-F324」に該当

（Windows）

Windowsに該当

なお，環境変数の設定を説明する文中で，WindowsとUNIXの両方が考えられる場合，UNIXの表記を示し，その後ろにWindowsの表記を（　）で囲んでいます。

例　${VBROKER_ADM}/../logj（%VBROKER_ADM%¥..¥logj）

付録A.3　英略語

このマニュアルで使用する英略語を次に示します。

英略語

英字での表記

ADM

Administration

API

Application Programming Interface

CORBA

Common Object Request Broker Architecture

CPU

Central Processing Unit

CTM

Cosminexus Component Transaction Monitor

DB

Database

DBMS

Database Management System

DHCP

Dynamic Host Configuration Protocol

DLL

Dynamic Linking Library

DNS

Domain Name System

DTP

Distributed Transaction Processing

EB

Enterprise Bean

EJB

Enterprise JavaBeansTM

ES

Embedded System

FIFO

First-In First-Out

GIOP

General Inter - ORB Protocol

GUI

Graphical User Interface

HACMP

High Availability Clustering Multi-Processing

ID

Identification

IDL

Interface Definition Language

IIOP

Internet Inter-ORB Protocol

IOR

Interoperable Object Reference

IP

Internet Protocol

J2EE

JavaTM 2 Platform, Enterprise Edition

JSP

Java Server Pages

LAN

Local Area Network

LIOP

Local Inter-ORB Protocol

MSDN

Microsoft Developer Network

OAD

Object Activation Daemon

OMG

Object Management Group

ORB

Object Request Broker

OS

Operating System

OTS

Object Transaction Service

OTSCRM

Object Transaction Service Communication Resource Manager

PID

Process Identification

POA

Portable Object Adapter

QoS

Quality of Service

RM

Reliable Messaging

RMI

Java Remote Method Invocation

SDK

Software Development Kit

TCP

Transmission Control Protocol

TCS

Transaction Context Server

UAP

User Application Program

UDP

User Datagram Protocol

UTC

Universal Time Coordinated

UTF

UCS Transformation Format

VM

Virtual Machine

付録A.4　KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

付録B　用語解説

（英字）

ADM

TPBrokerが提供する，システム運用時のアプリケーションの起動，停止，監視，および再起動を制御する運用支援機能のことです。

C++ ORB

VisiBrokerを用いてC++言語で作成されたプログラムに有効になるORB機能のことです。

VisiBrokerが提供するosagentやネーミングサービスなどのデーモンやコマンドのうち，C++ ORBは，osagentの機能があります。

CORBA

分散オブジェクト技術の標準化を目的として，OMGが策定する業界標準です。

Cosminexus

アプリケーションサーバを中核とした，性能や信頼性の高い業務アプリケーションを開発・実行するためのシステム構築基盤製品です。

Cosminexus TPBroker

Cosminexus用のTPBrokerです。J2EEサーバ上での分散トランザクション処理を実現します。

ただし，CORBAアプリケーションを開発・実行する機能はありません。

GIOP

CORBA環境で使用される汎用的な上位プロトコルです。データ送受信時の変換復元規則，メッセージフォーマットなどが規定されています。特定のトランスポートプロトコルには依存しません。

HAモニタ

HAクラスタシステムを実現するクラスタソフトウェアです。

HAとはHigh Availabilityの略で，高可用性，つまりシステムを連続して稼働できることを意味します。HAクラスタシステムとは，高可用性を実現するシステム構成のことです。

Java ORB

VisiBrokerを用いてJava言語で作成されたプログラムに有効になるORB機能のことです。

VisiBrokerが提供するosagentやネーミングサービスなどのデーモンやコマンドのうち，Java ORBは，ネーミングサービスなどのデーモンやコマンドの機能があります。

JP1/ServerConductor/Deployment Manager

日立アドバンストサーバHA8000シリーズを一括管理するためのソフトウェアです。

資産管理機能，障害管理機能，遠隔操作機能，およびプログラム連携機能があります。

Management Server

運用管理ドメインを構成するサーバプログラムです。運用管理ドメイン単位に一つ配置します。

Management Serverは運用管理ドメイン内の各ホストに配置した運用管理エージェントに指示を出して，運用管理ドメイン全体の運用管理を実行します。

Microsoft Cluster Service

Microsoft社が提供するクラスターサービスのことです。

OAD

インプリメンテーションリポジトリを実現する，オブジェクト活性化デーモンのことです。

インプリメンテーションリポジトリは，サーバがサポートしているクラス，実体化されているオブジェクトとそれらに関する情報をランタイム時にリポジトリとして提供します。また，OADはクライアントがオブジェクトを参照するときにインプリメンテーションを自動的に活性化する目的にも使用されます。

OMG

オブジェクト指向技術の普及と標準化のために設立された非営利団体です。

ORB

TPBrokerが提供する，分散オブジェクト同士が通信するためのソフトウェア・バス（通信ミドルウェア）です。すべてのオブジェクトはORBを介して通信します。

通信プロトコル（通信データ形式），通信形態の違いをORBが吸収するため，システムの拡張や変更が簡単にできます。

osagent

Visibrokerが提供するスマートエージェントのことです。

スマートエージェントとは，クライアントアプリケーションとオブジェクトインプリメンテーションの両方に機能を提供する動的な分散ディレクトリサービスです。ネットワークで使用できるオブジェクトを管理し，起動時にクライアントアプリケーションが要求するオブジェクトを探します。

OTS

CORBAが提供するサービスの一つで，トランザクションを制御する機能を持ちます。

QoS

各ポリシーを利用して，クライアントアプリケーションとそれに接続されているサーバとのコネクションの定義と管理を行うサービスです。

TPBroker

OMGが策定したCORBAの機能を提供する分散オブジェクト基盤です。オブジェクト管理やオブジェクト間通信の制御機能（ORB），トランザクション制御機能（OTS），および運用支援機能（ADM）があります。

（ア行）

アウトプロセス

プロセスの起動のしかたです。アウトプロセスで起動させると，J2EEサーバのプロセス外で実行します。アウトプロセスでネーミングサービスを使用する場合，ネーミングサービスはユーザが起動する必要があります。

アンマーシャリング

ORBの共通フォーマットに変換されたリクエストの内容を，サーバで処理できる形式に変換することです。

インプロセス

プロセスの起動のしかたです。インプロセスで起動させると，J2EEサーバのプロセス内で実行するように最適化されるので，パフォーマンスの高いシステムが実現できます。

Application Serverでは，トランザクションサービスをJ2EEサーバのインプロセスで起動できます。インプロセスでトランザクションサービスを起動すると，トランザクション処理をJ2EEサーバのプロセス内で実行するように最適化されるので，パフォーマンスの高いシステムを実現できます。

（カ行）

系切り替え

業務を実行しているシステム（系）やサーバに障害が発生した場合に，待機しているシステム（系）やサーバに業務を引き継ぐ機能のことです。

系には，実行系，待機系があります。

（サ行）

シナリオ

JP1/ServerConductor/Deployment Managerで，Linuxパッチファイルの適用，バックアップ，およびリストアなどの実行に使用する設定ファイルです。

（タ行）

トラブルシュートファイル

ORBのトラブルシュート機能で出力できるファイルのことです。トラブルシュートファイルには次に示すファイルがあります。

モジュールトレース

エラーログ

通信トレース

メッセージログ

バーボースログ

スタックトレース

ネーミングサービス名前空間情報ログ

トランザクションサービス

グローバルトランザクションを使用する場合に，トランザクションを管理するサービスです。TPBroker OTSによって提供されるサービス全体を表します。トランザクションサービスは，J2EEサーバのインプロセスで起動されます。

（ナ行）

名前空間

インタフェース名などの名前（識別子）の重複を回避するための仕組みのことです。インタフェース名が重複した場合に，moduleキーワードを用いて，名前空間を定義することで，インタフェース名の重複を避けることができます。

ネーミングサービス

Application Serverで，リモートオブジェクトの格納場所を管理するためのサービスであり，CORBA 2.5の仕様に従って実装されています。Cosminexus TPBrokerによって提供される機能です。

（ハ行）

プライマリIPアドレス

gethostname()またはsysinfo()を利用して得られるホスト名を使用して，gethostbyname()を発行して得られたIPアドレスのことをいいます。

（マ行）

マーシャリング

クライアントごとに個別に処理されたリクエストの内容を，ORBの共通フォーマットに変換することです。

マルチホーム

インターネットに接続するときに，複数のネットワークインタフェースから，複数のネットワークに接続されることです。負荷分散や障害対策を目的とします。

索引

A

ADM機能のアンセットアップ[1]

ADM機能の使用[1]

ADM機能の使用（HACMP）[1]

ADM機能の使用（HAモニタ）[1]

ADM機能の設定（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）[1]

ADM〔用語解説〕[1]

C

C++ ORBスタックトレース容量の算出式[1]

C++ ORB通信トレース容量の算出式[1]

C++ ORBモジュールトレース容量の算出式[1]

C++ ORB〔用語解説〕[1]

connect()エラー時の再試行の抑止[1]

CORBA::Any型のマーシャリング方法の変更[1]

CORBA::UNKNOWN例外発生の抑止[1]

CORBA〔用語解説〕[1]

Cosminexus TPBroker Version 5を使用していた場合（32ビット用Windows）（TPBrokerのセットアップ）[1]

Cosminexus TPBroker Version 5を使用していた場合（AIX，Linux）（TPBrokerのセットアップ）[1]

Cosminexus TPBrokerとTPBrokerとの相違点[1]

Cosminexus TPBroker〔用語解説〕[1]

Cosminexusのバージョンアップ時の移行[1]

Cosminexusのバージョンアップ時の移行の流れ[1]

Cosminexus〔用語解説〕[1]

CTRL_BREAK_EVENT発生時のコントロールハンドラ内の動作[1]

G

gatekeeper通信トレース容量の算出式[1]

gatekeeperモジュールトレース容量の算出式[1]

GIOPメッセージの分割送受信[1]

GIOP〔用語解説〕[1]

H

HACMPとの連携[1]

HACMPとの連携時のアンセットアップ[1]

HACMPとの連携時の運用[1]

HACMPとの連携時のセットアップ[1]

HACMPとの連携でできること[1]

HACMPの設定[1]

HACMPの導入時の検討[1]

HAモニタとの連携[1]

HAモニタとの連携時のアンセットアップ[1]

HAモニタとの連携時の運用[1]

HAモニタとの連携時のセットアップ[1]

HAモニタとの連携でできること[1]

HAモニタの設定[1]

HAモニタの導入時の検討[1]

HAモニタ〔用語解説〕[1]

hdumpnsコマンドのエラーメッセージ[1]

hdumpnsコマンドの使用方法（Cosminexus TPBroker）（Windows）[1]

HEARTBEATメッセージおよびARE_YOU_ALIVEメッセージの送信間隔[1]

HVI_AGENT_ADDR_ONLY[1]

HVI_BIND_MAX[1]

HVI_BIND_SLEEP_TIME[1]

HVI_COMTENTRYCOUNT[1]

HVI_COMTFILECOUNT[1]

HVI_COMTRACE[1]

HVI_COMTTELEGSIZE[1]

HVI_CONNECTION_CACHE[1]

HVI_CONNECTION_RETRY[1]

HVI_CTRLHANDLER_NOCLEANUP[1]

HVI_CTRLHANDLER_RTN[1]

HVI_DNS_TRYAGAIN_RETRY_COUNT[1]、[2]

HVI_DNS_TRYAGAIN_RETRY_INTERVAL[1]、[2]

HVI_GTEE_FILECOUNT[1]

HVI_GTEE_FILESIZE[1]

HVI_GTEE_INTERVAL[1]

HVI_GTEE_LOGPRESS[1]

HVI_GTEE_OUTPUT[1]

HVI_MAPFILEINIT（UNIXだけ）[1]

HVI_MDLTRACE[1]

HVI_MSGLOG_CONSOLE（UNIX版Java ORBだけ）[1]

HVI_MSGLOG_LEVEL[1]

HVI_MSGLOG_NO_PERMISSION（osagentだけ）[1]

HVI_MSGLOG_OUTPUT[1]

HVI_MSGLOG_SECURITY[1]

HVI_MTRENTRYCOUNT[1]

HVI_MTRFILECOUNT[1]

HVI_NAMELOGFILECOUNT[1]

HVI_NAMELOGFILESIZE[1]

HVI_NAMELOGOUTPUT[1]

HVI_NAMELOGSNAPSHOTINTERVAL[1]

HVI_NCATCHALL[1]

HVI_OAD_NOUSE[1]

HVI_OMGVMCID[1]

HVI_ORBLOG_SIZE[1]

HVI_ORBMSGLOG_SIZE[1]

HVI_OSAGENT_ALIVE_INTERVAL[1]

HVI_OSAGENT_CLIENTHANDLERADDR_FILE[1]

HVI_OSAGENT_LOCATE_VERBOSE[1]

HVI_OSAGENT_RESEND_INTERVAL[1]

HVI_OSAGENT_RESEND_MAXCOUNT[1]

HVI_OSAGENT_TRIGGER_NOUSE[1]

HVI_SIGXCPU_EXIT[1]

HVI_SIGXFSZ_EXIT[1]

HVI_SPLIT_RW[1]

HVI_STKFILECOUNT[1]

HVI_STKTRACE[1]

HVI_STRICT_ANY_MARSHALLING[1]

HVI_SURROGATE_CHECK_OFF[1]

HVI_TERMINATION_TIMER[1]

HVI_TRACEFILENAME_TOD[1]

HVI_TRACEPATH[1]

HVI_UNLIMITED_QOS_TIMEOUT_POLICY[1]

hvmgteeコマンドのエラーメッセージ[1]

hvmgteeコマンドの起動[1]

hvmgteeコマンドの動作変更[1]

I

IPアドレスの設定（HAモニタ）[1]

IPアドレスの設定（Microsoft Cluster Service）[1]

irep通信トレース容量の算出式[1]

irepモジュールトレース容量の算出式[1]

J

java.util.Vectorクラスの下位互換の設定[1]

Java ORB通信トレース容量の算出式[1]

Java ORBモジュールトレース容量の算出式[1]

Java ORB〔用語解説〕[1]

JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォームでできること[1]

JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォームとの連携時のセットアップ[1]

JP1/ServerConductor/Deployment Manager〔用語解説〕[1]

K

KFCB91000〜KFCB91999のメッセージ[1]

KFCB92000〜KFCB92999のメッセージ[1]

L

LANの状態設定（HAモニタ）[1]

M

Management Server〔用語解説〕[1]

Microsoft Cluster Serviceとの連携[1]

Microsoft Cluster Serviceとの連携時のセットアップ[1]

Microsoft Cluster Serviceとの連携でできること[1]

Microsoft Cluster Serviceのセットアップ[1]

Microsoft Cluster Serviceの導入時の検討[1]

Microsoft Cluster Service〔用語解説〕[1]

O

oad通信トレース容量の算出式[1]

OADによる自動検索の抑止[1]

oadモジュールトレース容量の算出式[1]

OAD〔用語解説〕[1]

OMG〔用語解説〕[1]

ORB機能使用時の設定（HACMP）[1]

ORB機能使用時の設定（HAモニタ）[1]

ORB機能使用時の設定（Microsoft Cluster Service）[1]

ORB機能使用時の設定例（HAモニタ）[1]

ORB機能使用時の設定例（IPエイリアスによるIPアドレス・テークオーバー）[1]

ORB機能使用時の設定例（IP交換によるIPアドレス・テークオーバー）[1]

ORB機能使用時の設定例（Microsoft Cluster Service）[1]

ORB機能使用時の設定例（永続IPアドレス）[1]

ORB機能の使用[1]

ORB機能の使用（HACMP）[1]

ORB機能の使用（HAモニタ）[1]

ORB機能の設定（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）[1]

ORB機能を使用していた場合（32ビット用Windows）（TPBrokerのセットアップ）[1]

ORB機能を使用していた場合（64ビット用Windows）（TPBrokerのセットアップ）[1]

ORB機能を使用していた場合（AIX，Linux）（TPBrokerのセットアップ）[1]

ORBの拡張機能[1]、[2]

ORBの拡張機能の概要[1]

ORBのトラブルシュート機能[1]、[2]

ORBのトラブルシュート機能で出力できるファイル[1]

ORB〔用語解説〕[1]

osagent間のメッセージ送信処理のリトライ回数[1]

osagent間のメッセージ送信処理のリトライ間隔[1]

osagent間のメッセージの出力抑止[1]

osagent探索方式の切り替え[1]

osagentでのマルチホームホスト環境の設定[1]

osagentに接続するプロセスへの設定（HAモニタ）[1]

osagentに接続するプロセスへの設定（Microsoft Cluster Service）[1]

osagentの接続に関する設定（HAモニタ）[1]

osagentの接続に関する設定（IPエイリアスによるIPアドレス・テークオーバー）[1]

osagentの接続に関する設定（IP交換によるIPアドレス・テークオーバー）[1]

osagentの接続に関する設定（Microsoft Cluster Service）[1]

osagentの設定[1]

osagentの設定（HAモニタ）[1]

osagentの設定（IPエイリアスによるIPアドレス・テークオーバー）[1]

osagentの設定（IP交換によるIPアドレス・テークオーバー）[1]

osagentの設定（Microsoft Cluster Service）[1]

osagentの設定（永続IPアドレス）[1]

osagentの設定の一覧[1]

osagentバーボースログファイル容量の算出式[1]

osagentへの設定（HAモニタ）[1]

osagentへの設定（Microsoft Cluster Service）[1]

osagentを系切り替え対象にしない場合（HAモニタ）[1]

osagentを系切り替え対象にする場合（HAモニタ）[1]

osagentをフェールオーバーの対象にしない場合（Microsoft Cluster Service）[1]

osagentをフェールオーバーの対象にする場合（Microsoft Cluster Service）[1]

osagent〔用語解説〕[1]

osfind通信トレース容量の算出式[1]

osfindモジュールトレース容量の算出式[1]

OTS機能の使用[1]

OTS機能の使用（HACMP）[1]

OTS機能の使用（HAモニタ）[1]

OTS機能の停止[1]

OTS〔用語解説〕[1]

Q

QoSポリシーの上限値解除[1]

QoS〔用語解説〕[1]

S

sequence<any>のマーシャリング方法の変更[1]

SIGXCPUシグナル受信時の動作変更[1]

SIGXFSZシグナル受信時の動作変更[1]

T

TPBroker開始スクリプトの作成（HACMP）[1]

TPBroker開始スクリプトの作成（HAモニタ）[1]

TPBroker監視スクリプトの作成（HACMP）[1]

TPBroker監視スクリプトの作成（HAモニタ）[1]

TPBroker停止スクリプトの作成（HACMP）[1]

TPBroker停止スクリプトの作成（HAモニタ）[1]

TPBrokerのOTS環境のセットアップ（HACMP）[1]

TPBrokerのOTS環境のセットアップ（HAモニタ）[1]

TPBrokerのアンセットアップ[1]

TPBrokerのインストール[1]

TPBrokerの運用[1]

TPBrokerの運用支援機能実行環境のセットアップ（HACMP）[1]

TPBrokerの運用支援機能実行環境のセットアップ（HAモニタ）[1]

TPBrokerの運用の概要[1]

TPBrokerの開始（HACMP）[1]

TPBrokerの開始（HAモニタ）[1]

TPBrokerの基本的な設定[1]

TPBrokerのシステム環境定義のバックアップ[1]

TPBrokerのセットアップ（32ビット用Windows）[1]

TPBrokerのセットアップ（64ビット用Windows）[1]

TPBrokerのセットアップ（AIX，Linux）[1]

TPBrokerのセットアップ（HACMP）[1]

TPBrokerのセットアップ（HAモニタ）[1]

TPBrokerの定義の変更（HACMP）[1]

TPBrokerの定義の変更（HAモニタ）[1]

TPBrokerの停止（HACMP）[1]

TPBrokerの停止（HAモニタ）[1]

TPBrokerファイルシステムの作成（HACMP）[1]

TPBrokerファイルシステムの作成（HAモニタ）[1]

TPBroker〔用語解説〕[1]

V

vbroker.agent.htc.addrOnly[1]

vbroker.ce.iiop.ccm.htc.readerPerConnection[1]

vbroker.ce.iiop.ccm.htc.threadStarter[1]

vbroker.orb.htc.bindMax[1]

vbroker.orb.htc.bindSleepTime[1]

vbroker.orb.htc.connectionCache[1]

vbroker.orb.htc.connectionRetry[1]

vbroker.orb.htc.ctrlHandlerNoCleanup[1]

vbroker.orb.htc.ctrlHandlerRtn[1]

vbroker.orb.htc.ncatchall[1]

vbroker.orb.htc.oadNoUse[1]

vbroker.orb.htc.requestTimer[1]

vbroker.orb.htc.splitRw[1]

vbroker.orb.htc.strictAnyMarshalling[1]

vbroker.orb.htc.strictSequenceAny[1]

vbroker.orb.htc.surrogateCheckOff[1]

vbroker.orb.htc.terminationTimer[1]

vbroker.orb.htc.tryAgainRetryCount[1]

vbroker.orb.htc.tryAgainRetryInterval[1]

vbroker.orb.htc.unlimitedQosTimeoutPolicy[1]

vbroker.rmi.htc.disableCMClass[1]

あ

アウトプロセス〔用語解説〕[1]

アドレス解決処理のリトライ回数[1]、[2]

アドレス解決処理のリトライ間隔[1]、[2]

アプリケーション・サーバの設定（HACMP）[1]

アンマーシャリング〔用語解説〕[1]

い

インプロセス〔用語解説〕[1]

え

エラーログ（概要）[1]

エラーログ（出力ディレクトリとファイル名）[1]

エラーログ（定義句）[1]

エラーログ容量の算出式[1]

か

環境設定[1]

環境変数とプロパティの一覧[1]

環境変数の一覧[1]

環境変数の設定[1]

環境変数の設定（HACMP）[1]

環境変数の設定（HAモニタ）[1]

環境変数の設定（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）[1]

き

共有ディスクの設定（HACMP）[1]

共有ディスクの設定（HAモニタ）[1]

共有ディスクを使用するシステム（HACMP）[1]

共有ディスクを使用するシステム（HAモニタ）[1]

け

系切り替え〔用語解説〕[1]

こ

コネクションのクローズの抑止[1]

コントロールハンドラ内で行うORBの終了処理[1]

コントロールハンドラのリターン値[1]

さ

サーバの設定（Cosminexus TPBroker）（HAモニタ）[1]

サーバの設定（Cosminexus TPBroker）（Microsoft Cluster Service）[1]

サーバの設定（IPエイリアスによるIPアドレス・テークオーバー）[1]

サーバの設定（IP交換によるIPアドレス・テークオーバー）[1]

サーバの設定（TPBroker Developer，およびTPBroker）（HAモニタ）[1]

サーバの設定（TPBroker Developer，またはTPBroker）（Microsoft Cluster Service）[1]

サーバの設定（永続IPアドレス）[1]

サーバプロセスの設定[1]

サーバプロセスの設定の一覧[1]

サービスIPラベル/アドレスの設定（HACMP）[1]

サービスの開始（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）[1]

サポートする機能[1]

し

システム環境定義の設定（HACMP）[1]

システム環境定義の設定（HAモニタ）[1]

システム環境定義の設定（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）[1]

システム構成について（HACMP）[1]

システム構成について（HAモニタ）[1]

システムの構成例（HACMP）[1]

システムの構成例（HAモニタ）[1]

システム例外のマイナーコード[1]

システム例外のマイナーコード（環境変数）[1]

シナリオの設定[1]

シナリオ〔用語解説〕[1]

終了処理でのSleepのタイマ値[1]

出力ディレクトリとファイル名[1]

出力ディレクトリの作成[1]

出力ファイルの算出式[1]

す

スタックトレース（概要）[1]

スタックトレース（環境変数）[1]

スタックトレース（出力ディレクトリとファイル名）[1]

ステータスファイルの削除[1]

せ

設定値について（HACMP）[1]

設定値について（HAモニタ）[1]

セットアップの流れ（HACMP）[1]

セットアップの流れ（HAモニタ）[1]

セットアップの流れ（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）[1]

専用スレッドによる応答電文受信の設定[1]

た

待機系でのTPBrokerの移行（HACMP）[1]

他プログラムプロダクトとの連携[1]

つ

通信トレース（概要）[1]

通信トレース（環境変数）[1]

通信トレース（出力ディレクトリとファイル名）[1]

て

定義句の一覧[1]

定義句の設定[1]

定義句の設定方法[1]

定義の設定（JP1/ServerConductor/Deployment Managerまたは仮想化プラットフォーム）[1]

定義ファイルの作成（HAモニタ）[1]

定義ファイルの作成（サーバ）（HAモニタ）[1]

ディスク占有量[1]

ディスク占有量の算出式[1]

ディスク複製インストール方法[1]

ディスク複製によるOSインストール[1]

データのバックアップ[1]

と

導入時の注意事項（HACMP）[1]

導入時の注意事項（HAモニタ）[1]

トラブルシュートファイル[1]

トラブルシュートファイル〔用語解説〕[1]

トランザクションサービス〔用語解説〕[1]

トレース共通環境変数[1]

トレース共通環境変数の一覧[1]

トレース共通環境変数の設定[1]

トレース情報取得ができない場合に出力されるメッセージ[1]

トレースプロパティ[1]

な

名前空間〔用語解説〕[1]

ね

ネーミングサービス通信トレース容量の算出式[1]

ネーミングサービス名前空間情報ログ（概要）[1]

ネーミングサービス名前空間情報ログ（環境変数）[1]

ネーミングサービス名前空間情報ログ（出力ディレクトリとファイル名）[1]

ネーミングサービス名前空間情報ログ容量の算出式[1]

ネーミングサービスモジュールトレース容量の算出式[1]

ネーミングサービス〔用語解説〕[1]

は

バーボースログ（概要）[1]

バーボースログ（出力ディレクトリとファイル名）[1]

バーボースログ（定義句）[1]

バーボースログの出力抑止[1]

バインドのリトライ回数[1]

バインドのリトライ間隔[1]

ふ

複製先コンピュータのセットアップ[1]

プライマリIPアドレス〔用語解説〕[1]

プロパティと環境変数の対応[1]

プロパティの設定[1]

プロパティの設定方法[1]

プロパティの設定方法（C++ ORB）[1]

プロパティの設定方法（Java ORB）[1]

ま

マーシャリング〔用語解説〕[1]

マイナーコードプロパティ[1]

マスタコンピュータのセットアップ[1]

マルチホーム〔用語解説〕[1]

め

メッセージ[1]

メッセージの概要[1]

メッセージの記述形式[1]

メッセージの出力形式[1]

メッセージの種類[1]

メッセージの表記[1]

メッセージログ（概要）[1]

メッセージログ（環境変数）[1]

メッセージログ（出力ディレクトリとファイル名）[1]

メッセージログ（定義句）[1]

メッセージログプロパティ[1]

メッセージログ容量の算出式[1]

メモリ所要量[1]

メモリ所要量およびディスク占有量[1]

も

文字コード範囲のチェック抑止[1]

モジュールトレース（概要）[1]

モジュールトレース（環境変数）[1]

モジュールトレース（出力ディレクトリとファイル名）[1]

ゆ

ユーザプロセスの設定[1]

ユーザプロセスの設定の一覧[1]

り

リクエストの監視間隔[1]

リソース・グループの設定（HACMP）[1]

リファレンス解放時のコネクションキャッシュ抑止[1]

ろ

ログ・トレースの削除[1]