自从我使用activeMQ以来已经有好几年了。我现在正在内部和外部实现一个带有客户端应用程序的新activeMQ服务器。
我在本地测试了我的外部客户端应用程序,但是当我部署它时,我开始遇到如下错误:
2014-04-10 08:01:31,392 [signInResultListenerContainer-1] ERROR org.springframework.jms.listener.DefaultMessageListenerContainer - Could not refresh JMS Connection for destination 'queue://signInResult' - retrying in 5000 ms. Cause: Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [tcp]
我检查了服务器上的防火墙,它是敞开的。
<bean id="amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://xxx.30.8.163:61616"/>
</bean>
关于导致错误的原因的任何想法?
答案 0 :(得分:2)
我相信你的类路径中没有必要的资源。看看这个similar issue并检查类路径中的ActiveMQ jar /资源。
答案 1 :(得分:1)
最简单的解决方法是通过在ra config
中将prefill元素设置为true来为ConnectionFactory预填充连接 <connection-definitions>
<connection-definition class-name="org.apache.activemq.ra.ActiveMQManagedConnectionFactory" jndi-name="java:/ConnectionFactory" enabled="true" pool-name="ConnectionFactory">
<xa-pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
<is-same-rm-override>false</is-same-rm-override>
</xa-pool>
</connection-definition>
</connection-definitions>
答案 2 :(得分:0)
我正在使用Spring Boot,这就是为我解决的问题:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency>