В настоящее время я использую activemq failover uir для переподключения клиента к брокеру, и я также не хочу, чтобы операция «send» блокировалась при его отключении, поэтому я использую URI, например failover:(tcp://192.168.193.177:61616)?timeout=1
, но проблема заключается в том, чтоЯ не могу установить соединение в первый раз, время соединения истекает, а переподключение не работает, исключение, которое я получил:
7 декабря 2011 15:39:28 org.apache.activemq.transport.failover.FailoverTransport односторонняя ИНФОРМАЦИЯ: Тайм-аут аварийного переключения истек после 2 мс. 7 декабря 2011 г. 15:39:28 org.apache.activemq.transport.failover.FailoverTransport doReconnect INFO: Успешно подключено к tcp: //127.0.0.1: 61616 Исключение в потоке "pool-1-thread-2" java.lang.NullPointerException на com.cicc.mdf.dataserver.messaging.JMSMessagePublisher.publish (JMSMessagePublisher.java:197) на com.cicc.mdf.dataserver.messaging.JMSMessagePublisher.publishRealTimeData (JMSMessagePublisher.java:270) в com.cicc.mdf.dataserver.service.MarketDataService.process (MarketDataService.java:984) в com.cicc.mdf.message.parser.BroadcastMessageParser.parseElement (BroadcastMessageParser.java:219) по адресу com.cicc.mdf.connectivity.RawDataParser.slice (RawDataParser.java:433) по адресу com.cicc.mdf.connectivity.RunDRawDataParser.java:110) на java.util.concurrent.ThreadPoolExecutor $ Worker.runTask (ThreadPoolExecutor.java:886) на java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java5: 1005)
Я думал, что параметр тайм-аута работает только на операции отправки, не мешая повторному подключению, но при первом подключении?
РЕДАКТИРОВАТЬ: если клиент java впервые подключился к брокеру, то если подключение было разорвано, операция отправки будет тайм-аут, когда соединение не будет установлено, и Java-клиент переподключится к брокеру, что я и ожидал.в то время как java-клиент не может успешно подключиться к брокеру в первый раз, время соединения истекает, не пытаясь переподключиться до тех пор, пока не произойдет что-то неожиданное, я ошибаюсь?
РЕДАКТИРОВАТЬ: Activemq версия: 5.3.0
РЕДАКТИРОВАТЬ: Извините, URI действителен, это моя ошибка, меня смутило еще одно исключение
Есть идеи?
Спасибо
ps: я впервые на Stackoverflow, любой нетрадиционный бехальве, пожалуйста, исправьте его