我也遇到过这个问题,原因是ActiveMQ 在Topic模式下好像不支持org.springframework.jms.connection.CachingConnectionFactory
<!-- ActiveMQ 连接工厂+Spring连接池 --> 这种方式有问题
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="${mq.url}" />
</bean>
<bean id="cachingConnectionFactory1" class="org.springframework.jms.connection.CachingConnectionFactory">
<property name="targetConnectionFactory" ref="connectionFactory" />
<property name="sessionCacheSize" value="1" />
</bean>
换成直接连接ActiveMQConnectionFactory就可以
<!-- ActiveMQ 连接工厂 --> 该方法可以
<bean id="cachingConnectionFactory2" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="${mq.url}" />
<property name="useAsyncSend" value="true" />
<property name="clientID" value="providerClienctConnect" />
</bean>
<!-- ActiveMQ 连接工厂+Spring连接池 --> 这种方式有问题
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="${mq.url}" />
</bean>
<bean id="cachingConnectionFactory1" class="org.springframework.jms.connection.CachingConnectionFactory">
<property name="targetConnectionFactory" ref="connectionFactory" />
<property name="sessionCacheSize" value="1" />
</bean>
换成直接连接ActiveMQConnectionFactory就可以
<!-- ActiveMQ 连接工厂 --> 该方法可以
<bean id="cachingConnectionFactory2" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="${mq.url}" />
<property name="useAsyncSend" value="true" />
<property name="clientID" value="providerClienctConnect" />
</bean>