Java 无法识别传输方案:[tcp]

Java 无法识别传输方案:[tcp],java,spring,activemq,Java,Spring,Activemq,我已经好几年没有和activeMQ合作了。我现在正在实现一个新的activeMQ服务器,其内部和外部都有客户端应用程序 我在本地测试了我的外部客户端应用程序,但当我部署它时,我开始出现如下错误: 2014-04-10 08:01:31,392 [signInResultListenerContainer-1] ERROR org.springframework.jms.listener.DefaultMessageListenerContainer - Could not refresh JMS

我已经好几年没有和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>


关于导致错误的原因有什么想法吗?

我相信您的类路径中没有必要的资源。看看这个,并从类路径检查ActiveMQ JAR/资源。

最简单的解决方法是通过在ra配置中将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>

1.
20
真的
假的

我正在使用Spring Boot,这就是我解决问题的原因:


org.springframework.boot
springbootstarteractivemq

我带来了activemq所有jar文件。这是一个独立的jar,所以我只是把所有的类都带过来。你知道我可能缺少什么类名吗?OIC,META-INF/services之类的东西。我只是简单地将META-INF下的所有内容复制到我的jar中,它似乎正在工作。感谢您的帮助。这不是一个类,而是定义tcp传输实现的activemq all.jar\META-INF\services\org\apache\activemq\transport\tcp下的一个文件。
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-activemq</artifactId>
    </dependency>