Соединение ActiveMQ отклонено

Я пытаюсь использовать activemq в своем приложении, но постоянно получаю сообщение об ошибке, когда пытаюсь подключиться к 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

Существует файл, который нужно запустить, чтобы запустить его (активный mq), и это файл .bat на компьютерах с Windows. Когда вы запускаете его, он запускается, и вы оставляете его работающим в командной строке.

Дома у меня есть Mac, и с помощью эквивалента Mac терминал просто печатает:

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]

Может ли кто-нибудь помочь мне запустить эту штуку?


person Biscuit128    schedule 29.10.2012    source источник
comment
Хм, это точно говорит вам, в чем проблема. Usage: не является предложением. activemq start   -  person Brian Roach    schedule 30.10.2012
comment
@BrianRoach Я думаю, что ОП представляет использование своей машины с Mac OS, проблема в Windows.   -  person dan    schedule 30.10.2012
comment
@dan - он пытается запустить activemq на своем Mac. Он этого не делает и игнорирует сообщение, которое говорит ему, как это сделать. И так как он его не запустил, его приложение не может к нему подключиться.   -  person Brian Roach    schedule 30.10.2012
comment
Я новый пользователь Mac, и мне гораздо удобнее работать с Windows, поэтому я не уверен, как именно его следует запускать.   -  person Biscuit128    schedule 30.10.2012
comment
@SkyR - прочитайте мой первый комментарий. И сообщение Usage:, которое вы получили, когда не дали ему выбора. Вы должны передать ему start.   -  person Brian Roach    schedule 30.10.2012
comment
Хорошо, вместо того, чтобы дважды щелкнуть файл, мне нужно запустить его из командной строки. хорошо, позвольте мне попробовать это   -  person Biscuit128    schedule 30.10.2012
comment
Хех ... вы не упомянули о двойном щелчке. Теперь имеет больше смысла.   -  person Brian Roach    schedule 30.10.2012


Ответы (3)


Ваше приложение не может подключиться к activemq. Убедитесь, что ваш activemq работает и прослушивает локальный хост 61616.

Вы можете попробовать использовать: netstat -a, чтобы проверить, запущен ли процесс activemq. Или попробуйте проверить, можете ли вы получить доступ к своему actvemq, используя страницу администратора: localhost:8161/admin/queues.jsp

На Mac вы запустите свой activemq, используя:

$ACTMQ_HOME/bin/activemq start 

Или, если ваш файл конфигурации (activemq.xml), если он находится в другом месте, вы можете использовать:

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

В вашем случае исполняемый файл находится под: bin/macosx/activemq, поэтому вам нужно использовать: $ACTMQ_HOME/bin/macosx/activemq start

person dan    schedule 29.10.2012
comment
извините за королевскую занозу в заднице, но я не получаю такого файла или каталога, хотя у меня нет файла - person Biscuit128; 30.10.2012
comment
@SkyR Только что я заметил, что ваш исполняемый файл находится под: bin/macosx/activemq. Я обновил свой ответ. - person dan; 30.10.2012
comment
лол спасибо. это имело небольшое значение. он предлагает запустить его сейчас, но я все равно получаю то же исключение (null): macosx rickilambert$ ./activemq start Запуск брокера ActiveMQ... - person Biscuit128; 30.10.2012
comment
@SkyR вы можете проверить в журналах, запущен ли сервер. Также вы можете проверить, запущен ли сервер, используя URL-адрес, который я указал в своем ответе. Обычно для запуска требуется секунда или две после подачи команды запуска. - person dan; 30.10.2012

Я столкнулся с аналогичной проблемой, когда использовал приведенное ниже для получения фабрики соединений ConnectionFactory factory = new
ActiveMQConnectionFactory("admin","admin","tcp://:61616");

Это решено, когда я изменил его на ниже

ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://:61616");

Затем ниже показано, что мой размер Q увеличивается.. http://:8161/admin/queues.jsp

person Kranthi    schedule 30.11.2014

У меня тоже была похожая проблема. В моем случае BrokerUrl не был настроен должным образом. Таким образом, я получил следующую ошибку:

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

И я решил это следующим образом.

   ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();

  connectionFactory.setBrokerURL("tcp://hostname:61616");
  connectionFactory.setUserName("admin");
  connectionFactory.setPassword("admin");
person Narayan Yerrabachu    schedule 27.11.2017
comment
Я не понимаю, как это работает. В справочной документации говорится следующее: если брокер присутствует, автоматически запускается и настраивается встроенный брокер (при условии, что URL-адрес брокера не указан в конфигурации). Но вы указали URL-адрес брокера, поэтому это будет означать, что Spring Boot не запустит встроенный брокер. Вы используете встроенного брокера? - person MiguelMunoz; 15.09.2018
comment
прочитайте этот документ: docs.spring. io/spring-boot/docs/current/reference/html/ - person Narayan Yerrabachu; 16.09.2018
comment
В моем случае я хочу запустить свой созданный экземпляр. Вот почему я предоставил URL. spring.activemq.broker-url не указан, тогда весенняя загрузка создает экземпляр по умолчанию. - person Narayan Yerrabachu; 16.09.2018
comment
Проверьте 1) Activemq запущен или нет с помощью следующей команды: netstat -a - person Narayan Yerrabachu; 16.09.2018