bea ホーム | 製品 | dev2dev | support | askBEA |
|
e-docs > Tuxedo > Tuxedo CORBA 要求レベルのインターセプタ > InterceptorSimp サンプル・インターセプタ |
Tuxedo CORBA 要求レベルのインターセプタ |
InterceptorSimp サンプル・インターセプタ
ここでは、以下の内容について説明します。
この章で説明する手順を実行してみる前に、PersonQuery サンプル・アプリケーションで解説した手順がすべて完了していることを確認してください。
PersonQuery サンプル・インターセプタのしくみ
InterceptorSimp サンプル・インターセプタでは、インターセプタに渡された要求におけるオペレーションに RequestContext オブジェクトを介してアクセスする方法を示します。InterceptorSimp サンプルが要求をインターセプトすると、インターセプタは次の処理を行います。
インターセプタに対して正常な呼び出しが行われた場合、クライアント呼び出しはターゲット・オブジェクトに渡されて通常の方法で処理されます。InterceptorSimp サンプル・インターセプタでは、次のことが示されます。
InterceptorSimp サンプル・インターセプタでは、定義および登録されるものの単一のソース・ファイル内でインプリメントされる 2 種類のインターセプタも示されます。この例では、クライアント・インターセプタとターゲット・インターセプタは個別に登録されます。先に初期化されるのは、クライアント・インターセプタです。
PersonQuery インターセプタの登録および実行
PersonQuery サンプル・アプリケーションの PersonQuery サンプル・アプリケーションをビルドする makefile を実行すると、InterceptorSimp インターセプタを含むサンプル・インターセプタ一式全部が、同様にビルドされます。この節では、実行時に PersonQuery アプリケーションと共に機能するように InterceptorSimp インターセプタを登録する方法を説明します。
InterceptorSimp クライアント・インターセプタおよびサーバ・インターセプタを登録して実行するには、次の手順に従います。
> cd <workdirectory>\cxx\simple_cxx
UNIX
$ cd <workdirectory>/cxx/simple_cxx
> cd <workdirectory>\cxx\app_cxx
> tmboot -y
> PersonQueryClient
UNIX
> cd <workdirectory>/cxx/app_cxx
> tmboot -y
> PersonQueryClient
> tmshutdown -y
インターセプタの出力の検証
単純なクライアント・インターセプタからの出力は、次の構文で名前を付けられたファイルに入っています。
InterceptorSimpClientxxxx.out
上述の構文の行で、xxxx はインターセプタが実行された実行可能ファイルのプロセス ID を表します。たとえば、InterceptorSimpClientxxx.out ファイルは以下のそれぞれについて 1 つずつ、全部で 3 つあります。
各ファイルの内容は、ORB と実行可能ファイルがどのようにやり取りしたかに応じて変わります。たとえば、ターゲット・インターセプタはサーバ上で実行され、クライアント・インターセプタはクライアント上で実行されるので、InterceptorSimpClient ログ・ファイルに記録されるターゲット・インターセプタからの出力は通常、非常に少ない一方で、クライアント・インターセプタからの出力はより多くなっています。
インターセプタの登録解除
InterceptorSimp サンプル・インターセプタで PersonQuery サンプル・アプリケーションを実行後に、次の手順によってこれらのインターセプタの登録を解除できます。
インターセプタの登録解除
InterceptorSimp クライアント・インターセプタおよびサーバ・インターセプタの登録を解除するには、次の手順に従います。