Java 未在Websphere 8.0中创建Springbean
我正在测试一个遗留应用程序(alpha.ear)。包含两个工件的 alphafirst.jar和alphasecond.jar aplhafirst.jar正在使用spring.jar和alphasecond.jar正在使用spring版本3.0.3,因为我在spring中需要JMS功能 现在,当我部署ear文件时,它抛出以下异常: > beanRefContext.xmlJava 未在Websphere 8.0中创建Springbean,java,spring,maven,websphere,spring-jms,Java,Spring,Maven,Websphere,Spring Jms,我正在测试一个遗留应用程序(alpha.ear)。包含两个工件的 alphafirst.jar和alphasecond.jar aplhafirst.jar正在使用spring.jar和alphasecond.jar正在使用spring版本3.0.3,因为我在spring中需要JMS功能 现在,当我部署ear文件时,它抛出以下异常: > beanRefContext.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE bea
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="JmsDcsvcCF" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="targetConnectionFactory" ref="queueConnectionFactory"/>
<property name="username" value="user"/>
<property name="password" value="password"/>
</bean>
<bean id="queueConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="queueManager" value="mqMgr1" />
<property name="hostName" value ="xxxx-yyy-dev.yyy.xxx.com" />
<property name="channel" value ="xxxx.yyyy.zzzz" />
<property name="port" value ="1111" />
<property name="transportType" value ="1"/>
</bean>
<bean id="dealingJobReq" class="com.ibm.mq.jms.MQQueue">
<constructor-arg value="ssss.ssss" />
</bean>
<bean id="jmsTaskMessageListener" class="test.JmsTaskMessageListener"/>
<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="JmsDcsvcCF"/>
<property name="destination" ref="dealingJobReq"/>
<property name="messageListener" ref="jmsTaskMessageListener" />
</bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="managed" class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg>
<list>
<value>classpath*:alphasecond-context-jms.xml</value>
</list>
</constructor-arg>
</bean>
</beans>
classpath*:alphasecond-context-jms.xml
beanRefContext.xml位于alphafirst.jar
中,由springContextLoaderListener
加载
任何提示/解决方案。
提前感谢。您有一个
java.lang.ClassNotFoundException:org.springframework.jms.listener.DefaultMessageListenerContainer
。你确定这个类在类路径上了吗?@DanielBarbarian:class在类路径中的什么地方?@DanielBarbarian:spring-jms-3.0.3.RELEASE.jar在alphasecond.jar的类路径中。底线:它找不到那个类。因此,不同JAR及其依赖项之间存在类加载器问题/冲突。也许你可以从或得到一些想法
public class JmsTaskMessageListener implements MessageListener {
private static final String INVALID_MESSAGE_TYPE_PASSED = "Invalid message type passed to fromMessage ";
private static final Log log = LogFactory
.getLog(JmsTaskMessageListener.class);
public void onMessage(Message message) {
System.out.println(" ~~~~ ~~~ onMessage - Start~~~~~~~~");
MQRequestMessage requestEvent = null;
Date initiatedTime = null;
} catch (JMSException e) {
} catch (Exception e) {
}
log.info("###### onMessage - End here ########");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="managed" class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg>
<list>
<value>classpath*:alphasecond-context-jms.xml</value>
</list>
</constructor-arg>
</bean>
</beans>