目次 前 次 PDF


InterceptorSimpサンプル・インターセプタ

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

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved