在我当前的项目中,我看到 workmanager 用于异步处理线程。我们正在摆脱 IBM 产品并开始使用 Tomcat。我需要一些输入来用什么替换 workmanager。我看到了 commonj api,但需要一些想法。
问问题
229 次
1 回答
0
对于最简单的解决方案,您可以在 Tomcat 中使用 WorkManager。例如,请参见此处。
然而,从 java 1.5 和 JSR-236 开始,最好使用 Executors 而不是 WorkManager。我的做法是在将应用程序部署到 WebSphere 时将 CommonJ WorkManager 与 Executor 外观包装起来。在其他平台上直接使用 Executors。
这主要是因为遗留代码支持。新应用程序应该直接使用 Executors 而忘记 WorkManagers,因为最新的 WAS 中的 WorkManager 是 Executor 实现。
Spring 一直以来都在提供 WorkManager Executor 包装器。它被称为 WorkManagerTaskExecutor,你可以用它把你的工作管理器包装在 executors api 中。
或者直接使用 Executors 和 JSR-236 使用DefaultManagedTaskExecutor。在 WAS 上,JSR-236 执行器仍然使用 WorkManager 实例实现,但现在是实现细节。
于 2020-11-10T11:46:39.257 回答