インターフェース ManagedTask


public interface ManagedTask
ManagedExecutorService または ManagedScheduledExecutorService に送信されたタスクは、オプションでこのインターフェースを実装して、タスクに関する識別情報を提供したり、ManagedTaskListener を提供してタスクのライフサイクルイベントの通知を取得したり、追加の実行プロパティを提供したりできます。

ManagedExecutors.managedTask() も参照してください。

導入:
1.0
  • フィールドの詳細

    • LONGRUNNING_HINT

      static final StringSE LONGRUNNING_HINT
      タスクの完了に長い時間がかかる可能性があるかどうかについてのヒントを提供するために、getExecutionProperties() または ContextService.createContextualProxy() で返される実行プロパティ。Jakarta™ EE Product Providers は、このヒント値を利用して、このタスクを実行するためのスレッドリソースの割り当て方法を決定できます。有効な値は "true" または "false" です。
      関連事項:
    • TRANSACTION

      static final StringSE TRANSACTION
      getExecutionProperties() または ContextService.createContextualProxy() で返される実行プロパティ。コンテキストプロキシオブジェクトのタスクまたはプロキシメソッドを実行するトランザクションを Jakarta EE Product Provider に通知します。有効な値は次のとおりです。

      "SUSPEND" (指定されていない場合のデフォルト)- スレッドで現在アクティブなトランザクションはすべて中断され、jakarta.transaction.UserTransaction (ローカル JNDI 名前空間で "java:comp/UserTransaction" としてアクセス可能)が使用可能になります。元のトランザクションがスレッドでアクティブだった場合は、タスクまたはコンテキストプロキシオブジェクトメソッドが戻ったときに再開されます。

      "USE_TRANSACTION_OF_EXECUTION_THREAD" - コンテキストプロキシオブジェクトメソッドは、実行スレッドのトランザクション(存在する場合)内で実行されます。jakarta.transaction.UserTransaction は、実行スレッドでも使用できる場合にのみ使用できます(たとえば、プロキシメソッドがサーブレットまたは Bean マネージトランザクションから呼び出された場合)。ManagedExecutorService または ManagedScheduledExecutorService に送信されたタスクを実行している場合など、実行スレッドに既存のトランザクションがない場合は、jakarta.transaction.UserTransaction を使用できます。

      関連事項:
    • SUSPEND

      static final StringSE SUSPEND
      TRANSACTION 実行プロパティの "SUSPEND" 値の定数。TRANSACTION を参照してください。
      関連事項:
    • USE_TRANSACTION_OF_EXECUTION_THREAD

      static final StringSE USE_TRANSACTION_OF_EXECUTION_THREAD
      TRANSACTION 実行プロパティの "USE_TRANSACTION_OF_EXECUTION_THREAD" 値の定数。TRANSACTION を参照してください。
      関連事項:
    • IDENTITY_NAME

      static final StringSE IDENTITY_NAME
      タスクを識別する文字列を提供するために getExecutionProperties() または ContextService.createContextualProxy() で返される実行プロパティ。管理機能がタスクをインスペクションしてタスクの意図とその状態を判別できるようにするのは、名前または ID である可能性があります。実装はスレッド実行コンテキストに依存してはならず、通常、タスクを識別するためにすぐに利用できるインスタンスデータのみを返す必要があります。
      関連事項:
  • メソッドの詳細

    • getManagedTaskListener

      ManagedTaskListener getManagedTaskListener()
      このタスクのライフサイクルイベントの通知を受信する ManagedTaskListener
      戻り値:
      このタスクのライフサイクルイベントの通知を受信する ManagedTaskListener、またはそのようなイベントの通知を取得する必要がない場合は null。
    • getExecutionProperties

      MapSE<StringSE,StringSE> getExecutionProperties()
      このタスクを実行するときに、ManagedExecutorService または ManagedScheduledExecutorService に追加情報を提供します。

      このクラスでは、いくつかの標準プロパティキーが定義されています。カスタムプロパティキーを定義できますが、"jakarta.enterprise.concurrent." で始めることはできません。

      戻り値:
      追加の実行プロパティを含む Map <String、String>、このタスクに追加情報が提供されていない場合は null。