インターフェース RequestContextController
public interface RequestContextController
CDI コンテナーは、RequestContextController の組み込みインスタンスを提供します。これは、アクティブ化および非アクティブ化の目的でスコープが依存します。例:
@Inject
private RequestContextController requestContextController;
public void doRequest(String body) {
// activate request context
requestContextController.activate();
// do work in a request context.
// deactivate the request context
requestContextController.deactivate();
}
リクエストコンテキストが非アクティブ化されたら、もう一度アクティブ化して、新しいリクエストコンテキストを作成できます。アクティブ化されたリクエストコンテキストは現在のスレッドにバインドされ、リクエストスコープの Bean をターゲットとするインジェクションポイントは、同じリクエストスコープのオブジェクトで満たされます。- 導入:
- 2.0
- 作成者:
- John D. Ament
方法の概要
修飾子と型メソッド説明booleanactivate()現在のスレッドの RequestContext がアクティブになっていない場合は、アクティブにします。void現在のリクエストコンテキストがこのコンテキストコントローラーによってアクティブ化された場合、それを非アクティブ化します。
メソッドの詳細
activate
boolean activate()現在のスレッドの RequestContext がアクティブになっていない場合は、アクティブにします。- 戻り値:
- この呼び出しによってコンテキストがアクティブ化された場合は true、そうでない場合は false。
deactivate
このコンテキストコントローラーによってアクティブ化された場合、現在のリクエストコンテキストを非アクティブ化します。コンテキストがアクティブであるが、このコントローラーによってアクティブ化されていない場合、このコントローラーによって非アクティブ化されていない可能性があります。つまり、このメソッドは何も実行しません。コンテキストがアクティブでない場合、ContextNotActiveException がスローされます。- 例外:
ContextNotActiveException- コンテキストがアクティブでない場合