Hi

No its not the same @Handler is NOT for consuming.

Its like

   from file
     to bean
     to file

And then you have a bean with some methods, and then to tell Camel
that is should use a specific method then you can add @Handler.


On Sun, Jul 7, 2019 at 6:14 PM Richard Flores <[email protected]> wrote:
>
> This is confusing:
>
>         “You can use @Handler when you have a POJO with N+ methods….such as 
> when you send a message to the bean endpoint, or use bean(MyBeanClass.class) 
> in the route”
>
> This is effectively doing the same thing as a bean with @Consume annotation, 
> no? Why are there seemingly two ways of doing the same thing? In the context 
> of a Spring Boot/Camel/ActiveMQ what am I missing?
>
> Any info is appreciated!
>
>
> > On Jul 7, 2019, at 10:05 AM, Claus Ibsen <[email protected]> wrote:
> >
> > Hi
> >
> > @Handler is not related to ConsumerTemplate.
> >
> > You can use @Handler when you have a POJO with N+ methods, and you
> > just want to tell Camel that it should always use this method when
> > Camel is using this bean, such as when you send a message to the bean
> > endpoint, or use bean(MyBeanClass.class) in the route etc.
> >
> > On the other hand @Consume is an annotation you can use on a bean to
> > let Camel use the method as consumer, and this is more related to
> > consumer template. Then you can do POJO messaging, eg if you use
> > Spring Boot you can do this on beans you let Spring Boot manage.
> >
> > https://github.com/apache/camel/tree/master/examples/camel-example-pojo-messaging
> >  
> > <https://github.com/apache/camel/tree/master/examples/camel-example-pojo-messaging>
> >
> > On Sun, Jul 7, 2019 at 4:48 PM Richard Flores <[email protected] 
> > <mailto:[email protected]>> wrote:
> >>
> >> Hi,
> >>
> >> I’m new to Camel, trying to get my head wrapped around conventions and 
> >> usages and get some samples going. I’m trying to understand what is the 
> >> difference between Consumer Templates and the @Handler Annotation.
> >>
> >> According to http://camel.apache.org/manual/camel-manual-2.3.0.html 
> >> <http://camel.apache.org/manual/camel-manual-2.3.0.html> 
> >> <http://camel.apache.org/manual/camel-manual-2.3.0.html 
> >> <http://camel.apache.org/manual/camel-manual-2.3.0.html>>
> >>
> >>        @Handler
> >>
> >>        Available as of Camel 2.0
> >>
> >>        You can mark a method in your bean with the @Handler annotation to 
> >> indicate that this method should be used for Bean Binding.
> >>        This has the advantage as you do not have to specify the method 
> >> name in the Camel route. And thus you do not run into problems when you 
> >> rename the method name using an IDE that don't find all references.
> >>
> >>        public class Bar {
> >>
> >>                @Handler
> >>                public String doSomething(Stringbody) {
> >>                        // process the in body and return whatever you want
> >>                        return "Bye World";
> >>        }
> >>
> >> Given a bean with configured routes and a producer template, I get the 
> >> impression that you could use a bean with a method annotated with @Handler 
> >> in lieu of a bean with a regular method that uses a consumer template.
> >>
> >> Is this correct? What am I missing?
> >>
> >> Also, I’m planning on using Spring Boot with Spring for Apache ActiveMQ 
> >> and Apache Camel, do the producer/consumer, handler concepts change?
> >>
> >> Thanks!
> >
> >
> >
> > --
> > Claus Ibsen
> > -----------------
> > http://davsclaus.com <http://davsclaus.com/> @davsclaus
> > Camel in Action 2: https://www.manning.com/ibsen2 
> > <https://www.manning.com/ibsen2>



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to