commonj.work.WorkManagerを使用して、いくつかのクエリを並行して処理しています。インターフェイスを実装する一連のdaoクラスがあり、runメソッドのメソッドを実行するWorkの実装があります。この設定により、作業APIで期待するとおりにデータを返すことができます。
私は今エラー状況を処理しようとしています:-daoで発生した例外-クエリはwaitForAllが許可するよりも長くかかります
WorkItem.getResultがまだ処理中のクエリに対してnullを返すことに気づきました。ArrayListにdaoオブジェクトのインスタンスがまだあるので、そこからパラメーターと設定を取得できます。WorkItemからこれを取得できるはずですが、もっと良い方法はありますか?
また、スローされた例外を取得できる唯一の方法は、Workを実装するクラスに例外を格納し、それにアクセサーメソッドを提供することです。繰り返しますが、もっと良い方法があるに違いないと思います。
これは、EJB 3、WS機能パックなしのWebsphere 6.1で実行されています(したがって、Java EE 5はありません)。