2011-08-23 77 views
1

我正在使用commonj.work.WorkManager并行处理几个查询。我有一系列实现接口的dao类,并且有一个Work的实现来执行run方法中的方法。通过这个设置,我可以像工作API一样返回数据。Websphere WorkManager

我现在正在试图处理错误情况: -Exception在DAO -queries遇到需要更长的时间比waitForAll允许

我注意到,WorkItem.getResult返回null仍在处理查询。我仍然有一些实例可以在ArrayList中创建对象,所以我可以从那里获取参数和设置。它看起来好像我应该能够从WorkItem中获得这个,有没有更好的方法?

另外,我能够得到Exception抛出的唯一方法是将其存储在实现Work的类中并为其提供一个访问器方法。再次,我觉得必须有更好的方法。

这是运行在没有EJB 3,WS功能包(因此没有Java EE 5)的websphere 6.1上。

回答

1

虽然问题已经有一年了,但我想提供任何人遇到此问题时的更新。我实现Work的类有一个会存储Exception的成员属性。我一直在想这会成为一个问题,但实际上它已经取得了很好的成效。线程调用中引发的任何异常都不应该影响正在运行的任何其他线程,当所有工作都完成后,我会根据问题评估异常并采取相应措施。