You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Dave Smith <da...@candata.com> on 2017/03/31 14:41:26 UTC

SCR : Unsatisfied ComponentFactory

We have some ComponentFactory's that are not starting. However in the GOGO
shell console and the using the ServiceComponentRuntime there are no
unsatisfiedReferences  shown for the factory and the Factories are not
registered in the services list

Re: SCR : Unsatisfied ComponentFactory

Posted by Dave Smith <da...@candata.com>.
I have read over the spec and I would suggest it is unclear if we should be
returning the factory instance or the instances that the factory created.
Either way knowing why a factory is not started is useful and should be
somehow worked into the spec. Right now I had to hack around the limitation
and I am manually checking if the required services are available , not
ideal but it works.


Dave

On Fri, Mar 31, 2017 at 5:28 PM, David Jencks <da...@gmail.com>
wrote:

>
> > On Mar 31, 2017, at 2:20 PM, Dave Smith <da...@candata.com> wrote:
> >
> > The model controls the UI. When a service becomes unavailable the
> > deactivate is called which then tells the UI that is is not available. In
> > reality this never happens , so it is not an issue.
>
> it might be here :-)
>
> >
> > I would suggest then there is an issue. We should be able to find out why
> > factory components do not resolve , no?
>
> I really want the scr command to be based off of scr runtime. I couldn’t
> think of a plausible way to show the status of the component factory itself
> when this was being specced. You are welcome to take this up with the EG
> :-).
>
> One thing that ought to show the reason is to make all the references
> optional and then in your supplied configuration set the minimum
> cardinality to 1, making them required in the component instances.  So for
> a reference named Foo you’d have Foo.cardinality.minimum=1.  As long as the
> factory component is enabled the ComponentFactory service will be
> registered and if you can’t create an instance you might be able to figure
> out why.
>
> david jencks
>
> >
> > Dave
> >
> > On Fri, Mar 31, 2017 at 5:12 PM, David Jencks <da...@gmail.com>
> > wrote:
> >
> >>
> >>> On Mar 31, 2017, at 1:02 PM, David Jencks <da...@gmail.com>
> >> wrote:
> >>>
> >>>>
> >>>> On Mar 31, 2017, at 11:03 AM, Dave Smith <dave.smith@candata.com
> >> <ma...@candata.com>> wrote:
> >>>>
> >>>> See below
> >>>>
> >>>> On Fri, Mar 31, 2017 at 1:51 PM, David Jencks <
> david.a.jencks@gmail.com
> >> <ma...@gmail.com>>
> >>>> wrote:
> >>>>
> >>>>> I think scr:info shows you instances of the factory component you’ve
> >>>>> created with newInstance on the ComponentFactory service.  If you
> list
> >>>>> services do you see the ComponentFactory service registered from your
> >>>>> bundle?
> >>>>>
> >>>>
> >>>> No. In the case of a standard service you always get a service pid
> >>>> regardless if the component resolves or not. Thus src:info <pid> will
> >> tell
> >>>> you what is not resolved. In the case of ComponentFactory if it
> >> resolves it
> >>>> gets a PID that you can then get details on otherwise you have to give
> >> it
> >>>> the full name and all this gives you is CompoentInfo but not it's
> state.
> >>>
> >>> I’m not quite sure what you mean and I don’t think you answered my
> >> question about what listing services (not using scr, just by bundle)
> >> shows.  Reviewing the code this from ComponentFactoryImpl makes me think
> >> that the component descriptions
> >>
> >> Apparently I’m not yet awake…. component configurations of course.
> >>
> >>> shown are those created by newInstance, not including one for the
> >> component factory itself:
> >>>
> >>>    @Override
> >>>    public void getComponentManagers(List<AbstractComponentManager<S>>
> >> cms)
> >>>    {
> >>>        synchronized (m_componentInstances)
> >>>        {
> >>>            cms.addAll(m_componentInstances.keySet());
> >>>        }
> >>>    }
> >>>
> >>> So I continue to think the scr command won’t tell you much about the
> >> component factory service itself.
> >>>>
> >>>>
> >>>>>
> >>>>> On a separate note, Ive never seen a plausible use of a factory
> >> component
> >>>>> with references, so I’d be interested to see some info about a
> >> situation in
> >>>>> which this is a suitable approach.
> >>>>>
> >>>>
> >>>> Legacy UI code that follows a Presentation Model style . It holds the
> >> state
> >>>> plus change listeners that call services. Thus the UI looks up the
> >> factory
> >>>> and creates an instance to hold state and run actions (Sort of like a
> >>>> Stateful Session bean , remember those?)
> >>>
> >>> What happens to the UI when one of the referenced services disappears?
> >> Have you found a way to detect this?
> >>
> >> Not being able to find a solution to this has led me to either create
> >> factory configurations or use the felix persistent factory components
> >> extension I wrote to try to make the lifecycle more usable.
> >>
> >> david jencks
> >>
> >>>
> >>> thanks
> >>> david jencks
> >>>
> >>>>
> >>>> Dave
> >>>>
> >>>>
> >>>>
> >>>>>
> >>>>> thanks
> >>>>> david jencks
> >>>>>
> >>>>>> On Mar 31, 2017, at 8:46 AM, Dave Smith <dave.smith@candata.com
> >> <ma...@candata.com>> wrote:
> >>>>>>
> >>>>>> No, It still has to resolve to know if it is available to activate
> >> and
> >>>>>> then register a facade.  Otherwise non DS services that might use it
> >>>>> would
> >>>>>> not see it.
> >>>>>>
> >>>>>> Dave
> >>>>>>
> >>>>>> On Fri, Mar 31, 2017 at 11:41 AM, Raymond Auge <
> >> raymond.auge@liferay.com <ma...@liferay.com>
> >>>>>>
> >>>>>> wrote:
> >>>>>>
> >>>>>>> On Fri, Mar 31, 2017 at 11:22 AM, Dave Smith <
> dave.smith@candata.com
> >> <ma...@candata.com>>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>> It is ugly (long story)
> >>>>>>>>
> >>>>>>>> scr:info com.candata.b3.client.bbx.TRACK01
> >>>>>>>> *** Bundle: com.candata.b3.client.jnj (7)
> >>>>>>>> Component Description:
> >>>>>>>> Name: com.candata.b3.client.bbx.TRACK01
> >>>>>>>> Implementation Class: com.candata.b3.client.bbx.TRACK01
> >>>>>>>> Default State: enabled
> >>>>>>>> Activation: delayed
> >>>>>>>>
> >>>>>>>
> >>>>>>> This is significant! It means the component is lazily activated!
> >>>>>>> Effectively this says that the component won't do anything (such as
> >>>>>>> activate) until some other actor requests the service from the
> >> service
> >>>>>>> registry.
> >>>>>>>
> >>>>>>> Could that be your issue?
> >>>>>>>
> >>>>>>> - Ray
> >>>>>>>
> >>>>>>>
> >>>>>>>> Configuration Policy: optional
> >>>>>>>> Activate Method: activate
> >>>>>>>> Deactivate Method: deactivate
> >>>>>>>> Modified Method: -
> >>>>>>>> Configuration Pid: [com.candata.b3.client.bbx.TRACK01]
> >>>>>>>> Factory: com.candata.b3.client.bbx.TRACK01
> >>>>>>>> Services:
> >>>>>>>>  com.candata.bbx.client.interp.interfaces.BbxProgWithArgs
> >>>>>>>> Service Scope: singleton
> >>>>>>>> Reference: B313AFactory
> >>>>>>>>  Interface Name: org.osgi.service.component.ComponentFactory
> >>>>>>>>  Target Filter: (component.factory=com.
> >> candata.b3.client.bbx.B313A)
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: B3LogDAO
> >>>>>>>>  Interface Name: com.candata.b3.common.interfaces.B3LogDAO
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: BbxContext
> >>>>>>>>  Interface Name: com.candata.bbx.client.interp.
> >> interfaces.BbxContext
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: CCI01AFactory
> >>>>>>>>  Interface Name: org.osgi.service.component.ComponentFactory
> >>>>>>>>  Target Filter: (component.factory=com.
> >> candata.b3.client.bbx.CCI01A)
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: CCIImporterPMFactory
> >>>>>>>>  Interface Name: org.osgi.service.component.ComponentFactory
> >>>>>>>>  Target Filter: (component.factory=com.
> candata.custom.fyke.client.
> >>>>>>>> model.CCIImporterPM)
> >>>>>>>>  Cardinality: 0..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: CarrierDAO
> >>>>>>>>  Interface Name: com.candata.comm.cbsa.common.
> >> interfaces.CarrierDAO
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: CompanyInfoService
> >>>>>>>>  Interface Name: com.candata.broker.util.common.services.
> >>>>>>>> CompanyInfoService
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: CustomerDAO
> >>>>>>>>  Interface Name: com.candata.customer.common.
> >> interfaces.CustomerDAO
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: CustomsConfigurationService
> >>>>>>>>  Interface Name: com.candata.b3.client.services.
> >>>>>>>> CustomsConfigurationService
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: DisplayThreadService
> >>>>>>>>  Interface Name: com.candata.swt.services.DisplayThreadService
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: EntryStatusDAO
> >>>>>>>>  Interface Name: com.candata.b3.common.interfaces.EntryStatusDAO
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: ErrorHandlingService
> >>>>>>>>  Interface Name: com.candata.gui.services.ErrorHandlingService
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: INV01Service
> >>>>>>>>  Interface Name: com.candata.bbx.client.services.INV01Service
> >>>>>>>>  Cardinality: 0..1
> >>>>>>>>  Policy: dynamic
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: INV11BService
> >>>>>>>>  Interface Name: com.candata.bbx.client.services.INV11BService
> >>>>>>>>  Cardinality: 0..1
> >>>>>>>>  Policy: dynamic
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: IOpenItems
> >>>>>>>>  Interface Name: com.candata.core.common.interfaces.invoicing.
> >>>>>>>> IOpenItems
> >>>>>>>>  Cardinality: 0..1
> >>>>>>>>  Policy: dynamic
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: ITrackCharges
> >>>>>>>>  Interface Name: com.candata.core.common.interfaces.invoicing.
> >>>>>>>> ITrackCharges
> >>>>>>>>  Cardinality: 0..1
> >>>>>>>>  Policy: dynamic
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: InvoiceFindResultService
> >>>>>>>>  Interface Name: com.candata.inv.api.common.services.
> >>>>>>>> InvoiceFindResultService
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: InvoiceSettingsService
> >>>>>>>>  Interface Name: com.candata.inv.api.client.services.
> >>>>>>>> InvoiceSettingsService
> >>>>>>>>  Cardinality: 0..1
> >>>>>>>>  Policy: dynamic
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: Logger
> >>>>>>>>  Interface Name: com.candata.core.api.interfaces.Logger
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: Mar03Factory
> >>>>>>>>  Interface Name: org.osgi.service.component.ComponentFactory
> >>>>>>>>  Target Filter: (component.factory=com.
> >> candata.customer.client.bbx.
> >>>>>>>> MAR03)
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: Menu13
> >>>>>>>>  Interface Name: com.candata.b3.client.bbx.Menu13
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: MostRecentAdminService
> >>>>>>>>  Interface Name: com.candata.util.client.services.
> >>>>>>>> MostRecentAdminService
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: PortService
> >>>>>>>>  Interface Name: com.candata.util.client.services.PortService
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: PropertiesService
> >>>>>>>>  Interface Name: com.candata.util.common.
> >> services.PropertiesService
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: ShipmentBus
> >>>>>>>>  Interface Name: com.candata.b3.common.interfaces.ShipmentBus
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: ShipmentDAO
> >>>>>>>>  Interface Name: com.candata.b3.common.interfaces.ShipmentDAO
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: ShipmentMenuItem
> >>>>>>>>  Interface Name: com.candata.b3.client.services.ShipmentMenuItem
> >>>>>>>>  Cardinality: 0..n
> >>>>>>>>  Policy: dynamic
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: ShipmentResponseDAO
> >>>>>>>>  Interface Name: com.candata.b3.common.
> >>>>> interfaces.ShipmentResponseDAO
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: ShipmentValidateAndSaveService
> >>>>>>>>  Interface Name: com.candata.b3.common.interfaces.
> >>>>>>>> ShipmentValidateAndSaveService
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: ShipmentVendorDAO
> >>>>>>>>  Interface Name: com.candata.b3.common.
> >> interfaces.ShipmentVendorDAO
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: TelnetPMFactory
> >>>>>>>>  Interface Name: org.osgi.service.component.ComponentFactory
> >>>>>>>>  Target Filter: (component.factory=com.candata.telnet.TelnetPM)
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: Track01PMFactory
> >>>>>>>>  Interface Name: org.osgi.service.component.ComponentFactory
> >>>>>>>>  Target Filter: (component.factory=com.candata.b3.client.bbx.
> >>>>>>> Track01PM)
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: UserProfile
> >>>>>>>>  Interface Name: com.candata.core.common.interfaces.UserProfile
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Reference: XMenu
> >>>>>>>>  Interface Name: com.candata.bbx.client.bbx.XMenu
> >>>>>>>>  Cardinality: 1..1
> >>>>>>>>  Policy: static
> >>>>>>>>  Policy option: reluctant
> >>>>>>>>  Reference Scope: bundle
> >>>>>>>> Component Description Properties:
> >>>>>>>>    B313AFactory.target = (component.factory=com.
> >>>>>>>> candata.b3.client.bbx.B313A)
> >>>>>>>>    CCI01AFactory.target = (component.factory=com.
> >>>>>>>> candata.b3.client.bbx.CCI01A)
> >>>>>>>>    CCIImporterPMFactory.target = (component.factory=com.
> >>>>>>>> candata.custom.fyke.client.model.CCIImporterPM)
> >>>>>>>>    Mar03Factory.target = (component.factory=com.
> >>>>>>>> candata.customer.client.bbx.MAR03)
> >>>>>>>>    TelnetPMFactory.target = (component.factory=com.
> >>>>>>>> candata.telnet.TelnetPM)
> >>>>>>>>    Track01PMFactory.target = (component.factory=com.
> >>>>>>>> candata.b3.client.bbx.Track01PM)
> >>>>>>>> (No Component Configurations)
> >>>>>>>>
> >>>>>>>> On Fri, Mar 31, 2017 at 11:16 AM, Raymond Auge <
> >>>>> raymond.auge@liferay.com <ma...@liferay.com>
> >>>>>>>>
> >>>>>>>> wrote:
> >>>>>>>>
> >>>>>>>>> On Fri, Mar 31, 2017 at 11:13 AM, Dave Smith <
> >> dave.smith@candata.com>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>> com.candata.b3.client.bbx.TRACK01
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> please do
> >>>>>>>>>
> >>>>>>>>> scr:info com.candata.b3.client.bbx.TRACK01
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
> >>>>>>>>> (@rotty3000)
> >>>>>>>>> Senior Software Architect *Liferay, Inc.* <
> http://www.liferay.com>
> >>>>>>>>> (@Liferay)
> >>>>>>>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> >>>>>>>>> (@OSGiAlliance)
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
> >>>>>>> (@rotty3000)
> >>>>>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
> >>>>>>> (@Liferay)
> >>>>>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> >>>>>>> (@OSGiAlliance)
> >>>>>>>
> >>>>>
> >>>>>
> >>>>> ------------------------------------------------------------
> ---------
> >>>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org <mailto:
> >> users-unsubscribe@felix.apache.org>
> >>>>> For additional commands, e-mail: users-help@felix.apache.org
> <mailto:
> >> users-help@felix.apache.org>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>

Re: SCR : Unsatisfied ComponentFactory

Posted by David Jencks <da...@gmail.com>.
> On Mar 31, 2017, at 2:20 PM, Dave Smith <da...@candata.com> wrote:
> 
> The model controls the UI. When a service becomes unavailable the
> deactivate is called which then tells the UI that is is not available. In
> reality this never happens , so it is not an issue.

it might be here :-)

> 
> I would suggest then there is an issue. We should be able to find out why
> factory components do not resolve , no?

I really want the scr command to be based off of scr runtime. I couldn’t think of a plausible way to show the status of the component factory itself when this was being specced. You are welcome to take this up with the EG :-).

One thing that ought to show the reason is to make all the references optional and then in your supplied configuration set the minimum cardinality to 1, making them required in the component instances.  So for a reference named Foo you’d have Foo.cardinality.minimum=1.  As long as the factory component is enabled the ComponentFactory service will be registered and if you can’t create an instance you might be able to figure out why.

david jencks

> 
> Dave
> 
> On Fri, Mar 31, 2017 at 5:12 PM, David Jencks <da...@gmail.com>
> wrote:
> 
>> 
>>> On Mar 31, 2017, at 1:02 PM, David Jencks <da...@gmail.com>
>> wrote:
>>> 
>>>> 
>>>> On Mar 31, 2017, at 11:03 AM, Dave Smith <dave.smith@candata.com
>> <ma...@candata.com>> wrote:
>>>> 
>>>> See below
>>>> 
>>>> On Fri, Mar 31, 2017 at 1:51 PM, David Jencks <david.a.jencks@gmail.com
>> <ma...@gmail.com>>
>>>> wrote:
>>>> 
>>>>> I think scr:info shows you instances of the factory component you’ve
>>>>> created with newInstance on the ComponentFactory service.  If you list
>>>>> services do you see the ComponentFactory service registered from your
>>>>> bundle?
>>>>> 
>>>> 
>>>> No. In the case of a standard service you always get a service pid
>>>> regardless if the component resolves or not. Thus src:info <pid> will
>> tell
>>>> you what is not resolved. In the case of ComponentFactory if it
>> resolves it
>>>> gets a PID that you can then get details on otherwise you have to give
>> it
>>>> the full name and all this gives you is CompoentInfo but not it's state.
>>> 
>>> I’m not quite sure what you mean and I don’t think you answered my
>> question about what listing services (not using scr, just by bundle)
>> shows.  Reviewing the code this from ComponentFactoryImpl makes me think
>> that the component descriptions
>> 
>> Apparently I’m not yet awake…. component configurations of course.
>> 
>>> shown are those created by newInstance, not including one for the
>> component factory itself:
>>> 
>>>    @Override
>>>    public void getComponentManagers(List<AbstractComponentManager<S>>
>> cms)
>>>    {
>>>        synchronized (m_componentInstances)
>>>        {
>>>            cms.addAll(m_componentInstances.keySet());
>>>        }
>>>    }
>>> 
>>> So I continue to think the scr command won’t tell you much about the
>> component factory service itself.
>>>> 
>>>> 
>>>>> 
>>>>> On a separate note, Ive never seen a plausible use of a factory
>> component
>>>>> with references, so I’d be interested to see some info about a
>> situation in
>>>>> which this is a suitable approach.
>>>>> 
>>>> 
>>>> Legacy UI code that follows a Presentation Model style . It holds the
>> state
>>>> plus change listeners that call services. Thus the UI looks up the
>> factory
>>>> and creates an instance to hold state and run actions (Sort of like a
>>>> Stateful Session bean , remember those?)
>>> 
>>> What happens to the UI when one of the referenced services disappears?
>> Have you found a way to detect this?
>> 
>> Not being able to find a solution to this has led me to either create
>> factory configurations or use the felix persistent factory components
>> extension I wrote to try to make the lifecycle more usable.
>> 
>> david jencks
>> 
>>> 
>>> thanks
>>> david jencks
>>> 
>>>> 
>>>> Dave
>>>> 
>>>> 
>>>> 
>>>>> 
>>>>> thanks
>>>>> david jencks
>>>>> 
>>>>>> On Mar 31, 2017, at 8:46 AM, Dave Smith <dave.smith@candata.com
>> <ma...@candata.com>> wrote:
>>>>>> 
>>>>>> No, It still has to resolve to know if it is available to activate
>> and
>>>>>> then register a facade.  Otherwise non DS services that might use it
>>>>> would
>>>>>> not see it.
>>>>>> 
>>>>>> Dave
>>>>>> 
>>>>>> On Fri, Mar 31, 2017 at 11:41 AM, Raymond Auge <
>> raymond.auge@liferay.com <ma...@liferay.com>
>>>>>> 
>>>>>> wrote:
>>>>>> 
>>>>>>> On Fri, Mar 31, 2017 at 11:22 AM, Dave Smith <dave.smith@candata.com
>> <ma...@candata.com>>
>>>>>>> wrote:
>>>>>>> 
>>>>>>>> It is ugly (long story)
>>>>>>>> 
>>>>>>>> scr:info com.candata.b3.client.bbx.TRACK01
>>>>>>>> *** Bundle: com.candata.b3.client.jnj (7)
>>>>>>>> Component Description:
>>>>>>>> Name: com.candata.b3.client.bbx.TRACK01
>>>>>>>> Implementation Class: com.candata.b3.client.bbx.TRACK01
>>>>>>>> Default State: enabled
>>>>>>>> Activation: delayed
>>>>>>>> 
>>>>>>> 
>>>>>>> This is significant! It means the component is lazily activated!
>>>>>>> Effectively this says that the component won't do anything (such as
>>>>>>> activate) until some other actor requests the service from the
>> service
>>>>>>> registry.
>>>>>>> 
>>>>>>> Could that be your issue?
>>>>>>> 
>>>>>>> - Ray
>>>>>>> 
>>>>>>> 
>>>>>>>> Configuration Policy: optional
>>>>>>>> Activate Method: activate
>>>>>>>> Deactivate Method: deactivate
>>>>>>>> Modified Method: -
>>>>>>>> Configuration Pid: [com.candata.b3.client.bbx.TRACK01]
>>>>>>>> Factory: com.candata.b3.client.bbx.TRACK01
>>>>>>>> Services:
>>>>>>>>  com.candata.bbx.client.interp.interfaces.BbxProgWithArgs
>>>>>>>> Service Scope: singleton
>>>>>>>> Reference: B313AFactory
>>>>>>>>  Interface Name: org.osgi.service.component.ComponentFactory
>>>>>>>>  Target Filter: (component.factory=com.
>> candata.b3.client.bbx.B313A)
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: B3LogDAO
>>>>>>>>  Interface Name: com.candata.b3.common.interfaces.B3LogDAO
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: BbxContext
>>>>>>>>  Interface Name: com.candata.bbx.client.interp.
>> interfaces.BbxContext
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: CCI01AFactory
>>>>>>>>  Interface Name: org.osgi.service.component.ComponentFactory
>>>>>>>>  Target Filter: (component.factory=com.
>> candata.b3.client.bbx.CCI01A)
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: CCIImporterPMFactory
>>>>>>>>  Interface Name: org.osgi.service.component.ComponentFactory
>>>>>>>>  Target Filter: (component.factory=com.candata.custom.fyke.client.
>>>>>>>> model.CCIImporterPM)
>>>>>>>>  Cardinality: 0..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: CarrierDAO
>>>>>>>>  Interface Name: com.candata.comm.cbsa.common.
>> interfaces.CarrierDAO
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: CompanyInfoService
>>>>>>>>  Interface Name: com.candata.broker.util.common.services.
>>>>>>>> CompanyInfoService
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: CustomerDAO
>>>>>>>>  Interface Name: com.candata.customer.common.
>> interfaces.CustomerDAO
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: CustomsConfigurationService
>>>>>>>>  Interface Name: com.candata.b3.client.services.
>>>>>>>> CustomsConfigurationService
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: DisplayThreadService
>>>>>>>>  Interface Name: com.candata.swt.services.DisplayThreadService
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: EntryStatusDAO
>>>>>>>>  Interface Name: com.candata.b3.common.interfaces.EntryStatusDAO
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: ErrorHandlingService
>>>>>>>>  Interface Name: com.candata.gui.services.ErrorHandlingService
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: INV01Service
>>>>>>>>  Interface Name: com.candata.bbx.client.services.INV01Service
>>>>>>>>  Cardinality: 0..1
>>>>>>>>  Policy: dynamic
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: INV11BService
>>>>>>>>  Interface Name: com.candata.bbx.client.services.INV11BService
>>>>>>>>  Cardinality: 0..1
>>>>>>>>  Policy: dynamic
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: IOpenItems
>>>>>>>>  Interface Name: com.candata.core.common.interfaces.invoicing.
>>>>>>>> IOpenItems
>>>>>>>>  Cardinality: 0..1
>>>>>>>>  Policy: dynamic
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: ITrackCharges
>>>>>>>>  Interface Name: com.candata.core.common.interfaces.invoicing.
>>>>>>>> ITrackCharges
>>>>>>>>  Cardinality: 0..1
>>>>>>>>  Policy: dynamic
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: InvoiceFindResultService
>>>>>>>>  Interface Name: com.candata.inv.api.common.services.
>>>>>>>> InvoiceFindResultService
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: InvoiceSettingsService
>>>>>>>>  Interface Name: com.candata.inv.api.client.services.
>>>>>>>> InvoiceSettingsService
>>>>>>>>  Cardinality: 0..1
>>>>>>>>  Policy: dynamic
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: Logger
>>>>>>>>  Interface Name: com.candata.core.api.interfaces.Logger
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: Mar03Factory
>>>>>>>>  Interface Name: org.osgi.service.component.ComponentFactory
>>>>>>>>  Target Filter: (component.factory=com.
>> candata.customer.client.bbx.
>>>>>>>> MAR03)
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: Menu13
>>>>>>>>  Interface Name: com.candata.b3.client.bbx.Menu13
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: MostRecentAdminService
>>>>>>>>  Interface Name: com.candata.util.client.services.
>>>>>>>> MostRecentAdminService
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: PortService
>>>>>>>>  Interface Name: com.candata.util.client.services.PortService
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: PropertiesService
>>>>>>>>  Interface Name: com.candata.util.common.
>> services.PropertiesService
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: ShipmentBus
>>>>>>>>  Interface Name: com.candata.b3.common.interfaces.ShipmentBus
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: ShipmentDAO
>>>>>>>>  Interface Name: com.candata.b3.common.interfaces.ShipmentDAO
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: ShipmentMenuItem
>>>>>>>>  Interface Name: com.candata.b3.client.services.ShipmentMenuItem
>>>>>>>>  Cardinality: 0..n
>>>>>>>>  Policy: dynamic
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: ShipmentResponseDAO
>>>>>>>>  Interface Name: com.candata.b3.common.
>>>>> interfaces.ShipmentResponseDAO
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: ShipmentValidateAndSaveService
>>>>>>>>  Interface Name: com.candata.b3.common.interfaces.
>>>>>>>> ShipmentValidateAndSaveService
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: ShipmentVendorDAO
>>>>>>>>  Interface Name: com.candata.b3.common.
>> interfaces.ShipmentVendorDAO
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: TelnetPMFactory
>>>>>>>>  Interface Name: org.osgi.service.component.ComponentFactory
>>>>>>>>  Target Filter: (component.factory=com.candata.telnet.TelnetPM)
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: Track01PMFactory
>>>>>>>>  Interface Name: org.osgi.service.component.ComponentFactory
>>>>>>>>  Target Filter: (component.factory=com.candata.b3.client.bbx.
>>>>>>> Track01PM)
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: UserProfile
>>>>>>>>  Interface Name: com.candata.core.common.interfaces.UserProfile
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Reference: XMenu
>>>>>>>>  Interface Name: com.candata.bbx.client.bbx.XMenu
>>>>>>>>  Cardinality: 1..1
>>>>>>>>  Policy: static
>>>>>>>>  Policy option: reluctant
>>>>>>>>  Reference Scope: bundle
>>>>>>>> Component Description Properties:
>>>>>>>>    B313AFactory.target = (component.factory=com.
>>>>>>>> candata.b3.client.bbx.B313A)
>>>>>>>>    CCI01AFactory.target = (component.factory=com.
>>>>>>>> candata.b3.client.bbx.CCI01A)
>>>>>>>>    CCIImporterPMFactory.target = (component.factory=com.
>>>>>>>> candata.custom.fyke.client.model.CCIImporterPM)
>>>>>>>>    Mar03Factory.target = (component.factory=com.
>>>>>>>> candata.customer.client.bbx.MAR03)
>>>>>>>>    TelnetPMFactory.target = (component.factory=com.
>>>>>>>> candata.telnet.TelnetPM)
>>>>>>>>    Track01PMFactory.target = (component.factory=com.
>>>>>>>> candata.b3.client.bbx.Track01PM)
>>>>>>>> (No Component Configurations)
>>>>>>>> 
>>>>>>>> On Fri, Mar 31, 2017 at 11:16 AM, Raymond Auge <
>>>>> raymond.auge@liferay.com <ma...@liferay.com>
>>>>>>>> 
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> On Fri, Mar 31, 2017 at 11:13 AM, Dave Smith <
>> dave.smith@candata.com>
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> com.candata.b3.client.bbx.TRACK01
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> please do
>>>>>>>>> 
>>>>>>>>> scr:info com.candata.b3.client.bbx.TRACK01
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>>>>>>>>> (@rotty3000)
>>>>>>>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>>>>>>>>> (@Liferay)
>>>>>>>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
>>>>>>>>> (@OSGiAlliance)
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>>>>>>> (@rotty3000)
>>>>>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>>>>>>> (@Liferay)
>>>>>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
>>>>>>> (@OSGiAlliance)
>>>>>>> 
>>>>> 
>>>>> 
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org <mailto:
>> users-unsubscribe@felix.apache.org>
>>>>> For additional commands, e-mail: users-help@felix.apache.org <mailto:
>> users-help@felix.apache.org>
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: SCR : Unsatisfied ComponentFactory

Posted by Dave Smith <da...@candata.com>.
The model controls the UI. When a service becomes unavailable the
deactivate is called which then tells the UI that is is not available. In
reality this never happens , so it is not an issue.

I would suggest then there is an issue. We should be able to find out why
factory components do not resolve , no?

Dave

On Fri, Mar 31, 2017 at 5:12 PM, David Jencks <da...@gmail.com>
wrote:

>
> > On Mar 31, 2017, at 1:02 PM, David Jencks <da...@gmail.com>
> wrote:
> >
> >>
> >> On Mar 31, 2017, at 11:03 AM, Dave Smith <dave.smith@candata.com
> <ma...@candata.com>> wrote:
> >>
> >> See below
> >>
> >> On Fri, Mar 31, 2017 at 1:51 PM, David Jencks <david.a.jencks@gmail.com
> <ma...@gmail.com>>
> >> wrote:
> >>
> >>> I think scr:info shows you instances of the factory component you’ve
> >>> created with newInstance on the ComponentFactory service.  If you list
> >>> services do you see the ComponentFactory service registered from your
> >>> bundle?
> >>>
> >>
> >> No. In the case of a standard service you always get a service pid
> >> regardless if the component resolves or not. Thus src:info <pid> will
> tell
> >> you what is not resolved. In the case of ComponentFactory if it
> resolves it
> >> gets a PID that you can then get details on otherwise you have to give
> it
> >> the full name and all this gives you is CompoentInfo but not it's state.
> >
> > I’m not quite sure what you mean and I don’t think you answered my
> question about what listing services (not using scr, just by bundle)
> shows.  Reviewing the code this from ComponentFactoryImpl makes me think
> that the component descriptions
>
> Apparently I’m not yet awake…. component configurations of course.
>
> > shown are those created by newInstance, not including one for the
> component factory itself:
> >
> >     @Override
> >     public void getComponentManagers(List<AbstractComponentManager<S>>
> cms)
> >     {
> >         synchronized (m_componentInstances)
> >         {
> >             cms.addAll(m_componentInstances.keySet());
> >         }
> >     }
> >
> > So I continue to think the scr command won’t tell you much about the
> component factory service itself.
> >>
> >>
> >>>
> >>> On a separate note, Ive never seen a plausible use of a factory
> component
> >>> with references, so I’d be interested to see some info about a
> situation in
> >>> which this is a suitable approach.
> >>>
> >>
> >> Legacy UI code that follows a Presentation Model style . It holds the
> state
> >> plus change listeners that call services. Thus the UI looks up the
> factory
> >> and creates an instance to hold state and run actions (Sort of like a
> >> Stateful Session bean , remember those?)
> >
> > What happens to the UI when one of the referenced services disappears?
> Have you found a way to detect this?
>
> Not being able to find a solution to this has led me to either create
> factory configurations or use the felix persistent factory components
> extension I wrote to try to make the lifecycle more usable.
>
> david jencks
>
> >
> > thanks
> > david jencks
> >
> >>
> >> Dave
> >>
> >>
> >>
> >>>
> >>> thanks
> >>> david jencks
> >>>
> >>>> On Mar 31, 2017, at 8:46 AM, Dave Smith <dave.smith@candata.com
> <ma...@candata.com>> wrote:
> >>>>
> >>>> No, It still has to resolve to know if it is available to activate
> and
> >>>> then register a facade.  Otherwise non DS services that might use it
> >>> would
> >>>> not see it.
> >>>>
> >>>> Dave
> >>>>
> >>>> On Fri, Mar 31, 2017 at 11:41 AM, Raymond Auge <
> raymond.auge@liferay.com <ma...@liferay.com>
> >>>>
> >>>> wrote:
> >>>>
> >>>>> On Fri, Mar 31, 2017 at 11:22 AM, Dave Smith <dave.smith@candata.com
> <ma...@candata.com>>
> >>>>> wrote:
> >>>>>
> >>>>>> It is ugly (long story)
> >>>>>>
> >>>>>> scr:info com.candata.b3.client.bbx.TRACK01
> >>>>>> *** Bundle: com.candata.b3.client.jnj (7)
> >>>>>> Component Description:
> >>>>>> Name: com.candata.b3.client.bbx.TRACK01
> >>>>>> Implementation Class: com.candata.b3.client.bbx.TRACK01
> >>>>>> Default State: enabled
> >>>>>> Activation: delayed
> >>>>>>
> >>>>>
> >>>>> This is significant! It means the component is lazily activated!
> >>>>> Effectively this says that the component won't do anything (such as
> >>>>> activate) until some other actor requests the service from the
> service
> >>>>> registry.
> >>>>>
> >>>>> Could that be your issue?
> >>>>>
> >>>>> - Ray
> >>>>>
> >>>>>
> >>>>>> Configuration Policy: optional
> >>>>>> Activate Method: activate
> >>>>>> Deactivate Method: deactivate
> >>>>>> Modified Method: -
> >>>>>> Configuration Pid: [com.candata.b3.client.bbx.TRACK01]
> >>>>>> Factory: com.candata.b3.client.bbx.TRACK01
> >>>>>> Services:
> >>>>>>   com.candata.bbx.client.interp.interfaces.BbxProgWithArgs
> >>>>>> Service Scope: singleton
> >>>>>> Reference: B313AFactory
> >>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
> >>>>>>   Target Filter: (component.factory=com.
> candata.b3.client.bbx.B313A)
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: B3LogDAO
> >>>>>>   Interface Name: com.candata.b3.common.interfaces.B3LogDAO
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: BbxContext
> >>>>>>   Interface Name: com.candata.bbx.client.interp.
> interfaces.BbxContext
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: CCI01AFactory
> >>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
> >>>>>>   Target Filter: (component.factory=com.
> candata.b3.client.bbx.CCI01A)
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: CCIImporterPMFactory
> >>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
> >>>>>>   Target Filter: (component.factory=com.candata.custom.fyke.client.
> >>>>>> model.CCIImporterPM)
> >>>>>>   Cardinality: 0..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: CarrierDAO
> >>>>>>   Interface Name: com.candata.comm.cbsa.common.
> interfaces.CarrierDAO
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: CompanyInfoService
> >>>>>>   Interface Name: com.candata.broker.util.common.services.
> >>>>>> CompanyInfoService
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: CustomerDAO
> >>>>>>   Interface Name: com.candata.customer.common.
> interfaces.CustomerDAO
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: CustomsConfigurationService
> >>>>>>   Interface Name: com.candata.b3.client.services.
> >>>>>> CustomsConfigurationService
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: DisplayThreadService
> >>>>>>   Interface Name: com.candata.swt.services.DisplayThreadService
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: EntryStatusDAO
> >>>>>>   Interface Name: com.candata.b3.common.interfaces.EntryStatusDAO
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: ErrorHandlingService
> >>>>>>   Interface Name: com.candata.gui.services.ErrorHandlingService
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: INV01Service
> >>>>>>   Interface Name: com.candata.bbx.client.services.INV01Service
> >>>>>>   Cardinality: 0..1
> >>>>>>   Policy: dynamic
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: INV11BService
> >>>>>>   Interface Name: com.candata.bbx.client.services.INV11BService
> >>>>>>   Cardinality: 0..1
> >>>>>>   Policy: dynamic
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: IOpenItems
> >>>>>>   Interface Name: com.candata.core.common.interfaces.invoicing.
> >>>>>> IOpenItems
> >>>>>>   Cardinality: 0..1
> >>>>>>   Policy: dynamic
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: ITrackCharges
> >>>>>>   Interface Name: com.candata.core.common.interfaces.invoicing.
> >>>>>> ITrackCharges
> >>>>>>   Cardinality: 0..1
> >>>>>>   Policy: dynamic
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: InvoiceFindResultService
> >>>>>>   Interface Name: com.candata.inv.api.common.services.
> >>>>>> InvoiceFindResultService
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: InvoiceSettingsService
> >>>>>>   Interface Name: com.candata.inv.api.client.services.
> >>>>>> InvoiceSettingsService
> >>>>>>   Cardinality: 0..1
> >>>>>>   Policy: dynamic
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: Logger
> >>>>>>   Interface Name: com.candata.core.api.interfaces.Logger
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: Mar03Factory
> >>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
> >>>>>>   Target Filter: (component.factory=com.
> candata.customer.client.bbx.
> >>>>>> MAR03)
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: Menu13
> >>>>>>   Interface Name: com.candata.b3.client.bbx.Menu13
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: MostRecentAdminService
> >>>>>>   Interface Name: com.candata.util.client.services.
> >>>>>> MostRecentAdminService
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: PortService
> >>>>>>   Interface Name: com.candata.util.client.services.PortService
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: PropertiesService
> >>>>>>   Interface Name: com.candata.util.common.
> services.PropertiesService
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: ShipmentBus
> >>>>>>   Interface Name: com.candata.b3.common.interfaces.ShipmentBus
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: ShipmentDAO
> >>>>>>   Interface Name: com.candata.b3.common.interfaces.ShipmentDAO
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: ShipmentMenuItem
> >>>>>>   Interface Name: com.candata.b3.client.services.ShipmentMenuItem
> >>>>>>   Cardinality: 0..n
> >>>>>>   Policy: dynamic
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: ShipmentResponseDAO
> >>>>>>   Interface Name: com.candata.b3.common.
> >>> interfaces.ShipmentResponseDAO
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: ShipmentValidateAndSaveService
> >>>>>>   Interface Name: com.candata.b3.common.interfaces.
> >>>>>> ShipmentValidateAndSaveService
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: ShipmentVendorDAO
> >>>>>>   Interface Name: com.candata.b3.common.
> interfaces.ShipmentVendorDAO
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: TelnetPMFactory
> >>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
> >>>>>>   Target Filter: (component.factory=com.candata.telnet.TelnetPM)
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: Track01PMFactory
> >>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
> >>>>>>   Target Filter: (component.factory=com.candata.b3.client.bbx.
> >>>>> Track01PM)
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: UserProfile
> >>>>>>   Interface Name: com.candata.core.common.interfaces.UserProfile
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Reference: XMenu
> >>>>>>   Interface Name: com.candata.bbx.client.bbx.XMenu
> >>>>>>   Cardinality: 1..1
> >>>>>>   Policy: static
> >>>>>>   Policy option: reluctant
> >>>>>>   Reference Scope: bundle
> >>>>>> Component Description Properties:
> >>>>>>     B313AFactory.target = (component.factory=com.
> >>>>>> candata.b3.client.bbx.B313A)
> >>>>>>     CCI01AFactory.target = (component.factory=com.
> >>>>>> candata.b3.client.bbx.CCI01A)
> >>>>>>     CCIImporterPMFactory.target = (component.factory=com.
> >>>>>> candata.custom.fyke.client.model.CCIImporterPM)
> >>>>>>     Mar03Factory.target = (component.factory=com.
> >>>>>> candata.customer.client.bbx.MAR03)
> >>>>>>     TelnetPMFactory.target = (component.factory=com.
> >>>>>> candata.telnet.TelnetPM)
> >>>>>>     Track01PMFactory.target = (component.factory=com.
> >>>>>> candata.b3.client.bbx.Track01PM)
> >>>>>> (No Component Configurations)
> >>>>>>
> >>>>>> On Fri, Mar 31, 2017 at 11:16 AM, Raymond Auge <
> >>> raymond.auge@liferay.com <ma...@liferay.com>
> >>>>>>
> >>>>>> wrote:
> >>>>>>
> >>>>>>> On Fri, Mar 31, 2017 at 11:13 AM, Dave Smith <
> dave.smith@candata.com>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>> com.candata.b3.client.bbx.TRACK01
> >>>>>>>>
> >>>>>>>
> >>>>>>> please do
> >>>>>>>
> >>>>>>> scr:info com.candata.b3.client.bbx.TRACK01
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
> >>>>>>> (@rotty3000)
> >>>>>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
> >>>>>>> (@Liferay)
> >>>>>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> >>>>>>> (@OSGiAlliance)
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
> >>>>> (@rotty3000)
> >>>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
> >>>>> (@Liferay)
> >>>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> >>>>> (@OSGiAlliance)
> >>>>>
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org <mailto:
> users-unsubscribe@felix.apache.org>
> >>> For additional commands, e-mail: users-help@felix.apache.org <mailto:
> users-help@felix.apache.org>
>

Re: SCR : Unsatisfied ComponentFactory

Posted by David Jencks <da...@gmail.com>.
> On Mar 31, 2017, at 1:02 PM, David Jencks <da...@gmail.com> wrote:
> 
>> 
>> On Mar 31, 2017, at 11:03 AM, Dave Smith <dave.smith@candata.com <ma...@candata.com>> wrote:
>> 
>> See below
>> 
>> On Fri, Mar 31, 2017 at 1:51 PM, David Jencks <david.a.jencks@gmail.com <ma...@gmail.com>>
>> wrote:
>> 
>>> I think scr:info shows you instances of the factory component you’ve
>>> created with newInstance on the ComponentFactory service.  If you list
>>> services do you see the ComponentFactory service registered from your
>>> bundle?
>>> 
>> 
>> No. In the case of a standard service you always get a service pid
>> regardless if the component resolves or not. Thus src:info <pid> will tell
>> you what is not resolved. In the case of ComponentFactory if it resolves it
>> gets a PID that you can then get details on otherwise you have to give it
>> the full name and all this gives you is CompoentInfo but not it's state.
> 
> I’m not quite sure what you mean and I don’t think you answered my question about what listing services (not using scr, just by bundle) shows.  Reviewing the code this from ComponentFactoryImpl makes me think that the component descriptions

Apparently I’m not yet awake…. component configurations of course.

> shown are those created by newInstance, not including one for the component factory itself:
> 
>     @Override
>     public void getComponentManagers(List<AbstractComponentManager<S>> cms)
>     {
>         synchronized (m_componentInstances)
>         {
>             cms.addAll(m_componentInstances.keySet());
>         }
>     }
> 
> So I continue to think the scr command won’t tell you much about the component factory service itself.
>> 
>> 
>>> 
>>> On a separate note, Ive never seen a plausible use of a factory component
>>> with references, so I’d be interested to see some info about a situation in
>>> which this is a suitable approach.
>>> 
>> 
>> Legacy UI code that follows a Presentation Model style . It holds the state
>> plus change listeners that call services. Thus the UI looks up the factory
>> and creates an instance to hold state and run actions (Sort of like a
>> Stateful Session bean , remember those?)
> 
> What happens to the UI when one of the referenced services disappears?  Have you found a way to detect this?

Not being able to find a solution to this has led me to either create factory configurations or use the felix persistent factory components extension I wrote to try to make the lifecycle more usable.

david jencks

> 
> thanks
> david jencks
> 
>> 
>> Dave
>> 
>> 
>> 
>>> 
>>> thanks
>>> david jencks
>>> 
>>>> On Mar 31, 2017, at 8:46 AM, Dave Smith <dave.smith@candata.com <ma...@candata.com>> wrote:
>>>> 
>>>> No, It still has to resolve to know if it is available to activate  and
>>>> then register a facade.  Otherwise non DS services that might use it
>>> would
>>>> not see it.
>>>> 
>>>> Dave
>>>> 
>>>> On Fri, Mar 31, 2017 at 11:41 AM, Raymond Auge <raymond.auge@liferay.com <ma...@liferay.com>
>>>> 
>>>> wrote:
>>>> 
>>>>> On Fri, Mar 31, 2017 at 11:22 AM, Dave Smith <dave.smith@candata.com <ma...@candata.com>>
>>>>> wrote:
>>>>> 
>>>>>> It is ugly (long story)
>>>>>> 
>>>>>> scr:info com.candata.b3.client.bbx.TRACK01
>>>>>> *** Bundle: com.candata.b3.client.jnj (7)
>>>>>> Component Description:
>>>>>> Name: com.candata.b3.client.bbx.TRACK01
>>>>>> Implementation Class: com.candata.b3.client.bbx.TRACK01
>>>>>> Default State: enabled
>>>>>> Activation: delayed
>>>>>> 
>>>>> 
>>>>> This is significant! It means the component is lazily activated!
>>>>> Effectively this says that the component won't do anything (such as
>>>>> activate) until some other actor requests the service from the service
>>>>> registry.
>>>>> 
>>>>> Could that be your issue?
>>>>> 
>>>>> - Ray
>>>>> 
>>>>> 
>>>>>> Configuration Policy: optional
>>>>>> Activate Method: activate
>>>>>> Deactivate Method: deactivate
>>>>>> Modified Method: -
>>>>>> Configuration Pid: [com.candata.b3.client.bbx.TRACK01]
>>>>>> Factory: com.candata.b3.client.bbx.TRACK01
>>>>>> Services:
>>>>>>   com.candata.bbx.client.interp.interfaces.BbxProgWithArgs
>>>>>> Service Scope: singleton
>>>>>> Reference: B313AFactory
>>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
>>>>>>   Target Filter: (component.factory=com.candata.b3.client.bbx.B313A)
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: B3LogDAO
>>>>>>   Interface Name: com.candata.b3.common.interfaces.B3LogDAO
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: BbxContext
>>>>>>   Interface Name: com.candata.bbx.client.interp.interfaces.BbxContext
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: CCI01AFactory
>>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
>>>>>>   Target Filter: (component.factory=com.candata.b3.client.bbx.CCI01A)
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: CCIImporterPMFactory
>>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
>>>>>>   Target Filter: (component.factory=com.candata.custom.fyke.client.
>>>>>> model.CCIImporterPM)
>>>>>>   Cardinality: 0..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: CarrierDAO
>>>>>>   Interface Name: com.candata.comm.cbsa.common.interfaces.CarrierDAO
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: CompanyInfoService
>>>>>>   Interface Name: com.candata.broker.util.common.services.
>>>>>> CompanyInfoService
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: CustomerDAO
>>>>>>   Interface Name: com.candata.customer.common.interfaces.CustomerDAO
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: CustomsConfigurationService
>>>>>>   Interface Name: com.candata.b3.client.services.
>>>>>> CustomsConfigurationService
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: DisplayThreadService
>>>>>>   Interface Name: com.candata.swt.services.DisplayThreadService
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: EntryStatusDAO
>>>>>>   Interface Name: com.candata.b3.common.interfaces.EntryStatusDAO
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: ErrorHandlingService
>>>>>>   Interface Name: com.candata.gui.services.ErrorHandlingService
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: INV01Service
>>>>>>   Interface Name: com.candata.bbx.client.services.INV01Service
>>>>>>   Cardinality: 0..1
>>>>>>   Policy: dynamic
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: INV11BService
>>>>>>   Interface Name: com.candata.bbx.client.services.INV11BService
>>>>>>   Cardinality: 0..1
>>>>>>   Policy: dynamic
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: IOpenItems
>>>>>>   Interface Name: com.candata.core.common.interfaces.invoicing.
>>>>>> IOpenItems
>>>>>>   Cardinality: 0..1
>>>>>>   Policy: dynamic
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: ITrackCharges
>>>>>>   Interface Name: com.candata.core.common.interfaces.invoicing.
>>>>>> ITrackCharges
>>>>>>   Cardinality: 0..1
>>>>>>   Policy: dynamic
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: InvoiceFindResultService
>>>>>>   Interface Name: com.candata.inv.api.common.services.
>>>>>> InvoiceFindResultService
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: InvoiceSettingsService
>>>>>>   Interface Name: com.candata.inv.api.client.services.
>>>>>> InvoiceSettingsService
>>>>>>   Cardinality: 0..1
>>>>>>   Policy: dynamic
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: Logger
>>>>>>   Interface Name: com.candata.core.api.interfaces.Logger
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: Mar03Factory
>>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
>>>>>>   Target Filter: (component.factory=com.candata.customer.client.bbx.
>>>>>> MAR03)
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: Menu13
>>>>>>   Interface Name: com.candata.b3.client.bbx.Menu13
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: MostRecentAdminService
>>>>>>   Interface Name: com.candata.util.client.services.
>>>>>> MostRecentAdminService
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: PortService
>>>>>>   Interface Name: com.candata.util.client.services.PortService
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: PropertiesService
>>>>>>   Interface Name: com.candata.util.common.services.PropertiesService
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: ShipmentBus
>>>>>>   Interface Name: com.candata.b3.common.interfaces.ShipmentBus
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: ShipmentDAO
>>>>>>   Interface Name: com.candata.b3.common.interfaces.ShipmentDAO
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: ShipmentMenuItem
>>>>>>   Interface Name: com.candata.b3.client.services.ShipmentMenuItem
>>>>>>   Cardinality: 0..n
>>>>>>   Policy: dynamic
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: ShipmentResponseDAO
>>>>>>   Interface Name: com.candata.b3.common.
>>> interfaces.ShipmentResponseDAO
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: ShipmentValidateAndSaveService
>>>>>>   Interface Name: com.candata.b3.common.interfaces.
>>>>>> ShipmentValidateAndSaveService
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: ShipmentVendorDAO
>>>>>>   Interface Name: com.candata.b3.common.interfaces.ShipmentVendorDAO
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: TelnetPMFactory
>>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
>>>>>>   Target Filter: (component.factory=com.candata.telnet.TelnetPM)
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: Track01PMFactory
>>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
>>>>>>   Target Filter: (component.factory=com.candata.b3.client.bbx.
>>>>> Track01PM)
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: UserProfile
>>>>>>   Interface Name: com.candata.core.common.interfaces.UserProfile
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Reference: XMenu
>>>>>>   Interface Name: com.candata.bbx.client.bbx.XMenu
>>>>>>   Cardinality: 1..1
>>>>>>   Policy: static
>>>>>>   Policy option: reluctant
>>>>>>   Reference Scope: bundle
>>>>>> Component Description Properties:
>>>>>>     B313AFactory.target = (component.factory=com.
>>>>>> candata.b3.client.bbx.B313A)
>>>>>>     CCI01AFactory.target = (component.factory=com.
>>>>>> candata.b3.client.bbx.CCI01A)
>>>>>>     CCIImporterPMFactory.target = (component.factory=com.
>>>>>> candata.custom.fyke.client.model.CCIImporterPM)
>>>>>>     Mar03Factory.target = (component.factory=com.
>>>>>> candata.customer.client.bbx.MAR03)
>>>>>>     TelnetPMFactory.target = (component.factory=com.
>>>>>> candata.telnet.TelnetPM)
>>>>>>     Track01PMFactory.target = (component.factory=com.
>>>>>> candata.b3.client.bbx.Track01PM)
>>>>>> (No Component Configurations)
>>>>>> 
>>>>>> On Fri, Mar 31, 2017 at 11:16 AM, Raymond Auge <
>>> raymond.auge@liferay.com <ma...@liferay.com>
>>>>>> 
>>>>>> wrote:
>>>>>> 
>>>>>>> On Fri, Mar 31, 2017 at 11:13 AM, Dave Smith <da...@candata.com>
>>>>>>> wrote:
>>>>>>> 
>>>>>>>> com.candata.b3.client.bbx.TRACK01
>>>>>>>> 
>>>>>>> 
>>>>>>> please do
>>>>>>> 
>>>>>>> scr:info com.candata.b3.client.bbx.TRACK01
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>>>>>>> (@rotty3000)
>>>>>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>>>>>>> (@Liferay)
>>>>>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
>>>>>>> (@OSGiAlliance)
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>>>>> (@rotty3000)
>>>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>>>>> (@Liferay)
>>>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
>>>>> (@OSGiAlliance)
>>>>> 
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org <ma...@felix.apache.org>
>>> For additional commands, e-mail: users-help@felix.apache.org <ma...@felix.apache.org>

Re: SCR : Unsatisfied ComponentFactory

Posted by David Jencks <da...@gmail.com>.
> On Mar 31, 2017, at 11:03 AM, Dave Smith <da...@candata.com> wrote:
> 
> See below
> 
> On Fri, Mar 31, 2017 at 1:51 PM, David Jencks <david.a.jencks@gmail.com <ma...@gmail.com>>
> wrote:
> 
>> I think scr:info shows you instances of the factory component you’ve
>> created with newInstance on the ComponentFactory service.  If you list
>> services do you see the ComponentFactory service registered from your
>> bundle?
>> 
> 
> No. In the case of a standard service you always get a service pid
> regardless if the component resolves or not. Thus src:info <pid> will tell
> you what is not resolved. In the case of ComponentFactory if it resolves it
> gets a PID that you can then get details on otherwise you have to give it
> the full name and all this gives you is CompoentInfo but not it's state.

I’m not quite sure what you mean and I don’t think you answered my question about what listing services (not using scr, just by bundle) shows.  Reviewing the code this from ComponentFactoryImpl makes me think that the component descriptions shown are those created by newInstance, not including one for the component factory itself:

    @Override
    public void getComponentManagers(List<AbstractComponentManager<S>> cms)
    {
        synchronized (m_componentInstances)
        {
            cms.addAll(m_componentInstances.keySet());
        }
    }

So I continue to think the scr command won’t tell you much about the component factory service itself.
> 
> 
>> 
>> On a separate note, Ive never seen a plausible use of a factory component
>> with references, so I’d be interested to see some info about a situation in
>> which this is a suitable approach.
>> 
> 
> Legacy UI code that follows a Presentation Model style . It holds the state
> plus change listeners that call services. Thus the UI looks up the factory
> and creates an instance to hold state and run actions (Sort of like a
> Stateful Session bean , remember those?)

What happens to the UI when one of the referenced services disappears?  Have you found a way to detect this?

thanks
david jencks

> 
> Dave
> 
> 
> 
>> 
>> thanks
>> david jencks
>> 
>>> On Mar 31, 2017, at 8:46 AM, Dave Smith <da...@candata.com> wrote:
>>> 
>>> No, It still has to resolve to know if it is available to activate  and
>>> then register a facade.  Otherwise non DS services that might use it
>> would
>>> not see it.
>>> 
>>> Dave
>>> 
>>> On Fri, Mar 31, 2017 at 11:41 AM, Raymond Auge <raymond.auge@liferay.com
>>> 
>>> wrote:
>>> 
>>>> On Fri, Mar 31, 2017 at 11:22 AM, Dave Smith <da...@candata.com>
>>>> wrote:
>>>> 
>>>>> It is ugly (long story)
>>>>> 
>>>>> scr:info com.candata.b3.client.bbx.TRACK01
>>>>> *** Bundle: com.candata.b3.client.jnj (7)
>>>>> Component Description:
>>>>> Name: com.candata.b3.client.bbx.TRACK01
>>>>> Implementation Class: com.candata.b3.client.bbx.TRACK01
>>>>> Default State: enabled
>>>>> Activation: delayed
>>>>> 
>>>> 
>>>> This is significant! It means the component is lazily activated!
>>>> Effectively this says that the component won't do anything (such as
>>>> activate) until some other actor requests the service from the service
>>>> registry.
>>>> 
>>>> Could that be your issue?
>>>> 
>>>> - Ray
>>>> 
>>>> 
>>>>> Configuration Policy: optional
>>>>> Activate Method: activate
>>>>> Deactivate Method: deactivate
>>>>> Modified Method: -
>>>>> Configuration Pid: [com.candata.b3.client.bbx.TRACK01]
>>>>> Factory: com.candata.b3.client.bbx.TRACK01
>>>>> Services:
>>>>>   com.candata.bbx.client.interp.interfaces.BbxProgWithArgs
>>>>> Service Scope: singleton
>>>>> Reference: B313AFactory
>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
>>>>>   Target Filter: (component.factory=com.candata.b3.client.bbx.B313A)
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: B3LogDAO
>>>>>   Interface Name: com.candata.b3.common.interfaces.B3LogDAO
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: BbxContext
>>>>>   Interface Name: com.candata.bbx.client.interp.interfaces.BbxContext
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: CCI01AFactory
>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
>>>>>   Target Filter: (component.factory=com.candata.b3.client.bbx.CCI01A)
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: CCIImporterPMFactory
>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
>>>>>   Target Filter: (component.factory=com.candata.custom.fyke.client.
>>>>> model.CCIImporterPM)
>>>>>   Cardinality: 0..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: CarrierDAO
>>>>>   Interface Name: com.candata.comm.cbsa.common.interfaces.CarrierDAO
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: CompanyInfoService
>>>>>   Interface Name: com.candata.broker.util.common.services.
>>>>> CompanyInfoService
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: CustomerDAO
>>>>>   Interface Name: com.candata.customer.common.interfaces.CustomerDAO
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: CustomsConfigurationService
>>>>>   Interface Name: com.candata.b3.client.services.
>>>>> CustomsConfigurationService
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: DisplayThreadService
>>>>>   Interface Name: com.candata.swt.services.DisplayThreadService
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: EntryStatusDAO
>>>>>   Interface Name: com.candata.b3.common.interfaces.EntryStatusDAO
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: ErrorHandlingService
>>>>>   Interface Name: com.candata.gui.services.ErrorHandlingService
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: INV01Service
>>>>>   Interface Name: com.candata.bbx.client.services.INV01Service
>>>>>   Cardinality: 0..1
>>>>>   Policy: dynamic
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: INV11BService
>>>>>   Interface Name: com.candata.bbx.client.services.INV11BService
>>>>>   Cardinality: 0..1
>>>>>   Policy: dynamic
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: IOpenItems
>>>>>   Interface Name: com.candata.core.common.interfaces.invoicing.
>>>>> IOpenItems
>>>>>   Cardinality: 0..1
>>>>>   Policy: dynamic
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: ITrackCharges
>>>>>   Interface Name: com.candata.core.common.interfaces.invoicing.
>>>>> ITrackCharges
>>>>>   Cardinality: 0..1
>>>>>   Policy: dynamic
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: InvoiceFindResultService
>>>>>   Interface Name: com.candata.inv.api.common.services.
>>>>> InvoiceFindResultService
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: InvoiceSettingsService
>>>>>   Interface Name: com.candata.inv.api.client.services.
>>>>> InvoiceSettingsService
>>>>>   Cardinality: 0..1
>>>>>   Policy: dynamic
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: Logger
>>>>>   Interface Name: com.candata.core.api.interfaces.Logger
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: Mar03Factory
>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
>>>>>   Target Filter: (component.factory=com.candata.customer.client.bbx.
>>>>> MAR03)
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: Menu13
>>>>>   Interface Name: com.candata.b3.client.bbx.Menu13
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: MostRecentAdminService
>>>>>   Interface Name: com.candata.util.client.services.
>>>>> MostRecentAdminService
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: PortService
>>>>>   Interface Name: com.candata.util.client.services.PortService
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: PropertiesService
>>>>>   Interface Name: com.candata.util.common.services.PropertiesService
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: ShipmentBus
>>>>>   Interface Name: com.candata.b3.common.interfaces.ShipmentBus
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: ShipmentDAO
>>>>>   Interface Name: com.candata.b3.common.interfaces.ShipmentDAO
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: ShipmentMenuItem
>>>>>   Interface Name: com.candata.b3.client.services.ShipmentMenuItem
>>>>>   Cardinality: 0..n
>>>>>   Policy: dynamic
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: ShipmentResponseDAO
>>>>>   Interface Name: com.candata.b3.common.
>> interfaces.ShipmentResponseDAO
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: ShipmentValidateAndSaveService
>>>>>   Interface Name: com.candata.b3.common.interfaces.
>>>>> ShipmentValidateAndSaveService
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: ShipmentVendorDAO
>>>>>   Interface Name: com.candata.b3.common.interfaces.ShipmentVendorDAO
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: TelnetPMFactory
>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
>>>>>   Target Filter: (component.factory=com.candata.telnet.TelnetPM)
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: Track01PMFactory
>>>>>   Interface Name: org.osgi.service.component.ComponentFactory
>>>>>   Target Filter: (component.factory=com.candata.b3.client.bbx.
>>>> Track01PM)
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: UserProfile
>>>>>   Interface Name: com.candata.core.common.interfaces.UserProfile
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Reference: XMenu
>>>>>   Interface Name: com.candata.bbx.client.bbx.XMenu
>>>>>   Cardinality: 1..1
>>>>>   Policy: static
>>>>>   Policy option: reluctant
>>>>>   Reference Scope: bundle
>>>>> Component Description Properties:
>>>>>     B313AFactory.target = (component.factory=com.
>>>>> candata.b3.client.bbx.B313A)
>>>>>     CCI01AFactory.target = (component.factory=com.
>>>>> candata.b3.client.bbx.CCI01A)
>>>>>     CCIImporterPMFactory.target = (component.factory=com.
>>>>> candata.custom.fyke.client.model.CCIImporterPM)
>>>>>     Mar03Factory.target = (component.factory=com.
>>>>> candata.customer.client.bbx.MAR03)
>>>>>     TelnetPMFactory.target = (component.factory=com.
>>>>> candata.telnet.TelnetPM)
>>>>>     Track01PMFactory.target = (component.factory=com.
>>>>> candata.b3.client.bbx.Track01PM)
>>>>> (No Component Configurations)
>>>>> 
>>>>> On Fri, Mar 31, 2017 at 11:16 AM, Raymond Auge <
>> raymond.auge@liferay.com
>>>>> 
>>>>> wrote:
>>>>> 
>>>>>> On Fri, Mar 31, 2017 at 11:13 AM, Dave Smith <da...@candata.com>
>>>>>> wrote:
>>>>>> 
>>>>>>> com.candata.b3.client.bbx.TRACK01
>>>>>>> 
>>>>>> 
>>>>>> please do
>>>>>> 
>>>>>> scr:info com.candata.b3.client.bbx.TRACK01
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>>>>>> (@rotty3000)
>>>>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>>>>>> (@Liferay)
>>>>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
>>>>>> (@OSGiAlliance)
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>>>> (@rotty3000)
>>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>>>> (@Liferay)
>>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
>>>> (@OSGiAlliance)
>>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org <ma...@felix.apache.org>
>> For additional commands, e-mail: users-help@felix.apache.org <ma...@felix.apache.org>

Re: SCR : Unsatisfied ComponentFactory

Posted by Dave Smith <da...@candata.com>.
See below

On Fri, Mar 31, 2017 at 1:51 PM, David Jencks <da...@gmail.com>
wrote:

> I think scr:info shows you instances of the factory component you’ve
> created with newInstance on the ComponentFactory service.  If you list
> services do you see the ComponentFactory service registered from your
> bundle?
>

No. In the case of a standard service you always get a service pid
regardless if the component resolves or not. Thus src:info <pid> will tell
you what is not resolved. In the case of ComponentFactory if it resolves it
gets a PID that you can then get details on otherwise you have to give it
the full name and all this gives you is CompoentInfo but not it's state.


>
> On a separate note, Ive never seen a plausible use of a factory component
> with references, so I’d be interested to see some info about a situation in
> which this is a suitable approach.
>

Legacy UI code that follows a Presentation Model style . It holds the state
plus change listeners that call services. Thus the UI looks up the factory
and creates an instance to hold state and run actions (Sort of like a
Stateful Session bean , remember those?)

Dave



>
> thanks
> david jencks
>
> > On Mar 31, 2017, at 8:46 AM, Dave Smith <da...@candata.com> wrote:
> >
> > No, It still has to resolve to know if it is available to activate  and
> > then register a facade.  Otherwise non DS services that might use it
> would
> > not see it.
> >
> > Dave
> >
> > On Fri, Mar 31, 2017 at 11:41 AM, Raymond Auge <raymond.auge@liferay.com
> >
> > wrote:
> >
> >> On Fri, Mar 31, 2017 at 11:22 AM, Dave Smith <da...@candata.com>
> >> wrote:
> >>
> >>> It is ugly (long story)
> >>>
> >>> scr:info com.candata.b3.client.bbx.TRACK01
> >>> *** Bundle: com.candata.b3.client.jnj (7)
> >>> Component Description:
> >>>  Name: com.candata.b3.client.bbx.TRACK01
> >>>  Implementation Class: com.candata.b3.client.bbx.TRACK01
> >>>  Default State: enabled
> >>>  Activation: delayed
> >>>
> >>
> >> This is significant! It means the component is lazily activated!
> >> Effectively this says that the component won't do anything (such as
> >> activate) until some other actor requests the service from the service
> >> registry.
> >>
> >> Could that be your issue?
> >>
> >> - Ray
> >>
> >>
> >>>  Configuration Policy: optional
> >>>  Activate Method: activate
> >>>  Deactivate Method: deactivate
> >>>  Modified Method: -
> >>>  Configuration Pid: [com.candata.b3.client.bbx.TRACK01]
> >>>  Factory: com.candata.b3.client.bbx.TRACK01
> >>>  Services:
> >>>    com.candata.bbx.client.interp.interfaces.BbxProgWithArgs
> >>>  Service Scope: singleton
> >>>  Reference: B313AFactory
> >>>    Interface Name: org.osgi.service.component.ComponentFactory
> >>>    Target Filter: (component.factory=com.candata.b3.client.bbx.B313A)
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: B3LogDAO
> >>>    Interface Name: com.candata.b3.common.interfaces.B3LogDAO
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: BbxContext
> >>>    Interface Name: com.candata.bbx.client.interp.interfaces.BbxContext
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: CCI01AFactory
> >>>    Interface Name: org.osgi.service.component.ComponentFactory
> >>>    Target Filter: (component.factory=com.candata.b3.client.bbx.CCI01A)
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: CCIImporterPMFactory
> >>>    Interface Name: org.osgi.service.component.ComponentFactory
> >>>    Target Filter: (component.factory=com.candata.custom.fyke.client.
> >>> model.CCIImporterPM)
> >>>    Cardinality: 0..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: CarrierDAO
> >>>    Interface Name: com.candata.comm.cbsa.common.interfaces.CarrierDAO
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: CompanyInfoService
> >>>    Interface Name: com.candata.broker.util.common.services.
> >>> CompanyInfoService
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: CustomerDAO
> >>>    Interface Name: com.candata.customer.common.interfaces.CustomerDAO
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: CustomsConfigurationService
> >>>    Interface Name: com.candata.b3.client.services.
> >>> CustomsConfigurationService
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: DisplayThreadService
> >>>    Interface Name: com.candata.swt.services.DisplayThreadService
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: EntryStatusDAO
> >>>    Interface Name: com.candata.b3.common.interfaces.EntryStatusDAO
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: ErrorHandlingService
> >>>    Interface Name: com.candata.gui.services.ErrorHandlingService
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: INV01Service
> >>>    Interface Name: com.candata.bbx.client.services.INV01Service
> >>>    Cardinality: 0..1
> >>>    Policy: dynamic
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: INV11BService
> >>>    Interface Name: com.candata.bbx.client.services.INV11BService
> >>>    Cardinality: 0..1
> >>>    Policy: dynamic
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: IOpenItems
> >>>    Interface Name: com.candata.core.common.interfaces.invoicing.
> >>> IOpenItems
> >>>    Cardinality: 0..1
> >>>    Policy: dynamic
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: ITrackCharges
> >>>    Interface Name: com.candata.core.common.interfaces.invoicing.
> >>> ITrackCharges
> >>>    Cardinality: 0..1
> >>>    Policy: dynamic
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: InvoiceFindResultService
> >>>    Interface Name: com.candata.inv.api.common.services.
> >>> InvoiceFindResultService
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: InvoiceSettingsService
> >>>    Interface Name: com.candata.inv.api.client.services.
> >>> InvoiceSettingsService
> >>>    Cardinality: 0..1
> >>>    Policy: dynamic
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: Logger
> >>>    Interface Name: com.candata.core.api.interfaces.Logger
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: Mar03Factory
> >>>    Interface Name: org.osgi.service.component.ComponentFactory
> >>>    Target Filter: (component.factory=com.candata.customer.client.bbx.
> >>> MAR03)
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: Menu13
> >>>    Interface Name: com.candata.b3.client.bbx.Menu13
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: MostRecentAdminService
> >>>    Interface Name: com.candata.util.client.services.
> >>> MostRecentAdminService
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: PortService
> >>>    Interface Name: com.candata.util.client.services.PortService
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: PropertiesService
> >>>    Interface Name: com.candata.util.common.services.PropertiesService
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: ShipmentBus
> >>>    Interface Name: com.candata.b3.common.interfaces.ShipmentBus
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: ShipmentDAO
> >>>    Interface Name: com.candata.b3.common.interfaces.ShipmentDAO
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: ShipmentMenuItem
> >>>    Interface Name: com.candata.b3.client.services.ShipmentMenuItem
> >>>    Cardinality: 0..n
> >>>    Policy: dynamic
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: ShipmentResponseDAO
> >>>    Interface Name: com.candata.b3.common.
> interfaces.ShipmentResponseDAO
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: ShipmentValidateAndSaveService
> >>>    Interface Name: com.candata.b3.common.interfaces.
> >>> ShipmentValidateAndSaveService
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: ShipmentVendorDAO
> >>>    Interface Name: com.candata.b3.common.interfaces.ShipmentVendorDAO
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: TelnetPMFactory
> >>>    Interface Name: org.osgi.service.component.ComponentFactory
> >>>    Target Filter: (component.factory=com.candata.telnet.TelnetPM)
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: Track01PMFactory
> >>>    Interface Name: org.osgi.service.component.ComponentFactory
> >>>    Target Filter: (component.factory=com.candata.b3.client.bbx.
> >> Track01PM)
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: UserProfile
> >>>    Interface Name: com.candata.core.common.interfaces.UserProfile
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Reference: XMenu
> >>>    Interface Name: com.candata.bbx.client.bbx.XMenu
> >>>    Cardinality: 1..1
> >>>    Policy: static
> >>>    Policy option: reluctant
> >>>    Reference Scope: bundle
> >>>  Component Description Properties:
> >>>      B313AFactory.target = (component.factory=com.
> >>> candata.b3.client.bbx.B313A)
> >>>      CCI01AFactory.target = (component.factory=com.
> >>> candata.b3.client.bbx.CCI01A)
> >>>      CCIImporterPMFactory.target = (component.factory=com.
> >>> candata.custom.fyke.client.model.CCIImporterPM)
> >>>      Mar03Factory.target = (component.factory=com.
> >>> candata.customer.client.bbx.MAR03)
> >>>      TelnetPMFactory.target = (component.factory=com.
> >>> candata.telnet.TelnetPM)
> >>>      Track01PMFactory.target = (component.factory=com.
> >>> candata.b3.client.bbx.Track01PM)
> >>>  (No Component Configurations)
> >>>
> >>> On Fri, Mar 31, 2017 at 11:16 AM, Raymond Auge <
> raymond.auge@liferay.com
> >>>
> >>> wrote:
> >>>
> >>>> On Fri, Mar 31, 2017 at 11:13 AM, Dave Smith <da...@candata.com>
> >>>> wrote:
> >>>>
> >>>>> com.candata.b3.client.bbx.TRACK01
> >>>>>
> >>>>
> >>>> please do
> >>>>
> >>>> scr:info com.candata.b3.client.bbx.TRACK01
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
> >>>> (@rotty3000)
> >>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
> >>>> (@Liferay)
> >>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> >>>> (@OSGiAlliance)
> >>>>
> >>>
> >>
> >>
> >>
> >> --
> >> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
> >> (@rotty3000)
> >> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
> >> (@Liferay)
> >> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> >> (@OSGiAlliance)
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>

Re: SCR : Unsatisfied ComponentFactory

Posted by David Jencks <da...@gmail.com>.
I think scr:info shows you instances of the factory component you’ve created with newInstance on the ComponentFactory service.  If you list services do you see the ComponentFactory service registered from your bundle?

On a separate note, Ive never seen a plausible use of a factory component with references, so I’d be interested to see some info about a situation in which this is a suitable approach.

thanks
david jencks

> On Mar 31, 2017, at 8:46 AM, Dave Smith <da...@candata.com> wrote:
> 
> No, It still has to resolve to know if it is available to activate  and
> then register a facade.  Otherwise non DS services that might use it would
> not see it.
> 
> Dave
> 
> On Fri, Mar 31, 2017 at 11:41 AM, Raymond Auge <ra...@liferay.com>
> wrote:
> 
>> On Fri, Mar 31, 2017 at 11:22 AM, Dave Smith <da...@candata.com>
>> wrote:
>> 
>>> It is ugly (long story)
>>> 
>>> scr:info com.candata.b3.client.bbx.TRACK01
>>> *** Bundle: com.candata.b3.client.jnj (7)
>>> Component Description:
>>>  Name: com.candata.b3.client.bbx.TRACK01
>>>  Implementation Class: com.candata.b3.client.bbx.TRACK01
>>>  Default State: enabled
>>>  Activation: delayed
>>> 
>> 
>> This is significant! It means the component is lazily activated!
>> Effectively this says that the component won't do anything (such as
>> activate) until some other actor requests the service from the service
>> registry.
>> 
>> Could that be your issue?
>> 
>> - Ray
>> 
>> 
>>>  Configuration Policy: optional
>>>  Activate Method: activate
>>>  Deactivate Method: deactivate
>>>  Modified Method: -
>>>  Configuration Pid: [com.candata.b3.client.bbx.TRACK01]
>>>  Factory: com.candata.b3.client.bbx.TRACK01
>>>  Services:
>>>    com.candata.bbx.client.interp.interfaces.BbxProgWithArgs
>>>  Service Scope: singleton
>>>  Reference: B313AFactory
>>>    Interface Name: org.osgi.service.component.ComponentFactory
>>>    Target Filter: (component.factory=com.candata.b3.client.bbx.B313A)
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: B3LogDAO
>>>    Interface Name: com.candata.b3.common.interfaces.B3LogDAO
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: BbxContext
>>>    Interface Name: com.candata.bbx.client.interp.interfaces.BbxContext
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: CCI01AFactory
>>>    Interface Name: org.osgi.service.component.ComponentFactory
>>>    Target Filter: (component.factory=com.candata.b3.client.bbx.CCI01A)
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: CCIImporterPMFactory
>>>    Interface Name: org.osgi.service.component.ComponentFactory
>>>    Target Filter: (component.factory=com.candata.custom.fyke.client.
>>> model.CCIImporterPM)
>>>    Cardinality: 0..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: CarrierDAO
>>>    Interface Name: com.candata.comm.cbsa.common.interfaces.CarrierDAO
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: CompanyInfoService
>>>    Interface Name: com.candata.broker.util.common.services.
>>> CompanyInfoService
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: CustomerDAO
>>>    Interface Name: com.candata.customer.common.interfaces.CustomerDAO
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: CustomsConfigurationService
>>>    Interface Name: com.candata.b3.client.services.
>>> CustomsConfigurationService
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: DisplayThreadService
>>>    Interface Name: com.candata.swt.services.DisplayThreadService
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: EntryStatusDAO
>>>    Interface Name: com.candata.b3.common.interfaces.EntryStatusDAO
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: ErrorHandlingService
>>>    Interface Name: com.candata.gui.services.ErrorHandlingService
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: INV01Service
>>>    Interface Name: com.candata.bbx.client.services.INV01Service
>>>    Cardinality: 0..1
>>>    Policy: dynamic
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: INV11BService
>>>    Interface Name: com.candata.bbx.client.services.INV11BService
>>>    Cardinality: 0..1
>>>    Policy: dynamic
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: IOpenItems
>>>    Interface Name: com.candata.core.common.interfaces.invoicing.
>>> IOpenItems
>>>    Cardinality: 0..1
>>>    Policy: dynamic
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: ITrackCharges
>>>    Interface Name: com.candata.core.common.interfaces.invoicing.
>>> ITrackCharges
>>>    Cardinality: 0..1
>>>    Policy: dynamic
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: InvoiceFindResultService
>>>    Interface Name: com.candata.inv.api.common.services.
>>> InvoiceFindResultService
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: InvoiceSettingsService
>>>    Interface Name: com.candata.inv.api.client.services.
>>> InvoiceSettingsService
>>>    Cardinality: 0..1
>>>    Policy: dynamic
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: Logger
>>>    Interface Name: com.candata.core.api.interfaces.Logger
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: Mar03Factory
>>>    Interface Name: org.osgi.service.component.ComponentFactory
>>>    Target Filter: (component.factory=com.candata.customer.client.bbx.
>>> MAR03)
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: Menu13
>>>    Interface Name: com.candata.b3.client.bbx.Menu13
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: MostRecentAdminService
>>>    Interface Name: com.candata.util.client.services.
>>> MostRecentAdminService
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: PortService
>>>    Interface Name: com.candata.util.client.services.PortService
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: PropertiesService
>>>    Interface Name: com.candata.util.common.services.PropertiesService
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: ShipmentBus
>>>    Interface Name: com.candata.b3.common.interfaces.ShipmentBus
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: ShipmentDAO
>>>    Interface Name: com.candata.b3.common.interfaces.ShipmentDAO
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: ShipmentMenuItem
>>>    Interface Name: com.candata.b3.client.services.ShipmentMenuItem
>>>    Cardinality: 0..n
>>>    Policy: dynamic
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: ShipmentResponseDAO
>>>    Interface Name: com.candata.b3.common.interfaces.ShipmentResponseDAO
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: ShipmentValidateAndSaveService
>>>    Interface Name: com.candata.b3.common.interfaces.
>>> ShipmentValidateAndSaveService
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: ShipmentVendorDAO
>>>    Interface Name: com.candata.b3.common.interfaces.ShipmentVendorDAO
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: TelnetPMFactory
>>>    Interface Name: org.osgi.service.component.ComponentFactory
>>>    Target Filter: (component.factory=com.candata.telnet.TelnetPM)
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: Track01PMFactory
>>>    Interface Name: org.osgi.service.component.ComponentFactory
>>>    Target Filter: (component.factory=com.candata.b3.client.bbx.
>> Track01PM)
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: UserProfile
>>>    Interface Name: com.candata.core.common.interfaces.UserProfile
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Reference: XMenu
>>>    Interface Name: com.candata.bbx.client.bbx.XMenu
>>>    Cardinality: 1..1
>>>    Policy: static
>>>    Policy option: reluctant
>>>    Reference Scope: bundle
>>>  Component Description Properties:
>>>      B313AFactory.target = (component.factory=com.
>>> candata.b3.client.bbx.B313A)
>>>      CCI01AFactory.target = (component.factory=com.
>>> candata.b3.client.bbx.CCI01A)
>>>      CCIImporterPMFactory.target = (component.factory=com.
>>> candata.custom.fyke.client.model.CCIImporterPM)
>>>      Mar03Factory.target = (component.factory=com.
>>> candata.customer.client.bbx.MAR03)
>>>      TelnetPMFactory.target = (component.factory=com.
>>> candata.telnet.TelnetPM)
>>>      Track01PMFactory.target = (component.factory=com.
>>> candata.b3.client.bbx.Track01PM)
>>>  (No Component Configurations)
>>> 
>>> On Fri, Mar 31, 2017 at 11:16 AM, Raymond Auge <raymond.auge@liferay.com
>>> 
>>> wrote:
>>> 
>>>> On Fri, Mar 31, 2017 at 11:13 AM, Dave Smith <da...@candata.com>
>>>> wrote:
>>>> 
>>>>> com.candata.b3.client.bbx.TRACK01
>>>>> 
>>>> 
>>>> please do
>>>> 
>>>> scr:info com.candata.b3.client.bbx.TRACK01
>>>> 
>>>> 
>>>> 
>>>> --
>>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>>>> (@rotty3000)
>>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>>>> (@Liferay)
>>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
>>>> (@OSGiAlliance)
>>>> 
>>> 
>> 
>> 
>> 
>> --
>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>> (@rotty3000)
>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>> (@Liferay)
>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
>> (@OSGiAlliance)
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: SCR : Unsatisfied ComponentFactory

Posted by Dave Smith <da...@candata.com>.
No, It still has to resolve to know if it is available to activate  and
then register a facade.  Otherwise non DS services that might use it would
not see it.

Dave

On Fri, Mar 31, 2017 at 11:41 AM, Raymond Auge <ra...@liferay.com>
wrote:

> On Fri, Mar 31, 2017 at 11:22 AM, Dave Smith <da...@candata.com>
> wrote:
>
> > It is ugly (long story)
> >
> > scr:info com.candata.b3.client.bbx.TRACK01
> > *** Bundle: com.candata.b3.client.jnj (7)
> > Component Description:
> >   Name: com.candata.b3.client.bbx.TRACK01
> >   Implementation Class: com.candata.b3.client.bbx.TRACK01
> >   Default State: enabled
> >   Activation: delayed
> >
>
> This is significant! It means the component is lazily activated!
> Effectively this says that the component won't do anything (such as
> activate) until some other actor requests the service from the service
> registry.
>
> Could that be your issue?
>
> - Ray
>
>
> >   Configuration Policy: optional
> >   Activate Method: activate
> >   Deactivate Method: deactivate
> >   Modified Method: -
> >   Configuration Pid: [com.candata.b3.client.bbx.TRACK01]
> >   Factory: com.candata.b3.client.bbx.TRACK01
> >   Services:
> >     com.candata.bbx.client.interp.interfaces.BbxProgWithArgs
> >   Service Scope: singleton
> >   Reference: B313AFactory
> >     Interface Name: org.osgi.service.component.ComponentFactory
> >     Target Filter: (component.factory=com.candata.b3.client.bbx.B313A)
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: B3LogDAO
> >     Interface Name: com.candata.b3.common.interfaces.B3LogDAO
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: BbxContext
> >     Interface Name: com.candata.bbx.client.interp.interfaces.BbxContext
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: CCI01AFactory
> >     Interface Name: org.osgi.service.component.ComponentFactory
> >     Target Filter: (component.factory=com.candata.b3.client.bbx.CCI01A)
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: CCIImporterPMFactory
> >     Interface Name: org.osgi.service.component.ComponentFactory
> >     Target Filter: (component.factory=com.candata.custom.fyke.client.
> > model.CCIImporterPM)
> >     Cardinality: 0..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: CarrierDAO
> >     Interface Name: com.candata.comm.cbsa.common.interfaces.CarrierDAO
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: CompanyInfoService
> >     Interface Name: com.candata.broker.util.common.services.
> > CompanyInfoService
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: CustomerDAO
> >     Interface Name: com.candata.customer.common.interfaces.CustomerDAO
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: CustomsConfigurationService
> >     Interface Name: com.candata.b3.client.services.
> > CustomsConfigurationService
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: DisplayThreadService
> >     Interface Name: com.candata.swt.services.DisplayThreadService
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: EntryStatusDAO
> >     Interface Name: com.candata.b3.common.interfaces.EntryStatusDAO
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: ErrorHandlingService
> >     Interface Name: com.candata.gui.services.ErrorHandlingService
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: INV01Service
> >     Interface Name: com.candata.bbx.client.services.INV01Service
> >     Cardinality: 0..1
> >     Policy: dynamic
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: INV11BService
> >     Interface Name: com.candata.bbx.client.services.INV11BService
> >     Cardinality: 0..1
> >     Policy: dynamic
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: IOpenItems
> >     Interface Name: com.candata.core.common.interfaces.invoicing.
> > IOpenItems
> >     Cardinality: 0..1
> >     Policy: dynamic
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: ITrackCharges
> >     Interface Name: com.candata.core.common.interfaces.invoicing.
> > ITrackCharges
> >     Cardinality: 0..1
> >     Policy: dynamic
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: InvoiceFindResultService
> >     Interface Name: com.candata.inv.api.common.services.
> > InvoiceFindResultService
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: InvoiceSettingsService
> >     Interface Name: com.candata.inv.api.client.services.
> > InvoiceSettingsService
> >     Cardinality: 0..1
> >     Policy: dynamic
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: Logger
> >     Interface Name: com.candata.core.api.interfaces.Logger
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: Mar03Factory
> >     Interface Name: org.osgi.service.component.ComponentFactory
> >     Target Filter: (component.factory=com.candata.customer.client.bbx.
> > MAR03)
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: Menu13
> >     Interface Name: com.candata.b3.client.bbx.Menu13
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: MostRecentAdminService
> >     Interface Name: com.candata.util.client.services.
> > MostRecentAdminService
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: PortService
> >     Interface Name: com.candata.util.client.services.PortService
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: PropertiesService
> >     Interface Name: com.candata.util.common.services.PropertiesService
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: ShipmentBus
> >     Interface Name: com.candata.b3.common.interfaces.ShipmentBus
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: ShipmentDAO
> >     Interface Name: com.candata.b3.common.interfaces.ShipmentDAO
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: ShipmentMenuItem
> >     Interface Name: com.candata.b3.client.services.ShipmentMenuItem
> >     Cardinality: 0..n
> >     Policy: dynamic
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: ShipmentResponseDAO
> >     Interface Name: com.candata.b3.common.interfaces.ShipmentResponseDAO
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: ShipmentValidateAndSaveService
> >     Interface Name: com.candata.b3.common.interfaces.
> > ShipmentValidateAndSaveService
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: ShipmentVendorDAO
> >     Interface Name: com.candata.b3.common.interfaces.ShipmentVendorDAO
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: TelnetPMFactory
> >     Interface Name: org.osgi.service.component.ComponentFactory
> >     Target Filter: (component.factory=com.candata.telnet.TelnetPM)
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: Track01PMFactory
> >     Interface Name: org.osgi.service.component.ComponentFactory
> >     Target Filter: (component.factory=com.candata.b3.client.bbx.
> Track01PM)
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: UserProfile
> >     Interface Name: com.candata.core.common.interfaces.UserProfile
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Reference: XMenu
> >     Interface Name: com.candata.bbx.client.bbx.XMenu
> >     Cardinality: 1..1
> >     Policy: static
> >     Policy option: reluctant
> >     Reference Scope: bundle
> >   Component Description Properties:
> >       B313AFactory.target = (component.factory=com.
> > candata.b3.client.bbx.B313A)
> >       CCI01AFactory.target = (component.factory=com.
> > candata.b3.client.bbx.CCI01A)
> >       CCIImporterPMFactory.target = (component.factory=com.
> > candata.custom.fyke.client.model.CCIImporterPM)
> >       Mar03Factory.target = (component.factory=com.
> > candata.customer.client.bbx.MAR03)
> >       TelnetPMFactory.target = (component.factory=com.
> > candata.telnet.TelnetPM)
> >       Track01PMFactory.target = (component.factory=com.
> > candata.b3.client.bbx.Track01PM)
> >   (No Component Configurations)
> >
> > On Fri, Mar 31, 2017 at 11:16 AM, Raymond Auge <raymond.auge@liferay.com
> >
> > wrote:
> >
> > > On Fri, Mar 31, 2017 at 11:13 AM, Dave Smith <da...@candata.com>
> > > wrote:
> > >
> > > > com.candata.b3.client.bbx.TRACK01
> > > >
> > >
> > > please do
> > >
> > > scr:info com.candata.b3.client.bbx.TRACK01
> > >
> > >
> > >
> > > --
> > > *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
> > >  (@rotty3000)
> > > Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
> > >  (@Liferay)
> > > Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> > > (@OSGiAlliance)
> > >
> >
>
>
>
> --
> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>  (@rotty3000)
> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>  (@Liferay)
> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> (@OSGiAlliance)
>

Re: SCR : Unsatisfied ComponentFactory

Posted by Raymond Auge <ra...@liferay.com>.
On Fri, Mar 31, 2017 at 11:22 AM, Dave Smith <da...@candata.com> wrote:

> It is ugly (long story)
>
> scr:info com.candata.b3.client.bbx.TRACK01
> *** Bundle: com.candata.b3.client.jnj (7)
> Component Description:
>   Name: com.candata.b3.client.bbx.TRACK01
>   Implementation Class: com.candata.b3.client.bbx.TRACK01
>   Default State: enabled
>   Activation: delayed
>

This is significant! It means the component is lazily activated!
Effectively this says that the component won't do anything (such as
activate) until some other actor requests the service from the service
registry.

Could that be your issue?

- Ray


>   Configuration Policy: optional
>   Activate Method: activate
>   Deactivate Method: deactivate
>   Modified Method: -
>   Configuration Pid: [com.candata.b3.client.bbx.TRACK01]
>   Factory: com.candata.b3.client.bbx.TRACK01
>   Services:
>     com.candata.bbx.client.interp.interfaces.BbxProgWithArgs
>   Service Scope: singleton
>   Reference: B313AFactory
>     Interface Name: org.osgi.service.component.ComponentFactory
>     Target Filter: (component.factory=com.candata.b3.client.bbx.B313A)
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: B3LogDAO
>     Interface Name: com.candata.b3.common.interfaces.B3LogDAO
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: BbxContext
>     Interface Name: com.candata.bbx.client.interp.interfaces.BbxContext
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: CCI01AFactory
>     Interface Name: org.osgi.service.component.ComponentFactory
>     Target Filter: (component.factory=com.candata.b3.client.bbx.CCI01A)
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: CCIImporterPMFactory
>     Interface Name: org.osgi.service.component.ComponentFactory
>     Target Filter: (component.factory=com.candata.custom.fyke.client.
> model.CCIImporterPM)
>     Cardinality: 0..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: CarrierDAO
>     Interface Name: com.candata.comm.cbsa.common.interfaces.CarrierDAO
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: CompanyInfoService
>     Interface Name: com.candata.broker.util.common.services.
> CompanyInfoService
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: CustomerDAO
>     Interface Name: com.candata.customer.common.interfaces.CustomerDAO
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: CustomsConfigurationService
>     Interface Name: com.candata.b3.client.services.
> CustomsConfigurationService
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: DisplayThreadService
>     Interface Name: com.candata.swt.services.DisplayThreadService
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: EntryStatusDAO
>     Interface Name: com.candata.b3.common.interfaces.EntryStatusDAO
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: ErrorHandlingService
>     Interface Name: com.candata.gui.services.ErrorHandlingService
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: INV01Service
>     Interface Name: com.candata.bbx.client.services.INV01Service
>     Cardinality: 0..1
>     Policy: dynamic
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: INV11BService
>     Interface Name: com.candata.bbx.client.services.INV11BService
>     Cardinality: 0..1
>     Policy: dynamic
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: IOpenItems
>     Interface Name: com.candata.core.common.interfaces.invoicing.
> IOpenItems
>     Cardinality: 0..1
>     Policy: dynamic
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: ITrackCharges
>     Interface Name: com.candata.core.common.interfaces.invoicing.
> ITrackCharges
>     Cardinality: 0..1
>     Policy: dynamic
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: InvoiceFindResultService
>     Interface Name: com.candata.inv.api.common.services.
> InvoiceFindResultService
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: InvoiceSettingsService
>     Interface Name: com.candata.inv.api.client.services.
> InvoiceSettingsService
>     Cardinality: 0..1
>     Policy: dynamic
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: Logger
>     Interface Name: com.candata.core.api.interfaces.Logger
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: Mar03Factory
>     Interface Name: org.osgi.service.component.ComponentFactory
>     Target Filter: (component.factory=com.candata.customer.client.bbx.
> MAR03)
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: Menu13
>     Interface Name: com.candata.b3.client.bbx.Menu13
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: MostRecentAdminService
>     Interface Name: com.candata.util.client.services.
> MostRecentAdminService
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: PortService
>     Interface Name: com.candata.util.client.services.PortService
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: PropertiesService
>     Interface Name: com.candata.util.common.services.PropertiesService
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: ShipmentBus
>     Interface Name: com.candata.b3.common.interfaces.ShipmentBus
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: ShipmentDAO
>     Interface Name: com.candata.b3.common.interfaces.ShipmentDAO
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: ShipmentMenuItem
>     Interface Name: com.candata.b3.client.services.ShipmentMenuItem
>     Cardinality: 0..n
>     Policy: dynamic
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: ShipmentResponseDAO
>     Interface Name: com.candata.b3.common.interfaces.ShipmentResponseDAO
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: ShipmentValidateAndSaveService
>     Interface Name: com.candata.b3.common.interfaces.
> ShipmentValidateAndSaveService
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: ShipmentVendorDAO
>     Interface Name: com.candata.b3.common.interfaces.ShipmentVendorDAO
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: TelnetPMFactory
>     Interface Name: org.osgi.service.component.ComponentFactory
>     Target Filter: (component.factory=com.candata.telnet.TelnetPM)
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: Track01PMFactory
>     Interface Name: org.osgi.service.component.ComponentFactory
>     Target Filter: (component.factory=com.candata.b3.client.bbx.Track01PM)
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: UserProfile
>     Interface Name: com.candata.core.common.interfaces.UserProfile
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Reference: XMenu
>     Interface Name: com.candata.bbx.client.bbx.XMenu
>     Cardinality: 1..1
>     Policy: static
>     Policy option: reluctant
>     Reference Scope: bundle
>   Component Description Properties:
>       B313AFactory.target = (component.factory=com.
> candata.b3.client.bbx.B313A)
>       CCI01AFactory.target = (component.factory=com.
> candata.b3.client.bbx.CCI01A)
>       CCIImporterPMFactory.target = (component.factory=com.
> candata.custom.fyke.client.model.CCIImporterPM)
>       Mar03Factory.target = (component.factory=com.
> candata.customer.client.bbx.MAR03)
>       TelnetPMFactory.target = (component.factory=com.
> candata.telnet.TelnetPM)
>       Track01PMFactory.target = (component.factory=com.
> candata.b3.client.bbx.Track01PM)
>   (No Component Configurations)
>
> On Fri, Mar 31, 2017 at 11:16 AM, Raymond Auge <ra...@liferay.com>
> wrote:
>
> > On Fri, Mar 31, 2017 at 11:13 AM, Dave Smith <da...@candata.com>
> > wrote:
> >
> > > com.candata.b3.client.bbx.TRACK01
> > >
> >
> > please do
> >
> > scr:info com.candata.b3.client.bbx.TRACK01
> >
> >
> >
> > --
> > *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
> >  (@rotty3000)
> > Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
> >  (@Liferay)
> > Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> > (@OSGiAlliance)
> >
>



-- 
*Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
 (@rotty3000)
Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
 (@Liferay)
Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org> (@OSGiAlliance)

Re: SCR : Unsatisfied ComponentFactory

Posted by Dave Smith <da...@candata.com>.
It is ugly (long story)

scr:info com.candata.b3.client.bbx.TRACK01
*** Bundle: com.candata.b3.client.jnj (7)
Component Description:
  Name: com.candata.b3.client.bbx.TRACK01
  Implementation Class: com.candata.b3.client.bbx.TRACK01
  Default State: enabled
  Activation: delayed
  Configuration Policy: optional
  Activate Method: activate
  Deactivate Method: deactivate
  Modified Method: -
  Configuration Pid: [com.candata.b3.client.bbx.TRACK01]
  Factory: com.candata.b3.client.bbx.TRACK01
  Services:
    com.candata.bbx.client.interp.interfaces.BbxProgWithArgs
  Service Scope: singleton
  Reference: B313AFactory
    Interface Name: org.osgi.service.component.ComponentFactory
    Target Filter: (component.factory=com.candata.b3.client.bbx.B313A)
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: B3LogDAO
    Interface Name: com.candata.b3.common.interfaces.B3LogDAO
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: BbxContext
    Interface Name: com.candata.bbx.client.interp.interfaces.BbxContext
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: CCI01AFactory
    Interface Name: org.osgi.service.component.ComponentFactory
    Target Filter: (component.factory=com.candata.b3.client.bbx.CCI01A)
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: CCIImporterPMFactory
    Interface Name: org.osgi.service.component.ComponentFactory
    Target Filter: (component.factory=com.candata.custom.fyke.client.
model.CCIImporterPM)
    Cardinality: 0..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: CarrierDAO
    Interface Name: com.candata.comm.cbsa.common.interfaces.CarrierDAO
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: CompanyInfoService
    Interface Name: com.candata.broker.util.common.services.
CompanyInfoService
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: CustomerDAO
    Interface Name: com.candata.customer.common.interfaces.CustomerDAO
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: CustomsConfigurationService
    Interface Name: com.candata.b3.client.services.
CustomsConfigurationService
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: DisplayThreadService
    Interface Name: com.candata.swt.services.DisplayThreadService
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: EntryStatusDAO
    Interface Name: com.candata.b3.common.interfaces.EntryStatusDAO
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: ErrorHandlingService
    Interface Name: com.candata.gui.services.ErrorHandlingService
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: INV01Service
    Interface Name: com.candata.bbx.client.services.INV01Service
    Cardinality: 0..1
    Policy: dynamic
    Policy option: reluctant
    Reference Scope: bundle
  Reference: INV11BService
    Interface Name: com.candata.bbx.client.services.INV11BService
    Cardinality: 0..1
    Policy: dynamic
    Policy option: reluctant
    Reference Scope: bundle
  Reference: IOpenItems
    Interface Name: com.candata.core.common.interfaces.invoicing.IOpenItems
    Cardinality: 0..1
    Policy: dynamic
    Policy option: reluctant
    Reference Scope: bundle
  Reference: ITrackCharges
    Interface Name: com.candata.core.common.interfaces.invoicing.
ITrackCharges
    Cardinality: 0..1
    Policy: dynamic
    Policy option: reluctant
    Reference Scope: bundle
  Reference: InvoiceFindResultService
    Interface Name: com.candata.inv.api.common.services.
InvoiceFindResultService
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: InvoiceSettingsService
    Interface Name: com.candata.inv.api.client.services.
InvoiceSettingsService
    Cardinality: 0..1
    Policy: dynamic
    Policy option: reluctant
    Reference Scope: bundle
  Reference: Logger
    Interface Name: com.candata.core.api.interfaces.Logger
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: Mar03Factory
    Interface Name: org.osgi.service.component.ComponentFactory
    Target Filter: (component.factory=com.candata.customer.client.bbx.MAR03)
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: Menu13
    Interface Name: com.candata.b3.client.bbx.Menu13
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: MostRecentAdminService
    Interface Name: com.candata.util.client.services.MostRecentAdminService
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: PortService
    Interface Name: com.candata.util.client.services.PortService
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: PropertiesService
    Interface Name: com.candata.util.common.services.PropertiesService
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: ShipmentBus
    Interface Name: com.candata.b3.common.interfaces.ShipmentBus
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: ShipmentDAO
    Interface Name: com.candata.b3.common.interfaces.ShipmentDAO
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: ShipmentMenuItem
    Interface Name: com.candata.b3.client.services.ShipmentMenuItem
    Cardinality: 0..n
    Policy: dynamic
    Policy option: reluctant
    Reference Scope: bundle
  Reference: ShipmentResponseDAO
    Interface Name: com.candata.b3.common.interfaces.ShipmentResponseDAO
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: ShipmentValidateAndSaveService
    Interface Name: com.candata.b3.common.interfaces.
ShipmentValidateAndSaveService
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: ShipmentVendorDAO
    Interface Name: com.candata.b3.common.interfaces.ShipmentVendorDAO
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: TelnetPMFactory
    Interface Name: org.osgi.service.component.ComponentFactory
    Target Filter: (component.factory=com.candata.telnet.TelnetPM)
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: Track01PMFactory
    Interface Name: org.osgi.service.component.ComponentFactory
    Target Filter: (component.factory=com.candata.b3.client.bbx.Track01PM)
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: UserProfile
    Interface Name: com.candata.core.common.interfaces.UserProfile
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Reference: XMenu
    Interface Name: com.candata.bbx.client.bbx.XMenu
    Cardinality: 1..1
    Policy: static
    Policy option: reluctant
    Reference Scope: bundle
  Component Description Properties:
      B313AFactory.target = (component.factory=com.
candata.b3.client.bbx.B313A)
      CCI01AFactory.target = (component.factory=com.
candata.b3.client.bbx.CCI01A)
      CCIImporterPMFactory.target = (component.factory=com.
candata.custom.fyke.client.model.CCIImporterPM)
      Mar03Factory.target = (component.factory=com.
candata.customer.client.bbx.MAR03)
      TelnetPMFactory.target = (component.factory=com.
candata.telnet.TelnetPM)
      Track01PMFactory.target = (component.factory=com.
candata.b3.client.bbx.Track01PM)
  (No Component Configurations)

On Fri, Mar 31, 2017 at 11:16 AM, Raymond Auge <ra...@liferay.com>
wrote:

> On Fri, Mar 31, 2017 at 11:13 AM, Dave Smith <da...@candata.com>
> wrote:
>
> > com.candata.b3.client.bbx.TRACK01
> >
>
> please do
>
> scr:info com.candata.b3.client.bbx.TRACK01
>
>
>
> --
> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>  (@rotty3000)
> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>  (@Liferay)
> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> (@OSGiAlliance)
>

Re: SCR : Unsatisfied ComponentFactory

Posted by Raymond Auge <ra...@liferay.com>.
On Fri, Mar 31, 2017 at 11:13 AM, Dave Smith <da...@candata.com> wrote:

> com.candata.b3.client.bbx.TRACK01
>

please do

scr:info com.candata.b3.client.bbx.TRACK01



-- 
*Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
 (@rotty3000)
Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
 (@Liferay)
Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org> (@OSGiAlliance)

Re: SCR : Unsatisfied ComponentFactory

Posted by Dave Smith <da...@candata.com>.
scr:list

gives ..

[   7]   com.candata.b3.client.bbx.TRACK01  enabled

Where 7 is the bundle id.

scr:info com.candata.b3.client.bbx.TRACK01

just lists the services it uses but not if they are resolved. There is no
service id assigned to it

Dave

On Fri, Mar 31, 2017 at 11:06 AM, Raymond Auge <ra...@liferay.com>
wrote:

> It might help to show the dump of the scr:info command here so we can try
> to figure out the issue.
>
> Sincerely,
> - Ray
>
> On Fri, Mar 31, 2017 at 10:41 AM, Dave Smith <da...@candata.com>
> wrote:
>
> > We have some ComponentFactory's that are not starting. However in the
> GOGO
> > shell console and the using the ServiceComponentRuntime there are no
> > unsatisfiedReferences  shown for the factory and the Factories are not
> > registered in the services list
> >
>
>
>
> --
> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>  (@rotty3000)
> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>  (@Liferay)
> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> (@OSGiAlliance)
>

Re: SCR : Unsatisfied ComponentFactory

Posted by Raymond Auge <ra...@liferay.com>.
It might help to show the dump of the scr:info command here so we can try
to figure out the issue.

Sincerely,
- Ray

On Fri, Mar 31, 2017 at 10:41 AM, Dave Smith <da...@candata.com> wrote:

> We have some ComponentFactory's that are not starting. However in the GOGO
> shell console and the using the ServiceComponentRuntime there are no
> unsatisfiedReferences  shown for the factory and the Factories are not
> registered in the services list
>



-- 
*Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
 (@rotty3000)
Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
 (@Liferay)
Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org> (@OSGiAlliance)