BTW

I created a ticket for it
https://issues.apache.org/activemq/browse/CAMEL-1424


On Thu, Mar 5, 2009 at 9:49 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> On Thu, Mar 5, 2009 at 9:40 AM, ee7arh <andrew.hu...@2e-systems.com> wrote:
>>
>> Thanks for the feedback,
>>
>> It looks like we are talking about the same use case. In my example, all my
>> methods had the same name, but each method had a different parameter
>> (Object1, 2 and 3). Each of these parameter types inheritted from "Objectn".
>> So each method did have a different concrete sub-type although all are
>> instances of Objectn. In your example, your 3rd method has a different
>> name... was that a typo?
> Yeah probably.
>>
>> I could certainly use different method names, it would just mean I have to
>> have some more logic in my RouteBuilder. At the moment, I just send objects
>> off the queue to the same bean method and ask it to take care of selecting
>> the correct one by overloading.
> You can send it to an indirect method that will check the type and
> invoke the correct method of the 3.
> Then you route can stay simple.
>
>
>
>>
>> Thanks and Regards
>> Andrew
>>
>>
>> ee7arh wrote:
>>>
>>> Hi,
>>>
>>> I have a bean defined which has 3 methods all with same name but with
>>> different arguements. I would like to route messages from a queue to this
>>> bean and depending on the object type I was hoping that the correct method
>>> would get called by overloading.
>>>
>>> Instead i get the error:
>>>
>>> org.apache.camel.NoTypeConversionAvailableException: No type converter
>>> available to convert from type:.....
>>>
>>> I noticed that the first method defined in my bean caused this error so it
>>> looks like Camel takes the 1st method and tries (and fails) to convert the
>>> message.
>>>
>>> here is my bean definition:
>>>
>>> @Service(value = "serviceEventGenerator")
>>> public class ServiceEventGenerator {
>>>
>>>     public ArrayList<ServiceEvent> generateServiceEvents(Object1 event) {}
>>>
>>>     public ArrayList<ServiceEvent> generateServiceEvents(Object2 event) {}
>>>
>>>     public ArrayList<ServiceEvent> generateServiceEvents(Object3 event) {}
>>>
>>> }
>>>
>>> (Incidentally in my example, Object 1,2 and 3 all extend from a parent
>>> class "Objectn".)
>>>
>>> And my route:
>>>
>>> from("jms:queue:unmarshalledEventsQueue")
>>>             .to("log:unmarshalledEventLogger?level=INFO")
>>>
>>> .to("bean:serviceEventGenerator?methodName=generateServiceEvents")
>>>
>>> Thanks in advance for any help
>>>
>>> Andrew
>>>
>>
>> --
>> View this message in context: 
>> http://www.nabble.com/Is-it-possible-to-overload-a-bean-method--tp22338316p22347357.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/

Reply via email to