Oracle SOAでは、WorkManager
インタフェースの実装は、アダプタ・フレームワークによって行われます。実装は最小限です。これは、アダプタ・フレームワークでは、拡張スレッド・プーリングや高度なスケジューリングがサポートされないためです。
かわりに、アダプタ・フレームワークでは、6つのパブリック・メソッドのうち1つのメソッドscheduleWork(Work work)
のみが実装されます。その他のパブリック・メソッドは、このメソッドにリダイレクトされます。つまり、呼出しのブロッキングはサポートされていません(この例として、呼出しのブロッキングはdoWork()
に必要です)。
アダプタ・フレームワークでは、SOAのデフォルトのワーク・マネージャを使用して、完了したWork
インスタンスから解放されたスレッドをWorkの新規発行で再使用できるようにします。
次のメソッドでは、Workインスタンスが処理に向けて受け入れられます。
public void scheduleWork(Work work)
throws WorkException
この呼出しはブロックされず、Workインスタンスが処理に向けて受け入れられるとすぐに値が返されます。発行されたWorkインスタンスでいつ実行が開始されるかの保証はありません。つまり、実行の開始に時間の制約はありません。