I should be possible as Camel Headers are translated to JMS Headers when
sending to an ActiveMQ queue or topic. This can be tricky though as
sometimes JMS Headers are not set by the client but by the broker (for
example JMSTimestamp), so you can't use all headers.

You can check this page with the possibilities:

https://activemq.apache.org/activemq-message-properties

Another thing is that values you need to give are not always very logical
for example JMSDeliveryMode. According to the Java EE documentation:

"The delivery modes supported by the JMS API are *PERSISTENT and
NON_PERSISTENT* . A client marks a message as persistent if it feels that
the application will have problems if the message is lost in transit. A
client marks a message as non-persistent if an occasional lost message is
tolerable."

As there are only two modes, you made expect that its a boolean value.
However it's int (as also noted on the ActiveMQ documentation page). Then
you may think the values used are 0 and 1. It's however 1 (NON-PERSISTENT)
and 2 (PERSISTENT). Mostly in code static values are used, but when sending
headers as text, these are things to consider.

Kind regards,

Raymond









On Mon, Apr 3, 2023 at 8:47 AM Ephemeris Lappis <ephemeris.lap...@gmail.com>
wrote:

> Hello.
>
> Thanks for your idea. I had a look at the JMs component unit tests,
> but I've not found any that use only headers to set messages time to
> live.
> Could you please give us some example ?
>
> Thanks again. Regards
>
> Le ven. 31 mars 2023 à 18:34, Claus Ibsen <claus.ib...@gmail.com> a écrit
> :
> >
> > A good idea is to look at the unit tests in the camel components
> >
> > On Fri, Mar 31, 2023 at 6:27 PM Ephemeris Lappis <
> ephemeris.lap...@gmail.com>
> > wrote:
> >
> > > Hello.
> > >
> > > I've not found any way to set messages time to live when sending to a
> > > JMS (activemq) queue.
> > >
> > > I'd like to set headers only, without changing the endpoint URI. Is it
> > > possible ?
> > > I've read (and tested it too) that if a message header is set for the
> > > JMSExpiration, it's not taken into account if the option
> > > "preserveMessageQos" is not added into the URI. So, is there any other
> > > way using other headers ?
> > >
> > > Thanks for your help.
> > >
> > > Regards.
> > >
> >
> >
> > --
> > Claus Ibsen
> > -----------------
> > @davsclaus
> > Camel in Action 2: https://www.manning.com/ibsen2
>

Reply via email to