web-dev-qa-db-fra.com

Connexion ActiveMQ refusée

J'essaie d'utiliser activemq dans mon application, mais j'obtiens une erreur en essayant de me connecter à localhost :

log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.Apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is javax.jms.JMSException: Could not connect to broker URL: tcp://localhost:61616. Reason: Java.net.ConnectException: Connection refused
    at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.Java:316)
    at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.Java:168)
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.Java:469)
    at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.Java:534)
    at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.Java:526)
    at sender.MessageSender.sendMessage(MessageSender.Java:16)
    at sender.SenderMain.main(SenderMain.Java:13)
Caused by: javax.jms.JMSException: Could not connect to broker URL: tcp://localhost:61616. Reason: Java.net.ConnectException: Connection refused
    at org.Apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.Java:35)
    at org.Apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.Java:293)
    at org.Apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.Java:238)
    at org.Apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.Java:184)
    at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.Java:184)
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.Java:456)
    ... 4 more
Caused by: Java.net.ConnectException: Connection refused
    at Java.net.PlainSocketImpl.socketConnect(Native Method)
    at Java.net.PlainSocketImpl.doConnect(PlainSocketImpl.Java:351)
    at Java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.Java:213)
    at Java.net.PlainSocketImpl.connect(PlainSocketImpl.Java:200)
    at Java.net.SocksSocketImpl.connect(SocksSocketImpl.Java:432)
    at Java.net.Socket.connect(Socket.Java:529)
    at org.Apache.activemq.transport.tcp.TcpTransport.connect(TcpTransport.Java:504)
    at org.Apache.activemq.transport.tcp.TcpTransport.doStart(TcpTransport.Java:467)
    at org.Apache.activemq.util.ServiceSupport.start(ServiceSupport.Java:55)
    at org.Apache.activemq.transport.AbstractInactivityMonitor.start(AbstractInactivityMonitor.Java:132)
    at org.Apache.activemq.transport.TransportFilter.start(TransportFilter.Java:58)
    at org.Apache.activemq.transport.WireFormatNegotiator.start(WireFormatNegotiator.Java:72)
    at org.Apache.activemq.transport.TransportFilter.start(TransportFilter.Java:58)
    at org.Apache.activemq.transport.TransportFilter.start(TransportFilter.Java:58)
    at org.Apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.Java:273)
    ... 8 more

Un fichier doit être exécuté pour le démarrer (mq actif) et il s’agit d’un fichier .bat sur les ordinateurs Windows. Lorsque vous l'exécutez, il démarre et vous le laissez s'exécuter dans la commande Invite.

À la maison, j'ai un mac et en utilisant l'équivalent mac le terminal imprime simplement:

Last login: Mon Oct 29 19:57:15 on ttys000
(null):~ rickilambert$ /Users/rickilambert/Downloads/Apache-activemq-5.7.0/bin/macosx/activemq ; exit;
Usage: /Users/rickilambert/Downloads/Apache-activemq-5.7.0/bin/macosx/activemq { console | start | stop | restart | status | dump }
logout

[Process completed]

Quelqu'un peut-il m'aider s'il vous plaît à mettre ce système en marche?

14
Biscuit128

Votre application ne peut pas se connecter à activemq. Vérifiez que votre activemq est en cours d'exécution et à l'écoute sur localhost 61616. 

Vous pouvez essayer d'utiliser: netstat -a pour vérifier si le processus activemq a démarré. Ou essayez de vérifier si vous pouvez accéder à votre actvemq en utilisant la page admin: localhost: 8161/admin/queues.jsp

Sur mac, vous commencerez votre activemq en utilisant: 

$ACTMQ_HOME/bin/activemq start 

Ou si votre fichier de configuration (activemq.xml) se trouve ailleurs, vous pouvez utiliser:

$ACTMQ_HOME/bin/activemq start xbean:file:${location_of_your_config_file}

Dans votre cas, l'exécutable est sous: bin/macosx/activemq, vous devez donc utiliser: $ACTMQ_HOME/bin/macosx/activemq start

12
dan

J'ai eu aussi un problème similaire. Dans mon cas, brokerUrl n'a pas été configuré correctement. C'est comme ça que j'ai reçu l'erreur suivante:

Cause: Error While attempting to add new Connection to the pool: nested exception is javax.jms.JMSException: Could not connect to broker URL : tcp://localhost:61616. Reason: Java.net.ConnectException: Connection refused

& J'ai résolu le problème de la manière suivante.

   ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();

  connectionFactory.setBrokerURL("tcp://hostname:61616");
  connectionFactory.setUserName("admin");
  connectionFactory.setPassword("admin");
0
Narayan Yerrabachu