> On Mar 31, 2017, at 11:03 AM, Dave Smith <dave.sm...@candata.com> wrote:
> 
> See below
> 
> On Fri, Mar 31, 2017 at 1:51 PM, David Jencks <david.a.jen...@gmail.com 
> <mailto:david.a.jen...@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 <dave.sm...@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.a...@liferay.com
>>> 
>>> wrote:
>>> 
>>>> On Fri, Mar 31, 2017 at 11:22 AM, Dave Smith <dave.sm...@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.a...@liferay.com
>>>>> 
>>>>> wrote:
>>>>> 
>>>>>> On Fri, Mar 31, 2017 at 11:13 AM, Dave Smith <dave.sm...@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-unsubscr...@felix.apache.org 
>> <mailto:users-unsubscr...@felix.apache.org>
>> For additional commands, e-mail: users-h...@felix.apache.org 
>> <mailto:users-h...@felix.apache.org>

Reply via email to