アプリケーションで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]
誰でもこのことを実行するのを手伝ってくれますか?
アプリケーションは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
以下を使用して接続ファクトリーConnectionFactory factory = newを取得しているときに、同様の問題が発生しましたActiveMQConnectionFactory("admin","admin","tcp://:61616");
以下に変更すると解決しました
ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://:61616");
以下は、Qサイズが増加していることを示しています。http://:8161/admin/queues.jsp
私も同様の問題を抱えていました。私の場合、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");