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/

Reply via email to