2012-02-03 4 views
3

ActiveMQ 내장 브로커, JMS 생성자 및 JMS 수신기가 포함 된 단위 테스트를위한 간단한 Spring 구성이 있습니다. 테스트가 성공적으로 통과되었지만 모든 작업을 종료 할 때 몇 가지 예외가 있습니다.ActiveMQ 내장 브로커가 올바르게 종료되었습니다.

[ WARN] [ActiveMQ Connection Executor: tcp://localhost/127.0.0.1:61616 03:16:23] (SingleConnectionFactory.java:onException:301) Encountered a JMSException - resetting the underlying JMS Connection 
javax.jms.JMSException: java.io.EOFException 

내 구성 :이처럼

<beans> 
    <amq:queue id="defaultDestination" physicalName="example.A"/> 
    <bean id="jmsProducerTemplate" class="org.springframework.jms.core.JmsTemplate"> 
    <property name="connectionFactory" ref="connectionFactory"/> 
    <property name="defaultDestination" ref="defaultDestination"/> 
    </bean> 

    <bean id="jmsMessageSender" class="package.JMSMessageSender"/> 

    <amq:broker id="broker" useJmx="false" persistent="false" destroyApplicationContextOnStop="true" > 
    <amq:transportConnectors> 
     <amq:transportConnector uri="tcp://localhost:61616"/> 
    </amq:transportConnectors> 
    </amq:broker> 

    <bean id="messageListener" class="package.MessageReceiver"/> 

    <bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory" depends-on="broker"> 
    <property name="targetConnectionFactory"> 
     <amq:connectionFactory brokerURL="tcp://localhost:61616"/> 
    </property> 
    </bean> 

    <jms:listener-container connection-factory="connectionFactory" container-type="default"> 
    <jms:listener destination="example.A" ref="messageListener"/> 
    </jms:listener-container> 
</beans> 

은 그 브로커가 종료 된 후 연결 팩토리는 연결이 끊어 가정. 그러나 depends-on은 도움을받지 못했습니다. 도움 주셔서 감사합니다.

답변

2

광고 내가 알 수있는 한, 이러한 예외가 없으면 삽입 된 AMQ를 종료 할 수있는 방법이 없습니다. AMQ 코드는 EOF를 비교적 무해한 이벤트로 취급하지만 예외를 기록합니다. Apache ActiveMQ 프로젝트에서 JIRA를 열어 볼 수 있습니다.

관련 문제