Menu Close

第40章 非同期アプリケーションの開発

概要

JAX-WS は、サービスに非同期でアクセスするための簡単なメカニズムを提供します。SEI は、サービスに非同期でアクセスするのに使用できる追加のメソッドを指定できます。Apache CXF コードジェネレーターは、追加のメソッドを生成します。ビジネスロジックを追加するだけです。

40.1. 非同期呼び出しの型

Apache CXF は、通常の同期呼び出しモードに加えて、以下の 2 つの非同期呼び出しの形式をサポートします。

  • ポーリングアプローチ: ポーリングアプローチを使用してリモート操作を呼び出すには、出力パラメーターを持たないがjavax.xml.ws.Response オブジェクトを返すメソッドを呼び出します。Response オブジェクト (javax.util.concurrency.Future インターフェースから継承) をポーリングして、応答メッセージが到達したかどうかを確認できます。
  • コールバックアプローチ: コールバックアプローチを使用してリモート操作を呼び出すには、コールバックオブジェクト (javax.xml.ws.AsyncHandler 型) をパラメーターの 1 つとして参照するメソッドを呼び出します。応答メッセージがクライアントに到達すると、ランタイムが AsyncHandler オブジェクト上でコールバックし、応答メッセージの内容を提供します。