Problem
Error in the logs: eu.domibus.jms.spi.InternalJMSException: Error getting destinations.
Exception with the retry mechanism of message delivery using Domibus.
Steps to reproduce the problem:
- Send a message from C1 to C4 but let it fail, in my specific case this started happening when a running C3 was turned off
- After the initial failure the following retries all fail with the exception listed below
The Domibus configuration section regarding ActiveMQ settings:
# ---------------------------------- ActiveMQ ----------------------------------
#The host of the JMS broker
activeMQ.broker.host=localhost
#The name of the JMS broker
activeMQ.brokerName=localhost
#The configuration file of the embedded ActiveMQ broker. IN case an external broker is used this property is not needed and it should be removed
#activeMQ.embedded.configurationFile=file:///${domibus.config.location}/internal/activemq.xml
#The service URL of the MBeanServer
activeMQ.JMXURL=service:jmx:rmi://${activeMQ.broker.host}:${activeMQ.rmiServerPort}/jndi/rmi://${activeMQ.broker.host}:${activeMQ.connectorPort}/jmxrmi
#The port that the JMX connector will use for connecting to ActiveMQ
activeMQ.connectorPort=1299
#The RMI server port
activeMQ.rmiServerPort=1300
#The connection URI that the clients can use to connect to an ActiveMQ broker using a TCP socket
activeMQ.transportConnector.uri=tcp://${activeMQ.broker.host}:61616
#The username that is allowed to connect to the ActiveMQ broker
activeMQ.username=domibus
#THe password of the username defined in the activeMQ.username property
activeMQ.password=changeit
The stacktrace:
2019-02-05 13:29:30,936 [] [default] [] ERROR e.d.e.s.SendRetryWorker:41 - Error while enqueing messages.
eu.domibus.jms.spi.InternalJMSException: Error getting destinations
Caused by: org.springframework.jmx.access.InvalidInvocationException: org.apache.activemq:type=Broker,brokerName=localhost
2019-02-05 13:29:35,022 [] [default] [] ERROR e.d.e.s.SendRetryWorker:41 - Error while enqueing messages.
eu.domibus.jms.spi.InternalJMSException: Could not find destination for [domibus.internal.dispatch.queue]
Solution
Please apply the following changes and perform another test.
1. Change in domibus.properties
activeMQ.brokerName=domibus
2. In the external activemq.xml file change the following:
<broker useJmx="true" brokerName="domibus"