Не удалось инициализировать JBossWorkManagerTaskExecutor, поскольку API JBoss недоступен: java.lang.reflect.InvocationTargetException - PullRequest
1 голос
/ 20 марта 2012

У меня есть требование настроить JBoss WorkManager в моем приложении. Ранее конфигурация была следующей:

<bean id="taskExecutor" class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor">
    <property name="workManagerName" value="wm/default" />
</bean>

Класс "WorkManagerTaskExecutor" предназначен для WebSphere и WebLogc. Но мы переносим наше приложение из WebSphere в JBOss. Итак, у меня есть следующая конфигурация.

web.xml

<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

<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

<bean id="taskExecutor"     class="org.springframework.jca.work.jboss.JBossWorkManagerTaskExecutor">     
</bean>

Журнал исключений:

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

Пожалуйста, помогите решить вышеуказанную проблему.

Спасибо

Ответы [ 2 ]

0 голосов
/ 04 июня 2015

Найдите, что это может быть правильный ответ ....

В моем случае также AS является JBoss ...

Spring WorkManagerTaskExecutor не может инициализироваться в веб-сфере

0 голосов
/ 23 марта 2012

Я отвечаю на свой вопрос, который может быть полезен для кого-либо.

Удалена конфигурация в web.xml и jboss.web.xml для этого JBoss Work Manager.

Имеют следующую конфигурациюв applicationContext.xml

<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>

Надеюсь, это кому-нибудь поможет.Спасибо, Чандрасекхар Адханапатту

...