ここでは、次の内容について説明します。
前提知識
アプリケーションの構成方法
アプリケーションの起動と停止
アプリケーションの管理
動的サービス宣言の使用
RPCサーバーを追加するための構成の変更を行うOracle Tuxedo ATMIシステムの管理者は、ASCII構成ファイル(形式についてはUBBCONFIG(5)
を参照)の作成方法と、tmloadcf(1)
を用いたバイナリ構成ファイルの読込みについての知識を持っている必要があります。これらの作業については、『Oracle Tuxedoアプリケーション実行時の管理』で説明されています。
RPCサーバーの構成は、リクエスト/レスポンス・サーバーの場合と同様に行います。RPCサーバーやRPCサーバーのグループごとに、SERVERS
ページ内にエントリが1つ必要です(MAX
を1よりも大きな値にセットすると、1つのエントリで複数のRPCサーバーが構成できます)。必要に応じてRQADDR
を指定すると、RPCサーバーの複数のインスタンスが同一のリクエスト・キューを共有します(複数サーバー、単一キュー構成)。CONV
パラメータは指定しないか、あるいはNに設定(例: CONV=N
)する必要があります。「アプリケーション例」の構成ファイル例を参照してください。
サーバーがトランザクションの一部になる場合には、TLOGDEVICE
をもつマシン上のグループに存在する必要があります。GROUPS
エントリは、関連するリソース・マネージャへのアクセスに用いるTMSNAME
とOPENINFO
文字列を使用して構成される必要があります。
SERVICES
エントリの指定はオプションです。これを指定した場合、サービス名は前章で説明したとおり、インタフェース名とバージョン番号に基づく必要があります。このエントリが必要になるのは、デフォルトの値とは異なる特別な負荷、優先順位、トランザクション時間を指定する場合です。また、このエントリは、AUTOTRAN
機能をオンにするためにも使用されます。この機能をオンにすると、入力リクエストがトランザクション・モードではない場合に、サービスに対してトランザクションが自動的に起動されるようにします。処理されるバッファの種類はCARRAY
だけなので、サービス・エントリを使用してバッファの種類BUFTYPE
を指定しないでください。また、ルーティングはRPCリクエストに対してはサポートされていないので、ROUTING
も指定しないでください。
アプリケーションを起動する前に、tmloadcf(1)
コマンドを用いてASCII構成ファイルをバイナリTUXCONFIG
ファイルにロードします。
tmconfig
コマンドを使用すると、起動したアプリケーションにRPCサーバー用エントリを追加できることに注意してください。追加方法については、『Oracle Tuxedoコマンド・リファレンス』のtmconfig
、wtmconfig(1)
を参照してください。
構成を変更したときには、tmboot(1)
を用いてアプリケーションを起動してください。tmshutdown(1)
を用いて、アプリケーションを停止します。「アプリケーション例」の例を参照してください。
RPCサーバーの起動と停止方法は、リクエスト/レスポンス・サーバーのものと同じです。それらの起動や停止は、構成全体の一部として行うときには-y
オプション、グループの一部として行うときには-g
オプション、論理マシンの一部として行うときには-l
オプション、サーバー名で行うときには-s
オプションを使用します。
管理インタフェース内では、RPCサーバーはリクエスト/レスポンス・サーバーとして表現されます。前に説明したとおり、tmconfig
を使用すればRPCサーバーとサービスの動的再構成が可能です。詳細については、『Tuxedoコマンド・リファレンス』のtmconfig
、wtmconfig(1)
を参照してください。tmadmin(1)
コマンドによりRPCサーバーをモニターできます。tmadmin printserver
コマンドを用いて、RPCサーバー名および関連するランタイム情報(たとえば、サービスやオペレーションの実行、ロード等)を出力できます。またprintservice
コマンドを使用して、利用可能なRPCサービス(インタフェース)を出力できます。出力例については、「アプリケーション例」の例を参照してください。
RPCサービスは、リクエスト/レスポンス・サービスの制御と同じ方法で動的に制御可能です。すでに説明したとおり、サービス名はオペレーションの名前ではなく、インタフェース名とバージョン番号でした。一般的に、サービス名は、-s
オプションを使用して、buildserver(1)
が実行されるときに指定され、サーバーが-A
オプションを使用して起動されるときに自動的に宣言されます。サービス(インタフェース)名を動的に宣言する方法としては、adv
コマンドを用いてtmadmin
から宣言するか、あるいはサーバー内から関数tpadvertise(3c)
を用いて宣言します。サービス(インタフェース)名の宣言を動的に解除する方法としては、unadv
コマンドを用いてtmadmin
から解除するか、サーバー内から関数tpunadvertise(3c)
を用いて解除します。サービス名は、tmadmin(1)
から一時的に使用停止したり、停止解除(再開)したりできます。サービス名の公開解除、または使用停止を行うと、関連のあるインタフェース内で定義されたオペレーションはすべて利用できなくなることに注意してください。