大家好,我是论坛的新手,我刚刚有一个关于使用 Spring 的 commonj WorkManagerTaskExecutor 的问题。我一直在一堆论坛上寻找有关该主题的更好信息,但我没有看到有关该主题的任何详细信息。所以这是我的情况。
我的应用程序使用由 ThreadPoolTaskExecutor 处理的多个线程,一位朋友告诉我他认为这不是正确的选择,因为我们使用的是 websphere 7.0 应用程序服务器。我让一切正常工作,并且通过一些小的调整能够用 WorkManagerTaskExecutor 替换 ThreadPoolTaskExecutor。当我运行应用程序时,线程会通过 websphere 服务器上的默认工作管理器启动。似乎正在发生的问题是,即使我正在使用 workManagerTaskExecutor.waitForAll(collection,timeout); 它实际上从不等待线程完成。我知道线程正在执行它们各自的方法是有效的,因为如果你在所有这些之后发出一个冗长的 for 循环,那么数据就在那里,就好像你没有数据不在那里一样。
WorkManagerTaskExecutor 是要走的路吗?或者使用 ThreadPoolTaskExecutor 是否足以处理企业 Web 应用程序上的多个线程?
如果 WorkManagerTaskExecutor 是要走的路?关于为什么 waitForAll 方法像方法完成一样完成的任何想法?什么时候明显不是?页面加载后,我可以在日志中看到这些方法仍在运行并最终完成。
任何帮助将非常感激。如果我遗漏了任何内容,我将很乐意尝试提供有关该问题的更多信息,因为我非常感谢可能提供的任何帮助。
提前致谢,
账单