私はopenejbと非同期EJBを使用しています。私は先物がたくさんあり、先物の1つに時間がかかりすぎるかどうかを知りたい(私はそれをトレースして最終的に取り消すことができます)。問題は、将来のsiがどれくらいの期間実行されているかを知るためには、いつ開始するのかを知る必要があるということです。 未来のインターフェイスは、未来が終了したかキャンセルされたかを教えてくれますが、そうでなければ、プール内のスレッドを実行しているのか、それともスレッドを待っているのか分かりません。 未来状態(実行中/開始していない状態)を取得できますか?未来が始まるかどうかを知る
おかげ
「未来」がこれを可能にするようには思われません。タスクを常にコレクションに追加してから、コレクションをチェックして、実行中のタスクを確認することができます。 –
はい、しかし私は汎用的な解決策を持っています – jaudo
このフラグのようなシステムは、この動作を簡単に達成する唯一の方法だと思われます。あなたの次のオプションは、将来のそれぞれにフラグを追加するための 'Future'インタフェースにまで拡張されます。しかしこれは、実行者があなたにフラグを含むあなたの 'Future'実装のインスタンスを渡させるために、あなたが現在使っているエグゼキュータのいずれかを使いこなすことを必要とします。 –