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 >> >>
