AdvancedTimer.jws サンプル

非同期がサポートされていない、模擬レガシー システム(LegacySystem.jws)に対する非同期インタフェースを示す Web サービスです。レガシー システムに対して「ポーリング(繰り返し呼び出して処理されたかどうかを調べる)」を行うことで非同期を実現します。AdvancedTimer はクライアントに対してポーリングを行い、レガシー システムが応答した場合にクライアント コールバックを呼び出します。

このサンプルによって示される概念

サンプル ファイルの場所

このサンプルは、samples WebLogic Workshop プロジェクトの timer フォルダにあります。ファイル システムでの場所は次のとおりです。

BEA_HOME\weblogic700\samples\workshop\applications\samples\timer\AdvancedTimer.jws

サンプルの実行方法

この Web サービスを実行するには

  1. 適切なドメインにある WebLogic Server を起動します。

    • Microsoft Windows システムでは、[スタート] メニューから次のように選択します。

    [BEA WebLogic Platform 7.0|WebLogic Workshop|WebLogic Workshop Examples|Start Examples Server]

    • Linux システムまたは Solaris システムでは、次のスクリプトを実行します。

    BEA_HOME/weblogic700/samples/workshop/startWebLogic.sh

  2. WebLogic Workshop でサービスを開いて [開始] を選択するか、またはブラウザのアドレス バーに「http://localhost:7001/samples/timer/AdvancedTimer.jws」と入力して、サービスを起動します。適切なドメインにある WebLogic Server がこのマシン上で実行されている場合は、ここをクリックしてサンプルを実行することもできます。

  3. 必要な場合は、テスト ビューの [Test Form] タブに移動します。

  4. start メソッドを呼び出して、新しい会話インスタンスを作成し、模擬レガシー システム上で処理を呼び出します。

  5. レガシー システムで処理が完了したら、AdvancedTimer はクライアント上で onDone コールバックを呼び出します。レガシー システムで処理が 15 秒以内に完了しない場合でも、AdvancedTimer は onDone コールバックを呼び出しますが、この指示は失敗します。

  6. callback.onDone コールバック エントリが [Message Log] に表示されるまで、定期的にブラウザを更新します。

  7. [Message Log] でログ エントリを選択して、各会話に関連したメッセージ トラフィックを確認します。

関連トピック

コントロール : Web サービスからリソースを使用する

タイマー コントロール : Web サービスでタイマーを使用する

サービス コントロール : 他の Web サービスを使用する

会話を使用してステートを保持する

コールバックを使用してイベントのクライアントに通知する

コールバックの代わりにポーリングを使用する

JwsContext インタフェース

SimpleTimer.jws サンプル

テスト ビュー