On Wed, May 2, 2012 at 4:08 PM, Meeraj Kunnumpurath <[email protected]> wrote: > Thanks Claus. > > So do I defined the custom data format as a Spring bean refer to it from > the unmarshal XML element. Or do I need to use setDataFormatResolver on > CamelContext? >
Yes just refer to it's spring bean id name. You can even do that directly in the routes <route> .. <marshal ref="myDataFormat"/> ... </route> See chapter 3, section 3.4.6 in the book as it shows how to write custom data format and with examples in XML DSL as well. > Thanks > Meeraj > > PS: BTW just got the book, it rocks :) > > On Wed, May 2, 2012 at 1:44 PM, Claus Ibsen <[email protected]> wrote: > >> On Wed, May 2, 2012 at 12:04 PM, Meeraj Kunnumpurath >> <[email protected]> wrote: >> > Hi, >> > >> > I have a need to apply custom transformation using a third party library. >> > My plan is to write a new data format. However, I am not sure whether it >> is >> > the right component for me, as the need is to have one transform method, >> > which doesn't fit well with the marshal/unmarshal pair. >> > >> >> A data format dont have to support both. For example tiny markup only >> support one of them. >> >> >> > A second question I have on this is once I have defined the component, >> how >> > do I integrate that into the Spring DSL. With a custom data format, I ran >> > into the following problems .. >> > >> > 1. Since the JAXB context used by loadRouteDefinitions has hard-wired the >> > packages it recognizes, I am unable to introduce any new vocabulary into >> > the DSL >> > 2. If I override loadRouteDefinitions to recognize my packages, some of >> the >> > types like UnmarshalDefinition within Camel are constrained in terms of >> the >> > types of children it can have. So I am unable to introduce any new types >> in >> > there. >> > >> >> You can't. Although I think I have seen some ppl post about some hacks >> he did in the XML DSL to extend with custom namespaces. >> But its not easy thought. But maybe you can google that, if you really >> really want to go down that path. >> >> You can use a custom data format in the DSL, and just refer to that >> using the generic marshal / unmarshal. >> >> >> > Kind regards >> > Meeraj >> >> >> >> -- >> Claus Ibsen >> ----------------- >> CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com >> FuseSource >> Email: [email protected] >> Web: http://fusesource.com >> Twitter: davsclaus, fusenews >> Blog: http://davsclaus.blogspot.com/ >> Author of Camel in Action: http://www.manning.com/ibsen/ >> > > > > -- > *Meeraj Kunnumpurath* > *Director and Executive Principal > Service Symphony Ltd > 00 44 7702 693597 > [email protected]* -- Claus Ibsen ----------------- CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com FuseSource Email: [email protected] Web: http://fusesource.com Twitter: davsclaus, fusenews Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/
