我希望使用Websphere work manager在jee上下文中执行异步作业,但我在创建时遇到了问题。
bean定义:
<bean id="taskExecutor" class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor"> <property name="workManagerName" value="wm/default" /> </bean>我在websphere help中找到了这个定义。但问题是,这是以noClassDefFound结束的。我注意到自2.x.x版本以来,spring上下文中缺少pckg org.springframework.scheduling.commonj
它被org.springframework.jca.work.WorkManagerTaskExecutor取代了吗?
当我使用另一个spring类时,我会得到错误:
由:在JNDI位置可用的org.springframework.jndi.TypeMismatchNamingException:类com.ibm.ws.asynchbeans.WorkManagerImpl对象引起的wm/default不能分配给javax.resource.spi.work.WorkManager
这是怎么回事?thx
春季- 3.1.2
发布于 2013-11-18 16:30:37
类org.springframework.scheduling.commonj.WorkManagerTaskExecutor驻留在spring-context-support-3.1.2.RELEASE.jar中
发布于 2015-06-04 07:41:59
配置成功与javax.resource.spi.work.WorkManager在applicationContext-service.xml部署.
在我的示例中,bean注入org.springframework.scheduling.commonj.WorkManagerTaskExecutor的部署失败,因为它无法接受在Application中配置的WorkManager JNDI .我刚换了javax.resource.spi.work.WorkManager。到目前为止,这是成功的部署。
我还没有看到应用程序运行良好。
<bean id="taskExecutor" class="javax.resource.spi.work.WorkManager">
<property name="workManagerName" value="wm/default" />
</bean>发布于 2015-06-19 05:33:18
在我们的场景中,它是由ThreadPoolTaskExecutor而不是WorkManagerTaskExecutor管理的。
下面是ApplicationContext.xml中的配置
<!--
<bean id="rtSenderTaskExecutor"
class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor">
<property name="workManagerName">
<value>${org.quartz.threadPool.jndi}</value>
</property>
</bean> -->
<!-- Local Thread Pool -->
<bean id="rtSenderTaskExecutor"
class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="${org.quartz.threadPool.corePoolSize}" />
<property name="maxPoolSize" value="${org.quartz.threadPool.maxPoolSize}" />
<property name="queueCapacity" value="${org.quartz.threadPool.queueCapacity}" />
<property name="keepAliveSeconds" value="${org.quartz.threadPool.keepAliveSeconds}"></property>
</bean>https://stackoverflow.com/questions/20051172
复制相似问题