There is no @Endpoint(ref="camelTemplate") annotation.

If I use the following syntax -->  @Produce(context="camelTemplate"), it works

KR,

Charles Moulliard

Senior Enterprise Architect (J2EE, .NET, SOA)
Apache Camel - ServiceMix Committer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Blog : http://cmoulliard.blogspot.com |  Twitter : http://twitter.com/cmoulliard
Linkedin : http://www.linkedin.com/in/charlesmoulliard | Skype: cmoulliard



On Tue, Jun 29, 2010 at 3:21 PM, Willem Jiang <[email protected]> wrote:
> Charles Moulliard wrote:
>>
>> If I try to use annotation in the class requesting the Producer
>>
>>   �...@produce(ref="camelTemplate")
>>    private ProducerTemplate producerTemplate;
>>
>> and
>>
>> Camel Spring XML file
>>
>>        <!-- add route in camel context -->
>>        <camelContext id="camelAlarmManager"
>> xmlns="http://camel.apache.org/schema/spring";>
>>                <template id="camelTemplate" />
>>        </camelContext>
>>
>> I get the following error :
>>
>> Caused by: java.lang.IllegalArgumentException: registry entry called
>> camelTemplate of type org.apache.camel.Endpoint must be specified
>>        at
>> org.apache.camel.util.ObjectHelper.notNull(ObjectHelper.java:244)
>>        at
>> org.apache.camel.util.CamelContextHelper.mandatoryLookup(CamelContextHelper.java:123)
>>        at
>> org.apache.camel.util.CamelContextHelper.getEndpointInjection(CamelContextHelper.java:138)
>>        at
>> org.apache.camel.impl.CamelPostProcessorHelper.getEndpointInjection(CamelPostProcessorHelper.java:125)
>>        at
>> org.apache.camel.impl.CamelPostProcessorHelper.createInjectionProducerTemplate(CamelPostProcessorHelper.java:167)
>>        at
>> org.apache.camel.impl.CamelPostProcessorHelper.getInjectionValue(CamelPostProcessorHelper.java:134)
>>        at
>> org.apache.camel.spring.CamelBeanPostProcessor.injectField(CamelBeanPostProcessor.java:215)
>>
>> What is wrong ?
>
> Can you check if your annotation has other kind of annotation like
> @Endpoint(ref="camelTemplate")?
>
> From the stack trace it looks like your class plan to inject a endpoint with
> the name of camelTemplate.
>
> Willem
>
>
>>
>> KR,
>>
>>
>> Charles Moulliard
>>
>> Senior Enterprise Architect (J2EE, .NET, SOA)
>> Apache Camel - ServiceMix Committer
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> Blog : http://cmoulliard.blogspot.com |  Twitter :
>> http://twitter.com/cmoulliard
>> Linkedin : http://www.linkedin.com/in/charlesmoulliard | Skype: cmoulliard
>>
>>
>>
>> On Tue, Jun 29, 2010 at 2:36 PM, Willem Jiang <[email protected]>
>> wrote:
>>>
>>> I think we could export the CamelContext as the service, then use
>>> camelContext.getRegistry().lookup("producerTemplate") to get the
>>> template.
>>>
>>> Or we could think about export the producerTemplate as a service, than
>>> other
>>> bundle has a way to access certain camel context.
>>>
>>> Willem
>>> ----------------------------------
>>> Apache Camel, Apache CXF committer
>>> Open SOA http://www.fusesource.com
>>> Blog http://willemjiang.blogspot.com
>>> Tiwtter http://twitter.com/willemjiang
>>>
>>> Christian Schneider wrote:
>>>>
>>>>  Probably not directly but we could publish a service that serves the
>>>> context. I am not sure if serving the context is a good idea though as
>>>> it
>>>> promotes an
>>>> ugly style. It is like directly accessing a spring context. We should
>>>> give
>>>> this some thoughts before starting. But Charles could already do this in
>>>> his
>>>> project for the mean
>>>> time.
>>>>
>>>> Greetings
>>>>
>>>> Christian
>>>>
>>>> Am 29.06.2010 08:00, schrieb Charles Moulliard:
>>>>>
>>>>> Can we export a camelContext (from one bundle) by exposing it as a
>>>>> OSGI service using<osgi:reference>  ?
>>>>>
>>>>>
>>>>> On Tue, Jun 29, 2010 at 1:56 AM, Willem Jiang<[email protected]>
>>>>>  wrote:
>>>>>>
>>>>>> Hi Charles,
>>>>>>
>>>>>> Both solutions are OK if you can get the SpringCamelContext for your
>>>>>> bundle
>>>>>> utility.
>>>>>> And the option 1 is easy to understand :)
>>>>>>
>>>>>> Willem
>>>>>> ----------------------------------
>>>>>> Apache Camel, Apache CXF committer
>>>>>> Open SOA http://www.fusesource.com
>>>>>> Blog http://willemjiang.blogspot.com
>>>>>> Tiwtter http://twitter.com/willemjiang
>>>>>>
>>>>>> Charles Moulliard wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I have two bundles, one playing the role of an utility package and
>>>>>>> another where the camel context instantiates a Camel
>>>>>>> ProducerTemplate.
>>>>>>> What is the best way to retrieve the ProducerTemplate from my bundle
>>>>>>> utility :
>>>>>>>
>>>>>>> 1) using SpringCamelContext -->  SpringCamelContext camel =
>>>>>>> (SpringCamelContext) ac.getBean("producerTemplate");
>>>>>>> 2) using @ProducerTemplate + ref to the bean object -->
>>>>>>> @ProducerTemplate(ref="producerTemplate");
>>>>>>> 3) ...
>>>>>>>
>>>>>>> Kind regards,
>>>>>>>
>>>>>>> Charles Moulliard
>>>>>>>
>>>>>>> Senior Enterprise Architect (J2EE, .NET, SOA)
>>>>>>> Apache Camel - ServiceMix Committer
>>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>> Blog : http://cmoulliard.blogspot.com |  Twitter :
>>>>>>> http://twitter.com/cmoulliard
>>>>>>> Linkedin : http://www.linkedin.com/in/charlesmoulliard | Skype:
>>>>>>> cmoulliard
>>>>>>>
>>>
>>
>
>

Reply via email to