The component does provide a service and I see that it got registered again, 
that's what I was using to assume the instance was re-created.  Perhaps that is 
why the component is re-created?  The provided service is not for the needed 
interface for the consumer though so I would have to provide a 
different/another service.

I'm aware of using config admin and factory pids and I'm using that in a way 
with these components, but more like a wrapper as I need to add certain 
properties to all components of this type.  Are you saying the life cycle is 
different for these and the DS runtime would ignore the static policy for the 
service reference?

Thanks,
Dave

-----Original Message-----
From: David Jencks [mailto:[email protected]] 
Sent: Tuesday, December 17, 2013 3:45 PM
To: [email protected]
Subject: Re: uses ComponentInstances as part of the Declarative Services 
specification

There is no external notification that the instance has been disposed of.  
Assuming your component has a disposed method, that will get called and you can 
notify users yourself.  But I would definitely recommend using a Service 
instead.

I'm very surprised that an instance obtained from a ComponentFactory is getting 
recreate automatically when a static reference becomes unavailable.  I would 
expect you'd have to create the new instance yourself.  Are you sure this is 
what's happening?

Are you aware of how to use config admin with factory pids to create multiple 
instances of a component?  This may not be documented all that well but that 
generally provides component life cycles that I find more useful.

thanks
david jencks

On Dec 17, 2013, at 12:32 PM, "Humeniuk, David P" 
<[email protected]> wrote:

> We've been using ComponentFactory's and ComponentInstances in our software 
> for a while when we have a component that we need multiple instances.  
> However, I've noticed that if a component has an optional, static reference, 
> the component will be disposed and activated automatically when the service 
> referenced comes and goes (which is not too surprising based on the meaning 
> of static) meaning the previous instance is no longer valid.
> 
> The question is, if I have something that uses that instance, how is it 
> supposed to know about the replaced instance.  I'm guessing that the 
> component instance object should not be used in this case and I should 
> instead try have the component provide a service and use the service 
> reference instead??  Is that what is expected or is there some way to be 
> notified about an updated component instance?
> 
> Thanks,
> Dave Humeniuk


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to