[ 
https://issues.apache.org/jira/browse/ARTEMIS-4666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17834374#comment-17834374
 ] 

Timothy A. Bish commented on ARTEMIS-4666:
------------------------------------------

I took some time to track this down and it comes down to a bug in the XML 
parsing that is not correctly configuring the Queue match policy and when an 
Openwire client connects there are false positive matches on the advisory 
destinations that come into existence which can't be auto created on the remote 
and the federation connection breaks.  You could work around the issue by 
setting the address match in your configuration to a specific Queue name you 
want to federate instead of a wildcard. 

> Federated queue consumers do not receive messages on classic clients
> --------------------------------------------------------------------
>
>                 Key: ARTEMIS-4666
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4666
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Federation
>    Affects Versions: 2.32.0
>            Reporter: Josh Byster
>            Assignee: Timothy A. Bish
>            Priority: Major
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> Federated queues with A upstream and downstream to B do not seem to work as 
> expected when the client JMS implementation is ActiveMQ Classic v5.16.2 (used 
> in my example, but also verified the issue is present with v5.18.3 and 
> v6.0.1). With Artemis JMS as the client, it seems to work as expected.
> When running a producer on A and a consumer on B with the classic 
> org.apache.activemq.ActiveMQConnectionFactory, the consumer on B does not 
> consume any messages that the producer sends. When B is restarted, it then 
> consumes the messages.
> This works properly with ActiveMQ Artemis 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory. I've 
> created a minimal reproducible example 
> [here|https://github.com/josh-byster/artemis-classic-consumer-bug/tree/master].
>  Running server1 and server2 and then first starting up the Consumer then 
> running the Producer class, we can see that no messages are logged in console 
> by the consumer. When you restart the consumer, the messages are consumed. 
> This is an issue whether you attach a MessageListener or you call receive() 
> directly. If you switch the ActiveMQConnectionFactory implementation to 
> Artemis, it works as expected.
> I don't think this necessarily warrants a fix if it's an issue specifically 
> with the classic client, since the solution is just to upgrade clients to 
> Artemis. However, if it is something that can be patched on the server, that 
> would be great. I do, however, think it would be good to note this down in 
> the docs that it's not supported with classic clients, since I spent a while 
> debugging it. However, most other features do work as expected with the 
> clients running the classic version, which is much appreciated as it makes 
> migration significantly easier.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to