ActiveMQ的连接被拒绝

问题描述:

我想在我的应用程序中使用activemq,但不断收到错误,当我尝试连接到本地主机ActiveMQ的连接被拒绝

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),这是一个在windows机器上的.bat文件。当你运行它时,它会启动,并让它在命令提示符下运行。

在家里,我有一个苹果,并使用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] 

谁能帮我拿到这件事情和运行?

+0

恩,它告诉你到底是什么问题。 '用法:'不是一个建议。 'activemq start' –

+1

@BrianRoach我认为OP是从他的mac os机器上演示这个用法,问题出在windows上。 – dan

+0

@dan - 他试图在他的Mac上启动activemq。他并没有这样做,并忽略了告诉他如何的信息。由于他还没有开始,他的应用程序无法连接到它。 –

您的应用程序无法连接到activemq。检查您的activemq是否正在运行并在localhost 61616上侦听。

您可以尝试使用:netstat -a来检查activemq进程是否已启动。或尝试检查是否可以使用管理页面访问actvemq:本地主机:8161 /管理/ 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

+0

对不起,是在屁股皇家疼痛,但我得到没有这样的文件或目录,即使我没有文件是 – Biscuit128

+0

@SkyR刚才我注意到,您的可执行文件在:'bin/macosx/activemq'。我更新了我的答案。 – dan

+0

大声笑谢谢。那是略有不同的。它建议它现在运行,但我仍然得到相同的异常(null):macosx rickilambert $ ./activemq start 正在启动ActiveMQ Broker ... – Biscuit128

我遇到类似的问题时,我用的是以下获得连接工厂 连接工厂厂=新
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");