Hi Jason, Maybe you should use a headerFilterStrategy to avoid conflicts between JMS and Camel headers.
If you want to use JMS message content for a Camel endpoint (to) configuration/uri, you might need to use the Routing Slip EIP, for example. Are you using the camel-jms component? It seems this is more of a Camel question than an ActiveMQ one. Regards, JB On Tue, Feb 24, 2026 at 9:13 PM Jason Jackson <[email protected]> wrote: > I have an application that is sending a pure binary file to an ActiveMQ > queue. > > The message details of the binary file contains information related to the > file. One component in the message details is the following: > > filename=myfile.txt > > Using the embedded Camel functionality and capabilities of ActiveMQ I am > performing the following actions. > > This is valid and ActiveMQ loads without any issues > > <setVariable name="myFileName"> > <simple>${bodyAs(String)} > regex('(?s).*filename=([a-zA-Z0-9_\-\.]+).*')</simple> > </setVariable> > > > My uri is the following > > <to uri="sftp://username@ip > /dir?password=myPassword&autoCreate=true&binary=true&passiveMode=true&knownHostsFile=/myHostFile&fileName=${myFileName}"/> > > As soon as I add fileName=${myFileName} to the URI, ActiveMQ throws an > error and fails to load. An example of the error is: > > Exception encountered during context initialization - cancelling refresh > attempt: org.apache.camel.FailedToCreateRouteException: Failed to create > route: QUEUE1 at: >>> > To[sftp://username@ip/dir?password=xxxxxx&autoCreate=true&binary=true&passiveMode=true&knownHostsFile=/myHostFile&fileName=${myFileName}] > <<< in route: Route(QUEUE1)[From[jms:queue://QUEUE1... because: Failed to > resolve endpoint: > sftp://username@ip/dir?autoCreate=true&binary=true&fileName=myFileName&knownHostsFile=/myHostFile&passiveMode=true&password=xxxxxx > due to: Error binding property (fileName=${myFileName}) with name: fileName > on bean: > sftp://username@ip/dir?autoCreate=true&binary=true&fileName=myFileName&knownHostsFile=/myHostFile&passiveMode=true&password=xxxxxx > with value: ${myFileName} | org.apache.activemq.xbean.XBeanBrokerFactory$1 > | main > > If I do not attempt to set the filename and just send the file over it > connects via sftp and the file transfers without any issues, the issue is I > need to set the file name to what is in the message details. > > I have attempted to load the uri using the toD dynamic option and it fails > also. This error states it failed with an excepting and just provides a > print out of the uri I am attempting to connect to. > > I used the following link, > https://camel.apache.org/components/4.14.x/sftp-component.html#_usage, > for the Camel commands/settings. > > Does anyone have a suggestion on what I may be doping wrong or if there is > an additional entry/setting that I need? > > Jason >
