Weblogic 11g의 외부 JMS 토픽에서 메시지를 읽도록 Tomcat7에 애플리케이션을 배치했습니다. 이것은 내 봄 응용 프로그램 컨텍스트 xml입니다. 내 클래스 패스에 wlthint3client.jar을 포함 시켰습니다. 난 JMS 리스너로 MessageListenerAdapter를 사용한 이것으로Foriegn Weblogic JMS 토픽을 읽으려고 할 때 Spring MessageListener가 Tomcat Server에서 호출되지 않음
-
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" \t xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \t xmlns:context="http://www.springframework.org/schema/context" \t xmlns:c="http://www.springframework.org/schema/c" \t xmlns:p="http://www.springframework.org/schema/p" \t xmlns:jms="http://www.springframework.org/schema/jms" \t xmlns:tx="http://www.springframework.org/schema/tx" \t xsi:schemaLocation="http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-4.0.xsd \t \t http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd \t \t http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd \t \t http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> \t <!-- Uncomment and add your base-package here: <context:component-scan base-package="org.springframework.samples.service"/> --> \t <tx:jta-transaction-manager/> \t <bean id="jmsTransactionManager" class="org.springframework.jms.connection.JmsTransactionManager" p:connectionFactory-ref="clarifyconnectionFactory"/> \t <bean id="clarifyTopic" class="org.springframework.jndi.JndiObjectFactoryBean" \t \t p:jndiName="jms/ATomcatClarifyTopic" \t \t p:proxyInterface="javax.jms.Destination" \t \t p:jndiTemplate-ref="jndiTemplate"/> \t <bean id="messageAdapter" class="org.springframework.jms.listener.adapter.MessageListenerAdapter" p:defaultListenerMethod="receive"> \t <constructor-arg> \t \t <bean class="com.jnpr.clarify.jms.DefaultTextMessageDelegate"/> \t </constructor-arg> \t </bean> \t \t <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate"> \t \t <property name="environment"> \t \t \t <props> \t \t \t \t <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop> \t \t \t \t <prop key="java.naming.provider.url">t3://weblogichost:8001</prop> \t \t \t </props> \t \t </property> \t </bean> \t <!-- Lookup JMS Connection Factory --> \t <bean id="clarifyconnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean" \t \t p:jndiName="jms/TestTopicConnectionFactory" p:proxyInterface="javax.jms.TopicConnectionFactory" \t \t p:jndiTemplate-ref="jndiTemplate" \t \t p:exposeAccessContext="true"/> \t <!-- Configuring JMS Template --> \t <bean id='jmsTemplate' class="org.springframework.jms.core.JmsTemplate" \t \t c:_0-ref="clarifyconnectionFactory" /> \t <!-- Configuring Topic Listener --> \t <bean id="topicListener" class="com.jnpr.clarify.jms.TopicListener" /> \t <!-- Configuring MessageListenerContainer --> \t <bean id="JMSMessageListenerContainer" \t \t class="org.springframework.jms.listener.DefaultMessageListenerContainer" \t \t p:destination-ref="clarifyTopic" p:connectionFactory-ref="clarifyconnectionFactory" \t \t p:messageListener-ref="messageAdapter" p:transactionManager-ref="jmsTransactionManager" \t \t p:durableSubscriptionName="TomcatClarify"/> </beans>
- 내 코드에서 트랜잭션 관리를 사용하고 있지 않지만 문제가 해결되었는지 확인하기 위해 트랜잭션 관리자를 구성했습니다.
Tomcat 서버 로그에서 예외가 발생합니다.
경고 : 대상 'JUN_JMS_SOA_Module! ATomcatClarifyTopic'- 복구를 위해 JMS 메시지 수신기 호출자를 설정하지 못했습니다. 원인 : [JMSClientExceptions : 055142] 외국인 대상 JMS_SOA_Module TomcatClarifyTopic 2015년 1월 1일 오후 7시 9분 13초 org.springframework.jms.listener.DefaultMessageListenerContainer refreshConnectionUntilSuccessful 정보 :! 성공적으로 새로 JMS 연결
도와주세요 뭔가 잘못하고있다면.