Descobri que o problema é o valor da propriedade bind
no replicatedLevelDB
bean.
O valor deve ser: tcp://0.0.0.0:0
( porta 0 )
E não: tcp://0.0.0.0
( sem porta definida )
Eu tenho 3 máquinas replicadas com o Zookeeper e o ActiveMQ (linux).
Posso confirmar que o zookeeper funciona corretamente, pois posso ver as portas deles (2888 e 3888) ouvindo netstat
. O problema é confirmado no lado do ActiveMQ.
Nas máquinas escravas, tudo parece funcionar bem, já que o ActiveMQ não está registrando nenhum erro ou aviso. Mas na máquina mestre, o log é diferente por causa de um% stack_trace de stack.
Esta é a mensagem de erro de activemq.log :
ERROR | Error in thread 'ActiveMQ BrokerService[broker] Task-1'
java.lang.IllegalArgumentException: port out of range:-1
at java.net.InetSocketAddress.checkPort(InetSocketAddress.java:143)[:1.7.0_111]
at java.net.InetSocketAddress.<init>(InetSocketAddress.java:185)[:1.7.0_111]
at org.fusesource.hawtdispatch.transport.TcpTransportServer.<init>(TcpTransportServer.java:52)[hawtdispatch-transport-1.22.jar:1.22]
at org.apache.activemq.leveldb.replicated.MasterLevelDBStore.start_protocol_server(MasterLevelDBStore.scala:134)[activemq-leveldb-store-5.13.4.jar:5.13.4]
at org.apache.activemq.leveldb.replicated.MasterLevelDBStore.doStart(MasterLevelDBStore.scala:111)[activemq-leveldb-store-5.13.4.jar:5.13.4]
at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55)[activemq-client-5.13.4.jar:5.13.4]
at org.apache.activemq.leveldb.replicated.ElectingLevelDBStore$$anonfun$start_master$1.apply$mcV$sp(ElectingLevelDBStore.scala:230)[activemq-leveldb-store-5.13.4.jar:5.13.4]
at org.fusesource.hawtdispatch.package$$anon$4.run(hawtdispatch.scala:330)[hawtdispatch-scala-2.11-1.22.jar:1.22]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_111]
at java.lang.Thread.run(Thread.java:745)[:1.7.0_111]
Alguém pode explicar por que estou recebendo este erro e como corrigi-lo?
Informações Adicionais: Meu zookeeper e configurações de ativação link (as partes omitidas são praticamente deixadas como padrão)
Descobri que o problema é o valor da propriedade bind
no replicatedLevelDB
bean.
O valor deve ser: tcp://0.0.0.0:0
( porta 0 )
E não: tcp://0.0.0.0
( sem porta definida )