Marco, I think it depends on what you want to do. Of course there're components where you will loose message headers. Look at the file component, hazelcast:map or a database component. Of course you'll loose here the message headers, because they're bound to camel (where should you store them if put a file on disk? ...or an object into data grid?). If you need these information in your business context you have to implement this.

On 08.06.2011 19:58, Marco Zapletal wrote:
Yes, I've read that. Actually, I just wanted to keep my (String) properties when the exchange goes through the JMS queue (similar like headers are kept over JMS queues).

If it is the intended behavior that exchange properties are stripped away by the JMS component, I am fine with using headers instead. However, this contradicts then in my opinion to the discussion in [1], where it is mentioned that exchange properties should be used for durable storing (serializable) meta information on the exchange.

--
The problem with the non-serializable MessageInfo (which violates the JMS spec) occurs only if I set the transferExchange property on the JMS component to true (which I tried only as a workaround).

regards,
marco

[1] http://camel.465427.n5.nabble.com/How-long-do-the-camel-headers-live-in-routes-td474477.html


On 08.06.2011 19:41, Claus Ibsen wrote:
The JMS spec limits what can be send as JMS headers. Read more details
on the Camel JMS wiki page. And for example in the JMS java doc.


On Wed, Jun 8, 2011 at 6:36 PM, Marco Zapletal<marco.zaple...@gmail.com> wrote:
Hi,

thanks for the quick response. Yes, I've tried this, but this opens up
another problem if you use a CXF endpoint on your route. The CXF endpoint seems to store an instance of org.apache.cxf.service.model.MessageInfo on
the exchange, which is not serializable. This results in a runtime
exception, which cancels the execution of the process instance.

regards,
marco


On 08.06.2011 18:26, Claus Straube wrote:

Hi Marco,

have you tried 'transferExchange=true' inside your JMS route? That could
be a solution for your JMS problem.

Best regards - Claus

On 08.06.2011 18:23, Marco Zapletal wrote:

Hi,

I learned from this thread

(http://camel.465427.n5.nabble.com/How-long-do-the-camel-headers-live-in-routes-td474477.html)
that one should use properties instead of headers in order to durable
store meta information on an exchange (acc. to one of the postings,
headers can get lost at endpoints).

I would like to know whether this in principle correct. If so, I ran
into the problem that properties seem to stripped away if an exchange
goes through a JMS queue. Could anyone tell me what's the recommended
approach to keep meta information durable on the exchange.

thanks,
marco












Reply via email to