Hello Claus,

Thanks a lot for clarification!

Best Regards,
Sergey

-----Original Message-----
From: Claus Ibsen [mailto:claus.ib...@gmail.com] 
Sent: Thursday, October 25, 2012 12:49 PM
To: users@camel.apache.org
Subject: Re: Endpoint and Producer isSingleton behavior in the OSGi

On Thu, Oct 25, 2012 at 10:18 AM, Zhemzhitsky Sergey 
<sergey_zhemzhit...@sberbank-cib.ru> wrote:
> Hello camel gurus,
>
> I just need some clarification about how DefaultEndpoint, DefaultProducer 
> behave depends on whether their isSingleton method returns true or false.
>
> My understanding is the follosing:
>
>
> 1.       If DefaultEndpoint.isSingleton() returns true the same instance of 
> the endpoint will be reused across all the camel contexts, and in case of 
> OSGi this mean that the same endpoint instance will be reused across all the 
> bundles that contain some camel functionality.
>

No its reused per CamelContext. Endpoints / producers / consumers et all is per 
CamelContext and not shared across bundles.



> 2.       If DefaultEndpoint.isSingleton() returns false then for each camel 
> context a new instance of the endpoint is created and in the OSGi the new 
> instance of the endpoint will be created for each separate bundle that 
> contains a camel context.
>

if false, then the endpoint is not stored in the endpoint registry for any 
re-use. And on each endpoint lookup a new instance is created.


> 3.       If DefaultProducer.isSingleton() returns true then the same instance 
> of the producer, i.e., will be used every time not depending on the endpoint 
> uri, i.e. for the following producers <to uri=”comp:producer?param1=val1”/> 
> and <to uri=”comp:producer?param1=val1&param2=val2”/> will be used the same 
> instance of the producer?
>

No these are 2 different endpoints (unless the endpoint supports lenient 
properties - eg a bit special but think like a http endpoint where any of the 
uri parameters can be dynamic, but you want to use the same Camel endpoint)


> 4.       If DefaultProducer.isSingleton() returns false then for the 
> different endpoint URIs will be returned different instances of producer.
>
> So summarizing all the points above if DefaultEndpoint.isSingleton() is true 
> and DefaultProducer.isSingleton() in the OSGi environment then the producers 
> will be shared across all the camel contexts located in all the OSGi bundles, 
> right?
>
>
> Best Regards,
> Sergey
>
>
> _______________________________________________________
> CONFIDENTIALITY NOTICE: This email and any files attached to it may be 
> confidential. If you are not the intended recipient you are notified that 
> using, copying, distributing or taking any action in reliance on the contents 
> of this information is strictly prohibited. If you have received this email 
> in error please notify the sender and delete this email.
>



--
Claus Ibsen
-----------------
Red Hat, Inc.
FuseSource is now part of Red Hat
Email: cib...@redhat.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Reply via email to