2015-06-08 35 views
1

从我们的应用程序中,我们尝试连接到托管在不同服务器上的ActiveMQ服务。我们之前可以连接到它,但最近我们开始面临以下错误?这个错误有什么可能的原因&如何解决?为什么客户端抛出java.io.IOException:传输方案无法识别:连接到ActiveMQ时出现[failovertcp]错误?

ERROR 2015-06-08 05:00:27.986 0x0 ' message=Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [failovertcp], class.method=MessageService.connect ' MSSL_Integration_Producer_Thread 
javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [failovertcp] 
     at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35) 
     at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:245) 
     at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:258) 
     at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:230) 
     at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:178) 
     at org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:125) 
     at org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:110) 
     at org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:81) 
     at com.test.common.messagequeue.impl.JMSConnectionFactory.createConnection(JMSConnectionFactory.java:153) 
     at com.test.common.messagequeue.impl.MessageService.connect(MessageService.java:55) 
     at com.test.common.queue.MessageQueuer.connecMessageService(MessageQueuer.java:191) 
     at com.test.common.queue.MessageQueuer.connecMessageService(MessageQueuer.java:183) 
     at com.test.common.queue.MessageQueuer.queueMessage(MessageQueuer.java:173) 
     at com.test.common.queue.MessageQueuer.queueMessage(MessageQueuer.java:166) 
     at com.test.TestIntegration.queueTickets(TestIntegration.java:370) 
     at com.test.testIntegration.TestIntegration.performJob(TestIntegrationJob.java:54) 
     at com.test.common.scheduler.AbstractJob.execute(AbstractJob.java:188) 
     at org.quartz.core.JobRunShell.run(JobRunShell.java:216) 
     at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549) 
Caused by: java.io.IOException: Transport scheme NOT recognized: [failovertcp] 
     at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27) 
     at org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:204) 
     at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:79) 
     at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:243) 
     ... 17 more 
Caused by: java.io.IOException: Could not find factory class for resource: META-INF/services/org/apache/activemq/transport/failovertcp 
     at org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.loadProperties(FactoryFinder.java:96) 
     at org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.create(FactoryFinder.java:58) 
     at org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:146) 
     at org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:201) 
     ... 19 more 
+0

请添加更多的(适用)标签! – jcoppens

回答

1

因为'failovertcp'不是有效的传输类型。你应该参考ActiveMQ的Failover Transport页面进行一些教育。

故障转移URI形式如下:

failover:(tcp://primary:61616,tcp://secondary:61616)?randomize=false 
+0

谢谢Tim ... URL中提到的传输类型是错误的。它纠正了URL后工作。 – user2553467

相关问题