Hi

I loaded the RandomLoadBalanceTest unit test from camel-core and put a
break point at
        assertMockEndpointsSatisfied();

And then inspected the CameContext and its getRouteDefinitions().
See attached picture from the debugger, shows the object graph and the
types it has a runtime.

Maybe you need a getLoadBalancer() without a parameter. But try with
getLoadBalancer(null) in the class LoadBalancerDefinition as it should
have been created. Notice its the load balancer definition with R that
can return the specific type.



On Sat, Jul 4, 2009 at 11:07 AM, alloyer<allo...@gmail.com> wrote:
>
> The getLoadBalancerType don't return null but the getAnnotation().
> The getLoadBalancerType return a LoadBalancerDefinition instance, which I
> think should be a
> RandomLoadBalancerdefinition one.
>
> The dsl is: from("direct:start").loadBalance().random().to("mock:x",
> "mock:y", "mock:z")
>
>
> Claus Ibsen-2 wrote:
>>
>> On Sat, Jul 4, 2009 at 8:16 AM, alloyer<allo...@gmail.com> wrote:
>>>
>>> Grabbing name from dataFormat type works fine.
>>> But when I use it on loadBalancer type, it throws a null pointer
>>> exception.
>>>
>>>
>>> loadBalanceDefinition.getLoadBalancerType().getClass().getAnnotation(XmlRootElement.class)
>>> throws the exception.
>>>
>>
>> I think its because you use ref to lookup the definition in the registry.
>> Then when Camel builds the runtime route it will lookup the real load
>> balancer and use it.
>>
>> So if getLoadBalancerType returns null then try checking getRef and
>> see if you can lookup this bean in the registry
>>
>>
>>
>> What does the route DSL looks like?
>>
>>>
>>> JIRA j...@apache.org wrote:
>>>>
>>>>
>>>>     [
>>>> https://issues.apache.org/activemq/browse/CAMEL-1392?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52687#action_52687
>>>> ]
>>>>
>>>> Jonathan Anstey commented on CAMEL-1392:
>>>> ----------------------------------------
>>>>
>>>> Also, instead of duplicating the dataformat types (and loadbalancer
>>>> types
>>>> too), you should be able to grab the short names through the JAXB
>>>> metadata. Like so
>>>>
>>>> {code}
>>>> dataFormat.getClass().getAnnotation(XmlRootElement.class).name()
>>>> {code}
>>>>
>>>>> groovy renderer
>>>>> ---------------
>>>>>
>>>>>                 Key: CAMEL-1392
>>>>>                 URL:
>>>>> https://issues.apache.org/activemq/browse/CAMEL-1392
>>>>>             Project: Apache Camel
>>>>>          Issue Type: Sub-task
>>>>>            Reporter: James Strachan
>>>>>            Assignee: Xueqiang Mi
>>>>>         Attachments: camel-web-20090629.patch, camel-web-20090703.patch
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> This message is automatically generated by JIRA.
>>>> -
>>>> You can reply to this email to add a comment to the issue online.
>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/-jira--Created%3A-%28CAMEL-1392%29-groovy-renderer-tp22220288p24331647.html
>>> Sent from the Camel Development mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>>
>
> --
> View this message in context: 
> http://www.nabble.com/-jira--Created%3A-%28CAMEL-1392%29-groovy-renderer-tp22220288p24332317.html
> Sent from the Camel Development mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

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

Reply via email to