2012-10-29 14 views
13

Próbuję użyć activemq w mojej aplikacji, ale wciąż otrzymuję błąd podczas próby i połączyć się localhost:ActiveMQ odmówił

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 

Jest to plik, który należy uruchomić, aby uruchomić go w górę (active mq) i jest to plik .bat na komputerach z systemem Windows. Po uruchomieniu uruchamia się i pozostawia się uruchomionym w wierszu polecenia.

W domu mam mac i używając mac równoważne terminal drukuje tylko:

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] 

Czy ktoś może mi pomóc dostać tę rzecz i działa?

+0

Um, mówi ci dokładnie, na czym polega problem. 'Użycie:' nie jest sugestią. 'activemq start' –

+1

@BrianRoach Myślę, że OP przedstawia użycie z jego komputera Mac OS, problem jest w systemie Windows. – dan

+0

@dan - Próbuje uruchomić activemq na swoim macu. Nie robi tego i ignoruje wiadomość, która mówi mu, jak. A ponieważ nie rozpoczął tego, jego aplikacja nie może się z nim połączyć. –

Odpowiedz

11

Twoja aplikacja nie może połączyć się z activemq. Sprawdź, czy aktywny activeqq działa i nasłuchuje na localhost 61616.

Możesz spróbować użyć: netstat -a, aby sprawdzić, czy proces activemq się rozpoczął. Albo spróbować sprawdzić, czy można uzyskać dostęp do actvemq użyciu strony administracyjnej: localhost: 8161/admin/queues.jsp

na Mac można rozpocząć przy użyciu ActiveMQ:

$ACTMQ_HOME/bin/activemq start 

lub jeśli plik konfiguracyjny (ActiveMQ. xml), jeżeli znajduje się w innym miejscu można użyć:

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

w Twoim przypadku wykonywalny jest pod: bin/macosx/activemq więc trzeba użyć: $ACTMQ_HOME/bin/macosx/activemq start

+0

Przykro mi być królewskim bólem w tyłku, ale dostaję Brak takiego pliku lub katalogu, mimo że nie ma tam pliku – Biscuit128

+0

@SkyR Właśnie zauważyłem, że twój plik wykonywalny jest pod: 'bin/macosx/activemq'. Zaktualizowałem swoją odpowiedź. – dan

+0

lol dzięki. to zrobiło niewielką różnicę. sugeruje, że działa teraz, ale wciąż mam ten sam wyjątek (zero): macosx rickilambert $ ./activemq start Uruchamianie ActiveMQ Broker ... – Biscuit128

5

I napotkał podobny problem, kiedy używałem poniżej, aby uzyskać fabryki połączeń ConnectionFactory fabrykę = new
ActiveMQConnectionFactory("admin","admin","tcp://:61616");

Jej rozwiązane, kiedy zmienił go do poniżej

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

Poniższa następnie pokazał że mój rozmiar Q wzrastał ... http://:8161/admin/queues.jsp

0

Miałem również podobny problem. W moim przypadku brokerUrl nie został poprawnie skonfigurowany. Więc to sposób otrzymałem następujący błąd:

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 

& postanowiłem go po drodze.

ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(); 

    connectionFactory.setBrokerURL("tcp://hostname:61616"); 
    connectionFactory.setUserName("admin"); 
    connectionFactory.setPassword("admin"); 
Powiązane problemy