handlersサンプルを試す
antを使ったビルドと起動
samples/handlersディレクトリからビルドスクリプトによってビルドを行い、続けてデモを実行します。なお自動的にサーバとクライアントの両方がビルドされます。
UNIXとWindows共にビルドを行った後でサーバを起動します
ant server
さらに別のコマンドプロンプトからクライアントを起動します。
ant client
ant targetコマンドを実行すると、サーバプロセスはFileLoggingHandlerを、クライアントプロセスは SmallNumberHandlerをそれぞれ使用します。クライアントとサーバの両方のコンソールには、短いメッセージが表示されます。
サーバ側のハンドラは同時に情報をdemo.logファイルに出力します。クライアント側のハンドラでは運用パラメータをチェックし、値がdependingの場合はサーバへのリクエストは送信されません。
build.xmlファイルは、javaの実行ファイルがコンフィグレーションファイルをどのように指定するかを記述したものです。以下はその例です。
param1="${basedir}/wsdl/addNumbers.wsdl"
jvmarg1="-Dceltix.config.file=file:///${basedir}/celtix-client.xml"/>
クライアントを起動して結果を確認したらサーバプロセスを終了します。
続いてLoggingHandlerを使った状態でサーバプロセスを起動します。
UNIXとWindows共に次のコマンドを入力してサーバを起動します。なお「ant server2」はバックグラウンドか他のウィンドウで起動します。
ant build
ant server2
ant client2
antは次の様に、コンフィグレーションファイル上のjvmarg1で指定されている属性にかかわらず、client2とserver2を起動できます。
param1="${basedir}/wsdl/addNumbers.wsdl"/>
ここでは、サーバ側はそれぞれのすべてのメッセージをコンソールに表示します。しかしクライアント側には、ハンドラを使ったログ機能がありません。 そのためImplementationクラスの@HandlerChainアノテーションにはdemo_handler.xmlファイルにハンドラクラス を指定するための情報が必要です。
@HandlerChain(file = "../common/demo_handlers.xml", name = "DemoHandlerChain")
WSDLファイルやclassファイルから生成したコードを削除して、buildディレクトリを削除するには次のコマンドを起動してください。
ant clean