web-dev-qa-db-ja.com

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]

誰でもこのことを実行するのを手伝ってくれますか?

18
Biscuit128

アプリケーションはactivemqに接続できません。 activemqが実行され、localhost 61616でリッスンしていることを確認します。

次を使用して試すことができます:netstat -a activemqプロセスが開始したかどうかを確認します。または、管理ページlocalhost:8161/admin/queues.jspを使用してactvemqにアクセスできるかどうかを確認してください。

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

14
dan

以下を使用して接続ファクトリーConnectionFactory factory = newを取得しているときに、同様の問題が発生しました
ActiveMQConnectionFactory("admin","admin","tcp://:61616");

以下に変更すると解決しました

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

以下は、Qサイズが増加していることを示しています。http://:8161/admin/queues.jsp

5
Kranthi

私も同様の問題を抱えていました。私の場合、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");
0