2015-08-06 18 views
9

sto ottenendo questo errore quando si cerca di creare un broker ActiveMQ con la BrokerFactory:ActiveMQ Broker fabbrica Impossibile trovare la classe factory per il failover

java.io.IOException: Could not load failover factory:java.io.IOException: Could not find factory class for resource: META-INF/services/org/apache/activemq/broker/failover 
    at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27) 
    at org.apache.activemq.broker.BrokerFactory.createBrokerFactoryHandler(BrokerFactory.java:43) 
    at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:70) 
    at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54) 
    at ... 
Caused by: java.io.IOException: Could not find factory class for resource: META-INF/services/org/apache/activemq/broker/failover 
    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.broker.BrokerFactory.createBrokerFactoryHandler(BrokerFactory.java:41) 
    ... 5 more 

Sembra errore o qualcosa di simile pathing, ho dato appena cant fuori la causa principale.

Questo è il codice inducendolo:

URI brokerUri = new URI(bean.getBrokerConfigUrl()); 
broker = BrokerFactory.createBroker(brokerUri); 

Qui è l'URL che chiamo:

failover:(tcp://internalUrl.net:port#,tcp://internalUrl.net:port#)?randomize=false&timeout=30000&jms.redeliveryPolicy.maximumRedeliveries=-1&jms.prefetchPolicy.all=0 

Quindi questo è probabilmente un errore di pathing? Non includo un barattolo richiesto? L'url non è formattato correttamente? Sono perso qui.

Edit: Aggiunto di taglie

+0

Come sono in esecuzione questo codice? Da Java standalone o in qualche contenitore o cosa? Scrivi sempre anche le versioni del software che usi, poiché è importante sapere per poter essere di aiuto. –

+0

Siamo spiacenti! Ottengo questo errore sia quando viene eseguito in eclissi sia come jar (generato da Maven in Eclipse). Utilizzo di activemq 5.8. – Tim

+0

Quindi l'eclissi che genera un barattolo è il problema. Il JAR deve includere alcuni meta file che contengono i jar ActiveMQ rilasciati. –

risposta