Hi Team,
Recently I tried to configure Core Bridge to transfer messages from one local
queue to another queue on other Artemis cluster.
There were problems when creating bridge configuration. Broker did not start
because some options in bridge section were invalid.
For example, I created Artemis instance with default settings and added
following sections to broker.xml:
<connectors>
<connector
name="server1-connector">tcp://server1:61616?minLargeMessageSize=1024000;call-timeout=30000</connector>
<connector
name="server2-connector">tcp://server2:61616?minLargeMessageSize=1024000;call-timeout=30000</connector>
</connectors>
<bridges>
<bridge name="test-bridge">
<queue-name>TEST.Q</queue-name>
<forwarding-address>TEST.Q</forwarding-address>
<user>username</user>
<password>password</password>
<static-connectors>
<connector-ref>server1-connector</connector-ref>
<connector-ref>server2-connector</connector-ref>
</static-connectors>
</bridge>
</bridges>
I also added anycast address TEST.Q with queue TEST.Q.
Server1 and server2 are two servers of the destination cluster, configured in
primary/standby mode.
This was working example. Core bridge successfully started and messages from
local TEST.Q were transferred to remote TEST.Q.
When I tried to add any other options to bridge section, for example - ha,
retry-interval, or other documented options - it caused errors when reloading
configuration or restarting broker.
There are also undocumented parameters which are mentioned in error log
message, for example "reconnect-attempts-same-node". It is documented only in
configuration index
https://activemq.apache.org/components/artemis/documentation/latest/configuration-index.html
(does not exists in
https://activemq.apache.org/components/artemis/documentation/latest/core-bridges.html),
it may be a documentation issue.
Version of Artemis is 2.31.2.
This is an example of exception which happens during configuration reload when
I try to add "ha" parameter:
2024-01-30 16:03:17,730 ERROR
[org.apache.activemq.artemis.core.deployers.impl.FileConfigurationParser]
cvc-complex-type.2.4.a: Invalid content was found starting with element
'{"urn:activemq:core":ha}'. One of
'{"urn:activemq:core":reconnect-attempts-same-node,
"urn:activemq:core":routing-type, "urn:activemq:core":concurrency,
"urn:activemq:core":static-connectors,
"urn:activemq:core":discovery-group-ref}' is expected.
org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was
found starting with element '{"urn:activemq:core":ha}'. One of
'{"urn:activemq:core":reconnect-attempts-same-node,
"urn:activemq:core":routing-type, "urn:activemq:core":concurrency,
"urn:activemq:core":static-connectors,
"urn:activemq:core":discovery-group-ref}' is expected.
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)
~[?:?]
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:135)
~[?:?]
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
~[?:?]
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
~[?:?]
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
~[?:?]
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:511)
~[?:?]
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3587)
~[?:?]
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1971)
~[?:?]
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:829)
~[?:?]
at
com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.beginNode(DOMValidatorHelper.java:276)
~[?:?]
at
com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.validate(DOMValidatorHelper.java:243)
~[?:?]
at
com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.validate(DOMValidatorHelper.java:189)
~[?:?]
at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:108)
~[?:?]
at javax.xml.validation.Validator.validate(Validator.java:124) ~[?:?]
at
org.apache.activemq.artemis.core.deployers.impl.FileConfigurationParser.parseMainConfig(FileConfigurationParser.java:378)
~[artemis-server-2.31.2.jar:2.31.2]
at
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.reloadConfigurationFile(ActiveMQServerImpl.java:4562)
~[artemis-server-2.31.2.jar:2.31.2]
at
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.lambda$initialisePart1$9(ActiveMQServerImpl.java:3343)
~[artemis-server-2.31.2.jar:2.31.2]
at
org.apache.activemq.artemis.core.server.reload.ReloadManagerImpl$ReloadRegistry.check(ReloadManagerImpl.java:127)
~[artemis-server-2.31.2.jar:2.31.2]
at
org.apache.activemq.artemis.core.server.reload.ReloadManagerImpl.tick(ReloadManagerImpl.java:68)
~[artemis-server-2.31.2.jar:2.31.2]
at
org.apache.activemq.artemis.core.server.reload.ReloadManagerImpl.run(ReloadManagerImpl.java:49)
~[artemis-server-2.31.2.jar:2.31.2]
at
org.apache.activemq.artemis.core.server.ActiveMQScheduledComponent.runForExecutor(ActiveMQScheduledComponent.java:314)
~[artemis-commons-2.31.2.jar:2.31.2]
at
org.apache.activemq.artemis.core.server.ActiveMQScheduledComponent.lambda$bookedRunForScheduler$2(ActiveMQScheduledComponent.java:321)
~[artemis-commons-2.31.2.jar:2.31.2]
at
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
~[artemis-commons-2.31.2.jar:2.31.2]
at
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
~[artemis-commons-2.31.2.jar:2.31.2]
at
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
~[artemis-commons-2.31.2.jar:2.31.2]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[?:?]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[?:?]
at
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
[artemis-commons-2.31.2.jar:2.31.2]
If it is a bug, I can create JIRA issue.
--
Best regards,
Aleksandr
-----------------------------------
This message and any attachment are confidential and may be privileged or
otherwise protected from disclosure. If you are not the intended recipient any
use, distribution, copying or disclosure is strictly prohibited. If you have
received this message in error, please notify the sender immediately either by
telephone or by e-mail and delete this message and any attachment from your
system. Correspondence via e-mail is for information purposes only. AO
Raiffeisenbank neither makes nor accepts legally binding statements by e-mail
unless otherwise agreed.
-----------------------------------