Here it is :
Class Unmarshall
errorHandler(deadLetterChannel("seda:errors").maximumRedeliveries(1).useExponentialBackoff());
from("file:///c:/temp")
.unmarshall(jaxb)
.to("activemq:queue:myqueue");
Class Transform
errorHandler(deadLetterChannel("seda:errors").maximumRedeliveries(1).useExponentialBackoff());
from ("activemq:queue:myqueue")
.to("bean:converter)
.to("bean:save");
.to("direct:output");
Regards,
Charles
Claus Ibsen wrote:
>
> Hi
>
> Could you post your route configuration in full please?
>
> Med venlig hilsen
>
> Claus Ibsen
> ......................................
> Silverbullet
> Skovsgårdsvænget 21
> 8362 Hørning
> Tlf. +45 2962 7576
> Web: www.silverbullet.dk
> -----Original Message-----
> From: cmoulliard [mailto:[EMAIL PROTECTED]
> Sent: 7. juli 2008 14:02
> To: [email protected]
> Subject: RE: How can I set the content of the body when I left a bean and
> before to go to the next bean ?
>
>
> Here is what I define in my route :
>
> errorHandler(deadLetterChannel("seda:errors").maximumRedeliveries(1).useExponentialBackoff());
>
> Regards,
>
> Charles
>
>
> Claus Ibsen wrote:
>>
>> Hi
>>
>> Could you show the route config?
>> No the DLC should kick in, there should be a default DLC to catch the
>> situation and move the invalid message to a default LOG category at WARN
>> level.
>>
>> So the ClassCastException should be caught and retried 6 times and moved
>> to a WARN log, by the DLC.
>>
>>
>>
>> Med venlig hilsen
>>
>> Claus Ibsen
>> ......................................
>> Silverbullet
>> Skovsgårdsvænget 21
>> 8362 Hørning
>> Tlf. +45 2962 7576
>> Web: www.silverbullet.dk
>>
>> -----Original Message-----
>> From: cmoulliard [mailto:[EMAIL PROTECTED]
>> Sent: 7. juli 2008 13:06
>> To: [email protected]
>> Subject: RE: How can I set the content of the body when I left a bean and
>> before to go to the next bean ?
>>
>>
>> I have made the test with the last build but the problem is always there.
>>
>> Is this logical that the message could not delivered to the
>> deadletterchannel configurated (in the routing) when I have a
>> ClassCastException in the bean Converter ?
>>
>>
>> Claus Ibsen wrote:
>>>
>>> Hi
>>>
>>> BTW: You can get the builds from the apache maven snapshot repo, so you
>>> don't have to build camel locally.
>>>
>>> See:
>>> http://activemq.apache.org/camel/download.html
>>>
>>>
>>>
>>> Med venlig hilsen
>>>
>>> Claus Ibsen
>>> ......................................
>>> Silverbullet
>>> Skovsgårdsvænget 21
>>> 8362 Hørning
>>> Tlf. +45 2962 7576
>>> Web: www.silverbullet.dk
>>>
>>> -----Original Message-----
>>> From: cmoulliard [mailto:[EMAIL PROTECTED]
>>> Sent: 7. juli 2008 11:46
>>> To: [email protected]
>>> Subject: RE: How can I set the content of the body when I left a bean
>>> and
>>> before to go to the next bean ?
>>>
>>>
>>> Claus,
>>>
>>> I use Camel 1.4-SNAPSHOT but I haven't made a build since around two
>>> weeks.
>>>
>>> Regards,
>>>
>>> Charles
>>>
>>>
>>> Claus Ibsen wrote:
>>>>
>>>> Hi Charles,
>>>>
>>>> I will try to hack a unit test that demonstrates your route and bean
>>>> chain, to help identify the problem.
>>>>
>>>> What version of Camel are you using?
>>>> Have you tried with the latest 1.4-SNAPSHOT version of Camel?
>>>>
>>>>
>>>> Med venlig hilsen
>>>>
>>>> Claus Ibsen
>>>> ......................................
>>>> Silverbullet
>>>> Skovsgårdsvænget 21
>>>> 8362 Hørning
>>>> Tlf. +45 2962 7576
>>>> Web: www.silverbullet.dk
>>>>
>>>> -----Original Message-----
>>>> From: cmoulliard [mailto:[EMAIL PROTECTED]
>>>> Sent: 7. juli 2008 10:42
>>>> To: [email protected]
>>>> Subject: RE: How can I set the content of the body when I left a bean
>>>> and
>>>> before to go to the next bean ?
>>>>
>>>>
>>>> Hi Claus,
>>>>
>>>> Unfortunately, what you propose does not work. For your information, my
>>>> activemq is defined in my camelcontext as a vm queue.
>>>>
>>>> When I use in my route "direct" endpoint instead of "activemq", the
>>>> object
>>>> transformed is well send to the "save" bean.
>>>>
>>>> From("File:///c:/temp")
>>>> .unmarshall(jaxb)
>>>> .to("direct:input");
>>>>
>>>> 2nd part :
>>>> From ("direct.input")
>>>> .to("bean:converter)
>>>> .to("bean:save");
>>>> .to("direct:output");
>>>>
>>>> Regards,
>>>>
>>>> Charles
>>>>
>>>>
>>>> Claus Ibsen wrote:
>>>>>
>>>>> Hi
>>>>>
>>>>> I assume since the original input is from a file you are doing an
>>>>> InOnly
>>>>> message exchange pattern (MEP).
>>>>>
>>>>> So whenever you receive a message from the jms queue:myqueue and it
>>>>> hasn't
>>>>> a reply-to set it should also be a InOnly message out-of-the-box.
>>>>>
>>>>> So I would expect that if you set the altered message on the In
>>>>> message
>>>>> then the save bean should see this change:
>>>>>
>>>>> private void sendTransformedMesage(Exchange in, Object object) {
>>>>> in.getIn().setBody(object);
>>>>> }
>>>>>
>>>>>
>>>>> Med venlig hilsen
>>>>>
>>>>> Claus Ibsen
>>>>> ......................................
>>>>> Silverbullet
>>>>> Skovsgårdsvænget 21
>>>>> 8362 Hørning
>>>>> Tlf. +45 2962 7576
>>>>> Web: www.silverbullet.dk
>>>>>
>>>>> -----Original Message-----
>>>>> From: cmoulliard [mailto:[EMAIL PROTECTED]
>>>>> Sent: 7. juli 2008 08:40
>>>>> To: [email protected]
>>>>> Subject: RE: How can I set the content of the body when I left a bean
>>>>> and
>>>>> before to go to the next bean ?
>>>>>
>>>>>
>>>>> Hi claus,
>>>>>
>>>>> My explanation was not enough clear. The JAXB unmarshalling has
>>>>> already
>>>>> be
>>>>> done :
>>>>> Here is my routing for the first part of the job:
>>>>>
>>>>> DataFormat jaxb = new
>>>>> JaxbDataFormat("com.myapplication.schema.myschema");
>>>>>
>>>>> From("File:///c:/temp").
>>>>> unmarshall(jaxb)
>>>>> .to("activemq:queue:myqueue");
>>>>>
>>>>> 2nd part :
>>>>> From ("activemq:queue:myqueue")
>>>>> .to("bean:converter)
>>>>> .to("bean:save");
>>>>>
>>>>> My "converter" bean receives as input the JAXB object (through the
>>>>> message
>>>>> body coming from the queue) and has to perform a java to java
>>>>> transformation. In this bean, I perform the transformation and I would
>>>>> like
>>>>> to send the transformation result to the "save" bean endpoint.
>>>>>
>>>>> I try to send a new message using the following code (after analizing
>>>>> the
>>>>> pipeline camel test case) but without success :
>>>>>
>>>>> public Class Converter implements Processor (
>>>>>
>>>>> public void process(Exchange in) throws Exception (
>>>>> .... part where transformation of the jaxb object into another
>>>>> java
>>>>> object took place
>>>>> sendTransformedMessage(in, object);
>>>>> }
>>>>>
>>>>>
>>>>> private void sendTransformedMesage(Exchange in, Object object) {
>>>>> in.getOut(true).copyFrom(Exchange.getIn());
>>>>> in.getOut()/setBody(object);
>>>>> }
>>>>>
>>>>> Should I have to define the pattern as a InOut between "converter" and
>>>>> "save" ?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Charles
>>>>>
>>>>>
>>>>> Claus Ibsen wrote:
>>>>>>
>>>>>> Hi Charles
>>>>>>
>>>>>> Convertion from the dataformat JAXB to Order is supported out of the
>>>>>> box
>>>>>> in Camel with its Data Format:
>>>>>> http://activemq.apache.org/camel/data-format.html
>>>>>>
>>>>>> And the JAXB:
>>>>>> http://activemq.apache.org/camel/jaxb.html
>>>>>>
>>>>>>
>>>>>> DataFormat jaxb = new JaxbDataFormat("com.mycompany");
>>>>>> // where com.mycompany is the package where your domain objecs it -
>>>>>> eg
>>>>>> Order
>>>>>>
>>>>>> from("File:///c:/temp").
>>>>>> unmarshal(jaxb).
>>>>>> to("bean:save);
>>>>>>
>>>>>> Then your Order class must be annotated with the JAXB annotations for
>>>>>> this.
>>>>>> And you should have a jaxb.index file the JAXB classes you have in
>>>>>> the
>>>>>> package = Order.
>>>>>>
>>>>>> For examples see the camel-jaxb component that has a unit
>>>>>> DataFormatTest
>>>>>> that does something like the above.
>>>>>>
>>>>>> See this unit test and its related files and you will have something
>>>>>> to
>>>>>> go
>>>>>> along with.
>>>>>>
>>>>>>
>>>>>> Med venlig hilsen
>>>>>>
>>>>>> Claus Ibsen
>>>>>> ......................................
>>>>>> Silverbullet
>>>>>> Skovsgårdsvænget 21
>>>>>> 8362 Hørning
>>>>>> Tlf. +45 2962 7576
>>>>>> Web: www.silverbullet.dk
>>>>>> -----Original Message-----
>>>>>> From: cmoulliard [mailto:[EMAIL PROTECTED]
>>>>>> Sent: 4. juli 2008 18:05
>>>>>> To: [email protected]
>>>>>> Subject: How can I set the content of the body when I left a bean and
>>>>>> before to go to the next bean ?
>>>>>>
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> In a bean component receiving a message, I would like to transform
>>>>>> the
>>>>>> content of a object received from something into something different
>>>>>> (like
>>>>>> from JAXB towards Order object).
>>>>>> To achieve this, I create a pipeline routes :
>>>>>>
>>>>>> from("File:///c:/temp").
>>>>>> to("bean:converter).
>>>>>> to("bean:save");
>>>>>>
>>>>>> Unfortunately, when I define :
>>>>>>
>>>>>> in.getOut().setBody(order, Order.class)
>>>>>>
>>>>>> after the transformation step in order to send the message to my bean
>>>>>> :
>>>>>> save, I see that the message is send back to my bean converter and
>>>>>> not
>>>>>> propagated to the bean : save !!!!
>>>>>>
>>>>>> Where is the issue ? How Can I put the order object into the message
>>>>>> that
>>>>>> Camel will send to bean : save
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Charles
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/How-can-I-set-the-content-of-the-body-when-I-left-a-bean-and-before-to-go-to-the-next-bean---tp18282228s22882p18282228.html
>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/How-can-I-set-the-content-of-the-body-when-I-left-a-bean-and-before-to-go-to-the-next-bean---tp18282228s22882p18310870.html
>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/How-can-I-set-the-content-of-the-body-when-I-left-a-bean-and-before-to-go-to-the-next-bean---tp18282228s22882p18312377.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/How-can-I-set-the-content-of-the-body-when-I-left-a-bean-and-before-to-go-to-the-next-bean---tp18282228s22882p18313223.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/How-can-I-set-the-content-of-the-body-when-I-left-a-bean-and-before-to-go-to-the-next-bean---tp18282228s22882p18314282.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>>
>
> --
> View this message in context:
> http://www.nabble.com/How-can-I-set-the-content-of-the-body-when-I-left-a-bean-and-before-to-go-to-the-next-bean---tp18282228s22882p18315141.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
>
--
View this message in context:
http://www.nabble.com/How-can-I-set-the-content-of-the-body-when-I-left-a-bean-and-before-to-go-to-the-next-bean---tp18282228s22882p18318598.html
Sent from the Camel - Users mailing list archive at Nabble.com.