It's ok for Messages to be Serializable. The Exchange imho should not.
So sure, wanna raise a jira?

Thanks
Hadrian

On Oct 8, 2010, at 10:51 AM, Björn Bength wrote:

> On a related issue regarding Serializable that occured to me:
> 
> We recently made a Wicket GUI interface for traced routes using
> org.apache.camel.processor.interceptor.jpa.JpaTraceEventMessage do
> store event messages.
> 
> We wanted to use this class directly in dao methods, for searching,
> listing and displaying in Wicket
> but as it's not Serializable we had to make our own version of the
> class to make Wicket really really happy.
> That would help when sending the jpa event message through jms,
> towards a jpa endpoint as well.
> 
> Couldn't you at least make this class Serializable as it only contains
> Strings and Date anyway?
> 
> Regards
> /Bjorn
> 
> On Fri, Oct 8, 2010 at 3:51 PM, Hadrian Zbarcea <[email protected]> wrote:
>> +1
>> fwiw, Hadrian
>> 
>> On Oct 8, 2010, at 7:05 AM, Claus Ibsen wrote:
>> 
>>> On Fri, Oct 8, 2010 at 12:21 PM, Ade <[email protected]> wrote:
>>>> 
>>>> I've never been a fan of Java serialization; however, I've been working 
>>>> with
>>>> a Camel user who wants to be able to serialize an exchange and place the
>>>> whole thing on a JMS queue. The motivation is that they want to set the
>>>> exchange up to be subsequently persisted in a database for audit purposes,
>>>> but they want to separate the writing to a queue (relatively fast and
>>>> asynchronous) from the act of persisting to a database.
>>>> 
>>>> In order to achieve this, they've had to create their own serializable
>>>> versions of Exchange, Header, Property, Message and Attachments. This 
>>>> works,
>>>> but it's painful to have to write and maintain that extra code.
>>>> 
>>>> So. Just curious: would it be possible to modify the Camel core API and 
>>>> make
>>>> Exchanges etc. serializable? Interested to hear people's thoughts on this.
>>> 
>>> I dont think we should do this. We can not assume the data it contains
>>> can be serialized.
>>> 
>>> There is a DefaultExchangeHolder class which you can use to serialize
>>> and Exchange. It has the features to only transfer the objects which
>>> can be serialized.
>>> Its used by other components which supports the transferExchange
>>> options such as camel-jms, camel-mina, camel-netty, camel-hawtdb etc.
>>> 
>>> 
>>> 
>>> 
>>>> --
>>>> View this message in context: 
>>>> http://camel.465427.n5.nabble.com/Should-we-could-we-make-Exchanges-serializable-tp3204367p3204367.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>> 
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>> 
>> 

Reply via email to