What value did you set for "multicastPrefix" on the acceptor in broker.xml?
Justin On Fri, Jun 14, 2024 at 11:08 AM Tony Lewis <tle...@securelogix.com> wrote: > The issue is with enable1xPrefix. > > I have created the relevant > org.apache.activemq.artemis.api.jms.ActiveMQJMSClient.properties 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 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 > *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 > ID and everything works as expected. > > > So, I'm guessing it is going to be a Wildfly issue. > > > > > > > > > > > > > ------------------------------ > *From:* Clebert Suconic <clebert.suco...@gmail.com> > *Sent:* Thursday, June 13, 2024 11:16:06 AM > *To:* 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 though. Also you didn't provide mu > *Caution!* This message is potentially suspicious. > (From: 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 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> > 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 > > For additional commands, e-mail: dev-h...@activemq.apache.org > > For further information, visit: https://activemq.apache.org/contact > <https://url.emailprotection.link/?bbhUssy9NPhVM3wTEVsgO7vdLNiutZIlBM-S5lvxolU4i89891M_a2F_txMMVj2H6L4SAOMGhiVSSlyeYmksYygCncUDLBRw5IM7ZWHs892s9wlAV-jePNCUyJdsxZ2iO> > > >