首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法初始化JBossWorkManagerTaskExecutor,因为JBoss API不可用: java.lang.reflect.InvocationTargetException

无法初始化JBossWorkManagerTaskExecutor,因为JBoss API不可用: java.lang.reflect.InvocationTargetException
EN

Stack Overflow用户
提问于 2012-03-20 03:35:28
回答 2查看 3.2K关注 0票数 2

我需要在我的应用程序中配置JBoss WorkManager。早些时候,配置如下:

代码语言:javascript
复制
<bean id="taskExecutor" class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor">
    <property name="workManagerName" value="wm/default" />
</bean>

clas "WorkManagerTaskExecutor“是为WebSphere和WebLogc设计的。但是我们正在将应用程序从WebSphere迁移到JBOss。所以我有以下的配置。

web.xml

代码语言:javascript
复制
<resource-ref id="ResourceRef_1163654014164">
<description>WorkManager</description>
<res-ref-name>WorkManager</res-ref-name>
<res-type>org.jboss.resource.work.JBossWorkManager</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref> 

jboss-web.xml

代码语言:javascript
复制
<resource-ref id="ResourceRef_1163654014164">
<description>WorkManager</description>
<res-ref-name>WorkManager</res-ref-name> 
<jndi-name>WorkManager</jndi-name>
<ignore-dependency/>
</resource-ref>

applicationContext.xml

代码语言:javascript
复制
<bean id="taskExecutor"     class="org.springframework.jca.work.jboss.JBossWorkManagerTaskExecutor">     
</bean>

异常日志:

代码语言:javascript
复制
17:04:39,472 ERROR [LogInterceptor] 

EJBException in method: public abstract com.test.ejb.timer.SLATimer com.test.ejb.timer.SLATimerHome.create() throws javax.ejb.CreateException,java.rmi.RemoteException, causedBy:
org.springframework.beans.factory.BeanCreationException

: Error creating bean with name 'taskExecutor' defined in class path resource [spring-messaging.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Could not initialize JBossWorkManagerTaskExecutor because JBoss API is not available: 

java.lang.reflect.InvocationTargetException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean    (AbstractAutowireCapableBeanFactory.java:1420)

Caused by: java.lang.IllegalStateException: Could not initialize JBossWorkManagerTaskExecutor because JBoss API is not available: 

java.lang.reflect.InvocationTargetException

请帮助解决上述问题。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-03-22 20:55:53

我自己正在回答我的问题,这可能对某人有帮助。

删除此web.xml工作管理器的jboss.web.xml和JBoss配置。

在applicationContext.xml中具有以下配置

代码语言:javascript
复制
<bean id="jbossResourceAdapter" class="org.jboss.resource.adapter.jms.JmsResourceAdapter"/>

<bean id="mbeanServer" class="org.jboss.mx.util.MBeanServerLocator" factory-method="locateJBoss"/>

<bean id="chanduWorkManager" factory-bean="mbeanServer" factory-method="getAttribute">
    <constructor-arg>
        <bean class="org.springframework.jmx.support.ObjectNameManager" factory-method="getInstance">
            <constructor-arg value="jboss.jca:service=ChanduWorkManager" />
        </bean>
    </constructor-arg>
    <constructor-arg value="Instance" />
</bean>

<bean id="taskExecutor" class="org.springframework.jca.work.WorkManagerTaskExecutor">
    <property name="workManager" ref="chanduWorkManager"/>
</bean>

<bean id="jbossResourceAdapterFactory" class="org.springframework.jca.support.ResourceAdapterFactoryBean">
    <property name="resourceAdapter" ref="jbossResourceAdapter"/>
    <property name="workManager" ref="taskExecutor"/>
</bean>

<bean id="jbossActivationSpecFactory" class="org.springframework.jms.listener.endpoint.StandardJmsActivationSpecFactory">
    <property name="activationSpecClass" value="org.jboss.resource.adapter.jms.inflow.JmsActivationSpec"/>
    <property name="defaultProperties">
        <props>
            <prop key="sessionTransacted">false</prop>
            <prop key="minSession">1</prop>
            <prop key="maxSession">15</prop>
        </props>
    </property>
</bean>

希望它能帮到别人。谢谢,Chandrasekhar Aadhanapattu

票数 1
EN

Stack Overflow用户

发布于 2015-06-04 09:02:15

发现这可能是正确的答案..。

在我的例子中,就像JBoss.

Spring WorkManagerTaskExecutor cannot initialize in websphere

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9781022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档