我正在使用 commonj.work.WorkManager 并行处理一些查询。我有一系列实现接口(interface)的 dao 类,并且有一个执行 run 方法中的方法的 Work 实现。通过此设置,我能够按照工作 API 的预期返回数据。
我现在正在尝试处理错误情况: -dao中遇到异常 -查询花费的时间超过 waitForAll 允许的时间
我注意到 WorkItem.getResult 对于仍在处理的查询返回 null。我仍然在 ArrayList 中拥有 dao 对象的实例,因此我可以从那里获取参数和设置。看来我应该能够从 WorkItem 中获取它,有更好的方法吗?
此外,我能够获取抛出的异常的唯一方法是将其存储在实现 Work 的类中并为其提供访问器方法。我再次觉得一定有更好的方法。
它在没有 EJB 3、WS 功能包的 websphere 6.1 上运行(因此没有 Java EE 5)。
最佳答案
虽然这个问题已经存在一年了,但我想在有人遇到这个问题时提供更新。我实现 Work 的类有一个用于存储异常的成员属性。我本来以为这会是一个问题,但实际上效果很好。线程调用中引发的任何异常不应影响正在运行的任何其他线程,当所有工作完成后,我会评估异常并根据问题采取操作。
关于java - Websphere工作管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7167711/