パッケージ jakarta.resource.spi.work

インターフェース WorkManager

  • すべての既知のサブインターフェース:
    DistributableWorkManager

    public interface WorkManager
    このインターフェースは、Work インスタンスを実行のために送信する機能を提供する WorkManager をモデル化します。これにより、ユーザーは Java™ を作成する必要がなくなります。作業を直接行うスレッド。さらに、これにより、スレッドリソースを効率的にプールし、スレッドの使用をより詳細に制御できます。Work 処理のさまざまな段階は次のとおりです。
    • 作品サブミット: Work インスタンスが実行のために送信されています。Work インスタンスは、適切なエラーコードに設定された WorkRejectedException で受け入れられるか拒否されます。
    • 受け入れた作業: 送信された Work インスタンスは受け入れられました。受け入れられた Work インスタンスは、実行を開始するか、WorkRejectedException を適切なエラーコードに設定して再度拒否することができます。開始タイムアウト期間が指定されていない限り、実行がいつ開始されるかについての保証はありません。開始タイムアウトが指定されている場合、Work の実行は指定された期間(リアルタイムの保証ではない)内に開始する必要があり、失敗すると、エラーコード(WorkRejected.TIMED_OUT)に設定された WorkRejectedException がスローされます。
    • 拒否された作業: Work インスタンスは拒否されました。Work インスタンスは、Work の提出中、または Work インスタンスが受け入れられた後(ただし、Work インスタンスが実行を開始する前)に拒否される可能性があります。拒否の原因は、内部要因またはタイムアウトの有効期限の開始です。どちらの場合も、適切なエラーコード(理由を示す)を含む WorkRejectedException がスローされます。
    • 作業が始まった: Work インスタンスの実行が開始されました。これは、スレッドがその実行に割り当てられていることを意味します。ただし、これは、割り当てられたスレッドが CPU リソースで実行されるようにスケジュールされていることを保証するものではありません。実行が開始されると、割り当てられたスレッドが適切な実行コンテキスト(トランザクション、セキュリティなど)を設定し、Work.run() を呼び出します。実行コンテキストのセットアップまたは Work.run() 中にスローされた例外は、処理の完了につながることに注意してください。
    • 完成した作業: Work の実行が完了しました。実行は例外ありまたは例外なしで完了する可能性があります。WorkManager は、Work 処理(実行コンテキストのセットアップを含む)中にスローされた例外をキャッチし、それを WorkCompletedException でラップします。
    バージョン:
    1.0
    作成者:
    Ram Jeyaraman
    • フィールドサマリー

      フィールド  
      修飾子と型 フィールド 説明
      static longIMMEDIATE
      タイムアウト期間を示す定数。
      static longINDEFINITE
      タイムアウト期間を示す定数。
      static longUNKNOWN
      不明な開始遅延期間またはその他の不明な値を示す定数。
    • フィールドの詳細

      • IMMEDIATE

        static final long IMMEDIATE
        タイムアウト期間を示す定数。ゼロのタイムアウト値は、アクションがすぐに実行されることを示します。WorkManager 実装は、アクションをできるだけ早くタイムアウトする必要があります。
        関連事項:
        定数フィールド値
      • INDEFINITE

        static final long INDEFINITE
        タイムアウト期間を示す定数。最大タイムアウト値は、時間の制約なしにアクションが任意に実行されることを示します。
        関連事項:
        定数フィールド値
      • UNKNOWN

        static final long UNKNOWN
        不明な開始遅延期間またはその他の不明な値を示す定数。
        関連事項:
        定数フィールド値
    • メソッドの詳細

      • doWork

        void doWork​(Work work)
             throws WorkException
        Work インスタンスを受け入れて処理します。この呼び出しは、Work インスタンスの実行が完了するまでブロックされます。受け入れられた Work インスタンスがいつ実行を開始するかについての保証はありません。つまり、実行を開始するための時間的制約はありません。(つまり、startTimeout = INDEFINITE)
        パラメーター:
        work - 実行する作業単位。長期または短期の可能性があります。
        例外:
        WorkRejectedException - Work インスタンスが以降の処理から拒否されたことを示します。これは、内部要因が原因で発生する可能性があります。
        WorkCompletedException - Work インスタンスが例外を伴って実行を完了したことを示します。
        WorkException
      • doWork

        void doWork​(Work work,
                    long startTimeout,
                    ExecutionContext execContext,
                    WorkListener workListener)
             throws WorkException
        Work インスタンスを受け入れて処理します。この呼び出しは、Work インスタンスの実行が完了するまでブロックされます。
        パラメーター:
        work - 実行する作業単位。長期または短期の可能性があります。
        startTimeout - Work インスタンスの実行を開始する必要がある期間(ミリ秒単位)。それ以外の場合、Work インスタンスは、WorkRejectedException が適切なエラーコード(WorkRejectedException.TIMED_OUT)に設定された状態で拒否されます。これはリアルタイムの保証を提供しないことに注意してください。
        execContext - 送信された Work インスタンスを実行する必要がある実行コンテキストを含むオブジェクト。
        workListener - さまざまな Work 処理イベント(作業の受け入れ、作業の拒否、作業の開始、作業の完了)が発生したときに通知されるオブジェクト。
        例外:
        WorkRejectedException - Work インスタンスがそれ以上の処理から拒否されたことを示します。これは、内部要因または開始タイムアウトの有効期限が原因で発生する可能性があります。
        WorkCompletedException - Work インスタンスが例外を伴って実行を完了したことを示します。
        WorkException
      • startWork

        long startWork​(Work work)
                throws WorkException
        処理のために Work インスタンスを受け入れます。この呼び出しは、Work インスタンスが実行を開始するまでブロックされますが、完了するまでブロックされません。受け入れられた Work インスタンスがいつ実行を開始するかについての保証はありません。つまり、実行を開始する時間の制約はありません。(つまり、startTimeout = INDEFINITE)
        パラメーター:
        work - 実行する作業単位。長期または短期の可能性があります。
        戻り値:
        Work が受け入れられてから実行が開始されるまでの経過時間(ミリ秒単位)。これはリアルタイムの保証を提供しないことに注意してください。実際の開始遅延時間が不明な場合は、-1 を返すことが有効です。
        例外:
        WorkRejectedException - Work インスタンスが以降の処理から拒否されたことを示します。これは、内部要因が原因で発生する可能性があります。
        WorkException
      • startWork

        long startWork​(Work work,
                       long startTimeout,
                       ExecutionContext execContext,
                       WorkListener workListener)
                throws WorkException
        処理のために Work インスタンスを受け入れます。この呼び出しは、Work インスタンスが実行を開始するまでブロックされますが、完了するまでブロックされません。受け入れられた Work インスタンスがいつ実行を開始するかについての保証はありません。つまり、実行を開始する時間の制約はありません。
        パラメーター:
        work - 実行する作業単位。長期または短期の可能性があります。
        startTimeout - Work インスタンスの実行を開始する必要がある期間(ミリ秒単位)。それ以外の場合、Work インスタンスは、WorkRejectedException が適切なエラーコード(WorkRejectedException.TIMED_OUT)に設定された状態で拒否されます。これはリアルタイムの保証を提供しないことに注意してください。
        execContext - 送信された Work インスタンスを実行する必要がある実行コンテキストを含むオブジェクト。
        workListener - さまざまな Work 処理イベント(作業の受け入れ、作業の拒否、作業の開始、作業の完了)が発生したときに通知されるオブジェクト。
        戻り値:
        Work が受け入れられてから実行が開始されるまでの経過時間(ミリ秒単位)。これはリアルタイムの保証を提供しないことに注意してください。実際の開始遅延時間が不明な場合は、-1 を返すことが有効です。
        例外:
        WorkRejectedException - Work インスタンスがそれ以上の処理から拒否されたことを示します。これは、内部要因または開始タイムアウトの有効期限が原因で発生する可能性があります。
        WorkException
      • scheduleWork

        void scheduleWork​(Work work)
                   throws WorkException
        処理のために Work インスタンスを受け入れます。この呼び出しはブロックされず、Work インスタンスの処理が受け入れられるとすぐに戻ります。送信された Work インスタンスがいつ実行を開始するかについての保証はありません。つまり、実行を開始する時間の制約はありません。(つまり、startTimeout = INDEFINITE)。
        パラメーター:
        work - 実行する作業単位。長期または短期の可能性があります。
        例外:
        WorkRejectedException - Work インスタンスが以降の処理から拒否されたことを示します。これは、内部要因が原因で発生する可能性があります。
        WorkException
      • scheduleWork

        void scheduleWork​(Work work,
                          long startTimeout,
                          ExecutionContext execContext,
                          WorkListener workListener)
                   throws WorkException
        処理のために Work インスタンスを受け入れます。この呼び出しはブロックされず、Work インスタンスの処理が受け入れられるとすぐに戻ります。
        パラメーター:
        work - 実行する作業単位。長期または短期の可能性があります。
        startTimeout - Work インスタンスの実行を開始する必要がある期間(ミリ秒単位)。それ以外の場合、Work インスタンスは、WorkRejectedException が適切なエラーコード(WorkRejectedException.TIMED_OUT)に設定された状態で拒否されます。これはリアルタイムの保証を提供しないことに注意してください。
        execContext - 送信された Work インスタンスを実行する必要がある実行コンテキストを含むオブジェクト。
        workListener - さまざまな Work 処理イベント(作業の受け入れ、作業の拒否、作業の開始、作業の完了)が発生したときに通知されるオブジェクト。
        例外:
        WorkRejectedException - Work インスタンスが以降の処理から拒否されたことを示します。これは、内部要因が原因で発生する可能性があります。
        WorkException