2016-09-23 11 views
0

ActiveMQからメッセージを消費するJavaアプリケーションがあります。私は組み込みActiveMQ(バージョン:5.10.0)を使用するJUnitテストケースを持っています。テストケースは正常に実行されますが、実行後にこのエラーがスローされます。私は最新のバージョン(5.14.0)で試して、エラーがスローされます。しかし、5.8.0ではエラーはありません。私はrelated thread ActiveMQバージョン5.6.0の同じ問題を説明しますが、解決策を見ることができませんでした。あなたの入力を感謝します。組み込みActiveMQスローを使用したJUnitテストjavax.jms.JMSException:ピア停止

@Bean 
public ConnectionFactory jmsConnectionFactory() { 
    ActiveMQConnectionFactory amqConnectionFactory = new ActiveMQConnectionFactory("vm://my-amq-host"); 
    CachingConnectionFactory cachingConnectionFactory = new CachingConnectionFactory(amqConnectionFactory); 
    cachingConnectionFactory.setCacheConsumers(false); 
    return cachingConnectionFactory; 
} 

2016年9月23日13:53:37083 WARN [org.springframework.jms.connection.CachingConnectionFactory] ​​[ActiveMQの接続キュータ:VM://私の-AMQ-ホスト#0 ] [301] JMSExceptionが発生しました - 基盤となるJMS接続をリセットします javax.jms.JMSException:peer(vm:// my-amq-host#1)が停止しました。 org.apache.activemq.ActiveMQConnection.onExceptionでorg.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1998) でorg.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54) (AT (ResponseCorrelator.java:126) での のorg.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101) at org.apache.activemq.transport.ResponseCorrelator.onException apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101) at org.apache.activemq.transport.vm.VMTransport.stop(VMTransport.java:206) at org.apache.activemq.transport.TransportFilter。 stop(TransportFilter.java:65) at org.apache.activemq.tr (TransportFilter.java:65) at org.apache.activemq.transport.ResponseCorrelator.stop(ResponseCorrelator.java:132) at org.apache.activemq.broker.TransportConnection.doStop(TransportConnection.java: 1102) at org.apache.activemq.broker.TransportConnection $ 4.run(TransportConnection.java:1068) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 原因:org.apache.activemq.transport.TransportDisposedIOException:peer(vm:// my-amq -host#1)が停止しました。 ... 9もっと

答えて

0

私の推測では、テストコードは何も実行されていない場合で-VMブローカーを作成するVMトランスポートへの接続を作成する接続ファクトリがあるような方法で実行されていることだろうVMブローカが完全にクリーンアップされて停止する前に、実際にVMブローカのインスタンスを取得します。テストコードを完全に見ることなく、確かに言うことは難しいです。

テストでは、自分で制御できるBrokerServiceを作成し、ファクトリでVM転送を使用してcreate=false URIオプションを指定することをお勧めします。

関連する問題