camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen" ...@silverbullet.dk>
Subject RE: How can I set the content of the body when I left a bean and before to go to the next bean ?
Date Mon, 07 Jul 2008 13:31:27 GMT
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:cmoulliard@gmail.com] 
Sent: 7. juli 2008 14:02
To: camel-user@activemq.apache.org
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:cmoulliard@gmail.com] 
> Sent: 7. juli 2008 13:06
> To: camel-user@activemq.apache.org
> 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:cmoulliard@gmail.com] 
>> Sent: 7. juli 2008 11:46
>> To: camel-user@activemq.apache.org
>> 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:cmoulliard@gmail.com] 
>>> Sent: 7. juli 2008 10:42
>>> To: camel-user@activemq.apache.org
>>> 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:cmoulliard@gmail.com] 
>>>> Sent: 7. juli 2008 08:40
>>>> To: camel-user@activemq.apache.org
>>>> 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:cmoulliard@gmail.com] 
>>>>> Sent: 4. juli 2008 18:05
>>>>> To: camel-user@activemq.apache.org
>>>>> 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.


Mime
View raw message