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.