java - ActiveMQ 连接被拒绝

标签 java 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

有一个应该运行的文件来启动它( Activity mq),这是 Windows 机器上的 .bat 文件。当您运行它时,它就会启动,您可以让它在命令提示符下继续运行。

在家里,我有一台 mac,使用 ma​​c 等价物,终端只打印:

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 是否正在运行并在本地主机 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

关于java - ActiveMQ 连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13128794/

相关文章:

java - Spring BeanPostProcessor 被调用了 3 次

java.sql.sql异常: no suitable driver for (database link)

java - 将我的对象返回到 HashSet 中

java - Apache Camel 到底是如何处理 JMSReplyTo 的? Camel 什么时候隐式使用目的地?

java - JMS 2.0 规范 - JMS 提供者如何检测 JMS 客户端对 Message 对象的更改?

java - ActiveMQ Broker 只能在本地主机上连接

java - Java 应用程序的入口点 : main(), init() 还是 run()?

java - 来自 java 的 Docker 统计信息

java - Spring Integration JMS 创建 ActiveMQ 队列而不是主题

java - 客户端确认收到生产者消息