-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
-
---
-
---
I'm migrating an application that was running on GlassFish 4 with Java 8 and OpenMQ messaging to Java 17 with WildFly and remote Artemis.
The message balancing only works correctly when Artemis is started after WildFly; otherwise, messages are consumed from only one server in WildFly.
I have configured a single server group with two linked servers, both sharing the same profile inherited from the full configuration. I'm not using a cluster.
The Connection Factories are created under profile=xxx/subsystem=messaging-activemq/server=default/connection-factory, and destinations like jms-queue --profile=xxx add --queue-xxx.
I created a remote connector pointing to the Artemis address and a pooled connection factory pointing to this remote connector. The connection factory is also linked to the Artemis remote connector.
/subsystem=messaging-activemq/pooled-connection-factory=remote-artemis:add(connectors=[remote-artemis], entries=[java:/jms/remoteCF])
In my MDBs, I associated them with the pooled connection factory as per the documentation.
@ResourceAdapter("remote-artemis")
When the server group starts, 30 consumers are created for the queues, 15 for each connected server.
When running a scalable process with 10 messages, they are processed by consumers from only one server, seemingly ignoring the RoundRobinConnectionLoadBalancingPolicy of the remote-artemis pooled connection factory.
After restarting Artemis, the balancing occurs correctly and randomly.
I've already configured Reconnect Attempts -1 and Rebalance Connections = true in the pooled connection.
Is there any other configuration in WildFly that might help? Or could this be related to Artemis?