That did it. The configuration item "enable-amq1-prefix" was the clincher. 
Thank you so very much, Emmanuel.


________________________________
From: Emmanuel Hugonnet <ehugo...@redhat.com>
Sent: Friday, June 14, 2024 11:38:55 AM
To: dev@activemq.apache.org
Subject: Re: Shared Durable Subscription Problem.


Also there is this doc page [1] and this quickstart [2] that describes such 
things

Emmanuel





[1]: 
https://docs.wildfly.org/32/Admin_Guide.html#Messaging_Connect_a_pooled-connection-factory_to_a_Remote_Artemis_Server<https://url.emailprotection.link/?bDtQddgXHEwYYKW7VDLsgue1SPatX1lJezidVb_BNT5Fo1j-e3-x-OcMFfVHcn00bHPVcNB4j3rc41mclL5gWYynAOBNkLEgkwMVNkgWbzQ5bMJAAaJkA6YI_acsne0Wld2w74cFvnSEbcY5QmhnDuN1oWy4IrPnRVITM1XnaReQ~>

[2]: 
https://github.com/wildfly/quickstart/tree/main/remote-helloworld-mdb<https://url.emailprotection.link/?beieqbTVb6mGAsRJrxOXs997gsTB4pxaxWdO3Q7vm6lY-iCOfq4bmuhItGNZijoPDS7c9F6N5f6kR4iU9HdSR0Nrw50dSoBFKCykR3RKrcMql4wV4ihHyYA54Oozp1KXc>





Le 14/06/2024 à 18:16, Emmanuel Hugonnet a écrit :

> You can configure that attribute in WildFly using the external resources that 
> are designed to connect to a remote Artemis.

> Please note that for compatibility reasons WildFly still use the legacy 
> prefix internally for its embedded broker.

> https://docs.wildfly.org/26/wildscribe/subsystem/messaging-activemq/pooled-connection-factory/index.html#attr-enable-amq1-prefix<https://url.emailprotection.link/?bMBb09_X2aZapSnfjxpWMmPMPL9N8JFOuL8-6GFADKC5GE4_42TcAmy41dDcAj6aZS1yMqfq2-NJV9FcA7lHTxJm7SJFlCCh_CCa1SKS3nJEic9yZoC4y03hx82_eDWdfkaMwIRrgwwmk4ZiGS2F_QwBIH1gOTt-_uv91m_iFHsE~>

> https://docs.wildfly.org/26/wildscribe/subsystem/messaging-activemq/connection-factory/index.html#attr-enable-amq1-prefix<https://url.emailprotection.link/?bl-Ey5Xjywqa4fpixSmnba59O8OlNQDESzBvI3_TgsQauhi8FtwJDYfnQ3_LtMftKDddAXIErobW44cFsAHzg3nXAHOE4l86VjHwW8k2_mQ4Ao6yHukwGspAoxH3jDL7EMAD4ruK9Mu3NyxXsZzkGgHQMVdVgIcRJxQNb49HB1Fs~>

>

> Emmanuel

>

>

>

> Le 14/06/2024 à 17:58, Tony Lewis a écrit :

>>

>> The issue is with enable1xPrefix.

>>

>> I have created the relevant 
>> org.apache.activemq.artemis.api.jms.ActiveMQJMSClient.properties<https://url.emailprotection.link/?bUGCM-hAlpVwIawCCsUje_PqbM2lvKBaWjV6BaiOBw9bkkuhRG_6nf5_whTtP66bMva5_PgmGDd9btRHmgbrFo-dhdT_KUjNkp6Gnj2qsY9s1X-MVvK4uwIo4HOVxxmBW>
>>  file and set this value to false. But it

>> gets overridden when the wildfly server starts up.

>>

>>

>> I have turned "trace" on and I see where setEnable1xPrefix is set to true. I 
>> still don't quite know what is causing it so I will keep

>> debugging it.

>>

>>

>> Hopefully somebody may know what this is doing. Crossing my fingers.

>>

>> This is the relevant code in 
>> ActiveMQMessageHandler.java<https://url.emailprotection.link/?b0VgOOyhRITNhxZXLX4iy53UCa9VoyKHc9ZGVlc6yv4shihAi90JsFBXbOkXadyGQKF5nv-4zkWdIpe9WwqQPthDdBJqj-xsaNruE8EPOoJ8MhaoWV9Hkv7F6UK-lhyi2>
>>  that is causing the exception that I have included in this email chain.

>>

>>

>> Around line 145:

>>

>> SimpleString oldTopicName = (enable1XPrefix && 
>> !subResponse.getAddress().startsWith(PacketImpl.OLD_TOPIC_PREFIX) ?

>> PacketImpl.OLD_TOPIC_PREFIX : 
>> SimpleString.toSimpleString("")).concat(subResponse.getAddress());

>>

>>

>>         boolean topicChanged = !oldTopicName.equals(activation.getAddress());

>>

>>

>> The topic name changed, so it tries to delete it, but it says there is 
>> already a consumer on it. The consumer is NOT one that I have

>> created, as the stack trace shows it is a "LocalQueueBinding", not quite 
>> sure what that means yet.

>>

>>

>> So, it fails. The subResponse.getAddress does NOT start with the old prefix, 
>> so it tries to add it.

>>

>>

>> I have tried adding the prefix to the topic in there broker.xml.. did not 
>> work.

>>

>> I have put the "multicastPrefix" in the acceptors, but that did not work, 
>> either.

>>

>>

>> If anybody knows, I would be more than grateful for the solution. Thank you.

>>

>>

>>

>>

>>

>> --------------------------------------------------------------------------------------------------------------------------------------------

>> *From:* Tony Lewis

>> *Sent:* Thursday, June 13, 2024 1:08:11 PM

>> *To:* dev@activemq.apache.org<mailto:dev@activemq.apache.org>

>> *Subject:* Re: Shared Durable Subscription Problem.

>>

>> Thank you for your reply and please pardon not including the whole stack. My 
>> mistake.

>>

>>

>> Here it is:

>>

>>

>> 2024-06-13 13:30:41,540 WARN 
>> [org.apache.activemq.artemis.ra.ActiveMQRALogger] (default-threads - 1) 
>> AMQ152005: Failure in broker

>> activation

>> org.apache.activemq.artemis.ra.inflow.ActiveMQActivationSpec(ra=org.wildfly.extension.messaging.activemq.ActiveMQResourceAdapter@e45ad389

>> destination=java:global/remoteContext/flowDataChannel 
>> destinationType=javax.jms.Topic ack=Auto-acknowledge durable=true 
>> clientID=null

>> subscription=DataProcessor user=null maxSession=15): 
>> ActiveMQIllegalStateException[errorType=ILLEGAL_STATE message=AMQ229025: 
>> Cannot

>> delete queue DataProcessor on binding DataProcessor - it has consumers = 
>> org.apache.activemq.artemis.core.postoffice.impl.LocalQueueBinding]

>>

>> at 
>> org.apache.activemq.artemis@2.19.1//org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:549)

>>

>> at 
>> org.apache.activemq.artemis@2.19.1//org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:443)

>>

>> at

>> org.apache.activemq.artemis@2.19.1//org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.deleteQueue(ActiveMQSessionContext.java:348)

>>

>> at 
>> org.apache.activemq.artemis@2.19.1//org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.deleteQueue(ClientSessionImpl.java:766)

>>

>> at 
>> org.apache.activemq.artemis.ra@2.19.1//org.apache.activemq.artemis.ra.inflow.ActiveMQMessageHandler.setup(ActiveMQMessageHandler.java:151)

>>

>> at 
>> org.apache.activemq.artemis.ra@2.19.1//org.apache.activemq.artemis.ra.inflow.ActiveMQActivation.setup(ActiveMQActivation.java:317)

>>

>> at

>> org.apache.activemq.artemis.ra@2.19.1//org.apache.activemq.artemis.ra.inflow.ActiveMQActivation$SetupActivation.run(ActiveMQActivation.java:763)

>>

>> at

>> org.wildfly.extension.messaging-activemq//org.wildfly.extension.messaging.activemq.ActiveMQResourceAdapter$WorkWrapper.run(ActiveMQResourceAdapter.java:160)

>>

>> at 
>> org.jboss.ironjacamar.impl@1.5.3.Final//org.jboss.jca.core.workmanager.WorkWrapper.runWork(WorkWrapper.java:445)

>>

>> at 
>> org.jboss.as.connector@26.1.3.Final//org.jboss.as.connector.services.workmanager.WildflyWorkWrapper.runWork(WildflyWorkWrapper.java:69)

>>

>> at 
>> org.jboss.ironjacamar.impl@1.5.3.Final//org.jboss.jca.core.workmanager.WorkWrapper.run(WorkWrapper.java:223)

>>

>> at 
>> org.jboss.threads@2.4.0.Final//org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:29)

>>

>> at 
>> org.jboss.threads@2.4.0.Final//org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:789)

>>

>> at 
>> org.jboss.threads@2.4.0.Final//org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:44)

>>

>> at 
>> org.jboss.threads@2.4.0.Final//org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:809)

>>

>> at java.base/java.lang.Thread.run(Thread.java:833)

>>

>> at 
>> org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)

>>

>>

>>

>> Then Wildly server is connecting to an external Artemis broker.

>>

>> The Wildfly server is running Artemis modules 2.19.1. The external broker is 
>> 2.33.

>>

>>

>> I have been trying to upgrade the Wildfly server to 2.33.0 but now I am 
>> getting slf4j class not found errors. So that's another issue.

>>

>>

>>

>> I have just successfully created durable shared subscribers to the 2.33.0 
>> Artemis broker with a little standalone program, non-JEE using

>> the following methods:

>>

>>

>> session.createSharedDurableConsumer((Topic) destination, name)

>>

>> session.createDurableSubscriber((Topic) destination, name))

>>

>> session.createSharedConsumer((Topic) destination, name)

>>

>> session.createConsumer(destination));

>>

>> When invoking the "shared" methods, I do not set the connection's client 
>> IDand everything works as expected.

>>

>> So, I'm guessing it is going to be a Wildfly issue.

>>

>>

>>

>>

>>

>>

>>

>>

>>

>> --------------------------------------------------------------------------------------------------------------------------------------------

>> *From:* Clebert Suconic 
>> <clebert.suco...@gmail.com<mailto:clebert.suco...@gmail.com>>

>> *Sent:* Thursday, June 13, 2024 11:16:06 AM

>> *To:* dev@activemq.apache.org<mailto:dev@activemq.apache.org>

>> *Subject:* Re: Shared Durable Subscription Problem.

>> something is trying to remove a queue, but it's not allowing it because it 
>> had consumers. Post the whole stack trace.. You should have

>> used us...@activemq.apache.org<mailto:us...@activemq.apache.org> though. 
>> Also you didn't provide mu

>>

>> *Caution!* This message is potentially suspicious.

>> (From: clebert.suco...@gmail.com<mailto:clebert.suco...@gmail.com> 
>> <mailto:clebert.suco...@gmail.com<mailto:clebert.suco...@gmail.com>>, 
>> External)

>>

>>

>>

>> *First-Time Sender*

>> This is the first message you've received from this sender. Be careful when 
>> replying or interacting with any attachments or links.

>>

>>

>> something is trying to remove a queue, but it's not allowing it

>>

>> because it had consumers.

>>

>> Post the whole stack trace..

>>

>> You should have used 
>> us...@activemq.apache.org<mailto:us...@activemq.apache.org> though.

>>

>> Also you didn't provide much information about what's happening...

>>

>> I'm providing you an answer based on the little you posted.

>>

>> On Thu, Jun 13, 2024 at 10:09 AM Tony Lewis 
>> <tle...@securelogix.com<mailto:tle...@securelogix.com>> wrote:

>>

>> >

>>

>> > I am having a problem with an MDB running on Wildfly 26.1.3. Artemis 2.33.

>>

>> >

>>

>> >

>>

>> > This is the configuration for the MDB:

>>

>> >

>>

>> >

>>

>> > @MessageDriven(activationConfig={

>>

>> >

>>

>> > @ActivationConfigProperty(propertyName="destinationLookup",  
>> > propertyValue="java:global/remoteContext/dataChannel")

>>

>> >

>>

>> > ,@ActivationConfigProperty(propertyName="destinationType", 
>> > propertyValue="javax.jms.Topic")

>>

>> >

>>

>> > ,@ActivationConfigProperty(propertyName="subscriptionDurability", 
>> > propertyValue ="Durable")

>>

>> >

>>

>> > ,@ActivationConfigProperty(propertyName="subscriptionName", 
>> > propertyValue="DataProcessor")

>>

>> >

>>

>> > ,@ActivationConfigProperty(propertyName = "shareSubscriptions", 
>> > propertyValue="true")

>>

>> >

>>

>> >

>>

>> >

>>

>> >

>>

>> > And this is the broker.xml for artemis:

>>

>> >

>>

>> >

>>

>> >          <address-setting match="dataChannel">

>>

>> >

>>

>> >             <dead-letter-address>DLQ</dead-letter-address>

>>

>> >

>>

>> >             <expiry-address>ExpiryQueue</expiry-address>

>>

>> >

>>

>> >             <max-delivery-attempts>-1</max-delivery-attempts>

>>

>> >

>>

>> >             <redelivery-delay>10000</redelivery-delay>

>>

>> >

>>

>> >             <max-redelivery-delay>100000</max-redelivery-delay>

>>

>> >

>>

>> >             <redelivery-delay-multiplier>1.5</redelivery-delay-multiplier>

>>

>> >

>>

>> >             <!-- with -1 only the global-max-size is in use for limiting 
>> > -->

>>

>> >

>>

>> >             <max-size-bytes>-1</max-size-bytes>

>>

>> >

>>

>> >             
>> > <message-counter-history-day-limit>10</message-counter-history-day-limit>

>>

>> >

>>

>> >             <address-full-policy>PAGE</address-full-policy>

>>

>> >

>>

>> >             <auto-create-queues>true</auto-create-queues>

>>

>> >

>>

>> >             <auto-create-addresses>true</auto-create-addresses>

>>

>> >

>>

>> >             <auto-create-jms-queues>true</auto-create-jms-queues>

>>

>> >

>>

>> >             <auto-create-jms-topics>true</auto-create-jms-topics>

>>

>> >

>>

>> >          </address-setting>

>>

>> >

>>

>> > ...

>>

>> >

>>

>> >        <address name="dataChannel">

>>

>> >

>>

>> >            <multicast>

>>

>> >

>>

>> >              <queue name="DataProcessor" max-consumers="15">

>>

>> >

>>

>> >                <durable>true</durable>

>>

>> >

>>

>> >              </queue>

>>

>> >

>>

>> >            </multicast>

>>

>> >

>>

>> >          </address>

>>

>> >

>>

>> >

>>

>> >

>>

>> > This is the wildfly log on start up:

>>

>> >

>>

>> > ```

>>

>> >

>>

>> > 2024-06-13 13:31:17,442 ERROR 
>> > [org.apache.activemq.artemis.ra.ActiveMQRALogger] (default-threads - 1) 
>> > AMQ154003: Unable to reconnect

>> org.apache.activemq.artemis.ra.inflow.ActiveMQActivationSpec(ra=org.wildfly.extension.messaging.activemq.ActiveMQResourceAdapter@e45ad389

>> destination=java:global/remoteContext/dataChannel 
>> destinationType=javax.jms.Topic ack=Auto-acknowledge durable=true 
>> clientID=null

>> subscription=DataProcessor user=null maxSession=15): 
>> ActiveMQIllegalStateException[errorType=ILLEGAL_STATE message=AMQ229025: 
>> Cannot

>> delete queue DataProcessor on binding DataProcessor - it has consumers = 
>> org.apache.activemq.artemis.core.postoffice.impl.LocalQueueBinding]

>>

>> >

>>

>> > ```

>>

>> >

>>

>> >

>>

>> > This identical code worked in Wildly 18 and Artemis 2.17.

>>

>> >

>>

>> > I have tried just about every combination that I can think of, but I think 
>> > I'm at my wit's end.

>>

>> >

>>

>> > If anyone can give me a hand here, I would greatly appreciate it.

>>

>> >

>>

>> >

>>

>> --

>>

>> Clebert Suconic

>>

>> ---------------------------------------------------------------------

>>

>> To unsubscribe, e-mail: 
>> dev-unsubscr...@activemq.apache.org<mailto:dev-unsubscr...@activemq.apache.org>

>>

>> For additional commands, e-mail: 
>> dev-h...@activemq.apache.org<mailto:dev-h...@activemq.apache.org>

>>

>> For further information, visit: 
>> https://activemq.apache.org/contact<https://url.emailprotection.link/?bbhUssy9NPhVM3wTEVsgO7vdLNiutZIlBM-S5lvxolU4i89891M_a2F_txMMVj2H6L4SAOMGhiVSSlyeYmksYygCncUDLBRw5IM7ZWHs892s9wlAV-jePNCUyJdsxZ2iO>

>> <https://url.emailprotection.link/?bbhUssy9NPhVM3wTEVsgO7vdLNiutZIlBM-S5lvxolU4i89891M_a2F_txMMVj2H6L4SAOMGhiVSSlyeYmksYygCncUDLBRw5IM7ZWHs892s9wlAV-jePNCUyJdsxZ2iO>

>>

>





---------------------------------------------------------------------

To unsubscribe, e-mail: 
dev-unsubscr...@activemq.apache.org<mailto:dev-unsubscr...@activemq.apache.org>

For additional commands, e-mail: 
dev-h...@activemq.apache.org<mailto:dev-h...@activemq.apache.org>

For further information, visit: 
https://activemq.apache.org/contact<https://url.emailprotection.link/?bbhUssy9NPhVM3wTEVsgO7vdLNiutZIlBM-S5lvxolU4i89891M_a2F_txMMVj2H6L4SAOMGhiVSSlyeYmksYygCncUDLBRw5IM7ZWHs892s9wlAV-jePNCUyJdsxZ2iO>


Reply via email to