我想使用Websphere工作管理器在jee上下文中执行异步作业,但我在创建spring WorkManager时遇到问题。
bean定义:
<bean id="taskExecutor" class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor"> <property name="workManagerName" value="wm/default" /> </bean>
我在websphere帮助中找到了这个定义。但问题是以noClassDefFound结束。我注意到自版本2.x.x以来,spring-context中缺少pckg org.springframework.scheduling.commonj
是否替换为org.springframework.jca.work.WorkManagerTaskExecutor
?
当我使用这个其他春季课时,我得到错误:
引起:org.springframework.jndi.TypeMismatchNamingException: 类型为[class com.ibm.ws.asynchbeans.WorkManagerImpl]的对象 在JNDI位置[wm / default]不可分配 [javax.resource.spi.work.WorkManager]
所以这里有什么交易? THX
是 - 7.0.0.23 春天 - 3.1.2
答案 0 :(得分:3)
班级org.springframework.scheduling.commonj.WorkManagerTaskExecutor
位于spring-context-support-3.1.2.RELEASE.jar
答案 1 :(得分:0)
部署中javax.resource.spi.work.WorkManager
中的applicationContext-service.xml
配置成功.....
在我的情况下,部署失败了bean注入org.springframework.scheduling.commonj.WorkManagerTaskExecutor
,因为它无法在Application Server中配置WorkManager JNDI ....我刚刚替换了javax.resource.spi.work.WorkManager
。到目前为止,它是成功部署。
我还没有看到应用程序正常工作。
<bean id="taskExecutor" class="javax.resource.spi.work.WorkManager">
<property name="workManagerName" value="wm/default" />
</bean>
答案 2 :(得分:0)
在我们的场景中,我们通过 ThreadPoolTaskExecutor 而不是 WorkManagerTaskExecutor
来管理它以下是curl -XGET 'localhost:9200/_analyze?tokenizer=keyword&token_filters=lowercase&char_filters=html_strip' -d 'THIS is a <b>TEST</b>'
{
"tokens" : [ {
"token" : "this is a test",
"start_offset" : 0,
"end_offset" : 21,
"type" : "word",
"position" : 1
} ]
}
ApplicationContext.xml