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