Concurrency Utilities for Java EEは、WebコンテナやEJBコンテナなどのJava EEアプリケーション実行環境から、非同期に複数の処理を並行に実行することを可能とする機能です。
Concurrency Utilities for Java EEを使用することで、アプリケーションは現在のJava EEアプリケーション実行環境のコンテキスト情報を保持したまま別の処理を非同期に実行することができます。
コンテキスト情報とはJava EEアプリケーション実行環境と関連付けされた情報です。Interstage Application Serverでは以下のコンテキスト情報を、Concurrency Utilities for Java EEを使用して非同期に実行する処理(タスク)に伝播させることができます。
Classloader
タスクでは呼び出し元と同じコンテキストクラスローダーを用いてクラスをロードすることができます。
JNDI
タスクでは呼び出し元と同じネーミングサービス・環境ネーミングコンテキストに対してJNDIのlookupメソッドを実行することができます。
Security
タスクでは呼び出し元と同じセキュリティコンテキストの下で処理を行うことができます。
Concurrency Utilities for Java EEでは以下の4種類の並行処理リソースを提供します。
管理実行サービス
呼び出し元と同じコンテキスト情報を保持したまま非同期にタスクを実行する機能を提供します。
管理スケジュール実行サービス
管理実行サービスの機能に加えて、タスクの遅延実行やタスクの周期的な繰り返し実行を行う機能を提供します。
管理スレッドファクトリ
呼び出し元と同じコンテキスト情報を持つスレッドを作成する機能を提供します。
コンテキストサービス
呼び出し元と同じコンテキスト情報を保持したままメソッドを実行する動的プロキシオブジェクトを作成する機能を提供します。