[ https://issues.apache.org/jira/browse/CAMEL-15892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-15892. --------------------------------- Resolution: Information Provided > CamelJmsDestinationName header ignored (when set in dlc.onPrepareFailure) > ------------------------------------------------------------------------- > > Key: CAMEL-15892 > URL: https://issues.apache.org/jira/browse/CAMEL-15892 > Project: Camel > Issue Type: Improvement > Components: camel-jms > Affects Versions: 3.6.0 > Reporter: Bernard Ligny > Priority: Minor > > I'm trying to setup a smart JMS DeadLetterChannel where the final uri of the > DLQ is computed dynamically, depending on original queue name (eg adding a > ".dead" suffix). > I have seen in the doc that it's possible by setting the > *CamelJmsDestinationName* header: > [https://camel.apache.org/components/latest/jms-component.html#_reuse_endpoint_and_send_to_different_destinations_computed_at_runtime] > Therefore, I tried this: > {code:java} > DefaultErrorHandlerBuilder dlc = deadLetterChannel("jms:queue:dummy") > .useOriginalMessage() > .maximumRedeliveries(2); > dlc.onPrepareFailure( exchange -> { > // Override destination > exchange.getMessage().setHeader("CamelJmsDestinationName", > "jms:queue:test"); > }); > {code} > I have tried many different values for *CamelJmsDestinationName* : > - "jms:queue:test" > - "queue:test" > - "test" > But none of them is working; the header is ignored and the exchange always > goes to original uri ("queue:dummy"). > I'm using Camel 3.6 and > *camel-{color:#de350b}s{color}jms{color:#de350b}2{color}* component bound to > an Artemis ActiveMQ broker (the one bundled with Wildfly20): > {code:java} > @Resource(mappedName = "java:/ConnectionFactory") > private static ConnectionFactory connectionFactory; > @Produces > @ApplicationScoped > @Named("jms") > public final Sjms2Component createJmsComponent() { > Sjms2Component component = new Sjms2Component(); > ConnectionResource pool = new ConnectionFactoryResource(poolSize, > connectionFactory); > component.setConnectionResource(pool); > return component; > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)