如何将IBM中的WebSphere工作管理器与servlet注释一起使用?
Spring提供WorkManagerTaskExecutor。它允许按照描述的在WebSphere文档中或这就是答案配置工作管理器。但是,我没有看到与@Scheduled注释的关系,也找不到任何文档说明它是如何内部工作的。
我的目标是以方便的方式配置调度任务(如@Scheduled提供的),但我需要由调度程序创建的任务线程由WebSphere来管理。
编辑:在最初的问题中,我把DefaultManagedTaskExecutor和WorkManagerTaskExecutor混为一谈,因为后者被反对,而倾向于前者。现在,我了解到WorkManagerTaskExecutor是Java 6(因此我们的WebSphere 8.5环境是必需的),而DefaultManagedTaskExecutor属于Java 7,并且确实可以配置为@Scheduled,这是用@EnableScheduling注释记录的。
发布于 2021-08-20 13:48:32
我可以理解您的意思,即对于您配置的任务执行器与@Scheduled之间的关系,Spring文档显得模糊。如果没有这种保证,您可以通过从您的方法之一打印堆栈并确认com.ibm.ws.*包的存在来观察地验证调度的任务是否在com.ibm.ws.*应用服务器线程上运行。一个简单的方法就是,
new Exception("capturing the stack").printStackTrace(System.out);Spring的DefaultManagedTaskExecutor被记录为依赖于java:comp/DefaultManagedExecutorService,它需要Java 8(或Jakarta ),并且应该与传统的WebSphere应用服务器的版本9一起工作。它还应该与WebSphere应用服务器自由一起工作。
如果您使用的是8.5.5或更早版本,则需要基于CommonJ WorkManager的CommonJ WorkManager(在所链接的一个文档中引用)。
https://stackoverflow.com/questions/68862606
复制相似问题