You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Kyle Stiemann (JIRA)" <ji...@apache.org> on 2019/01/15 20:14:00 UTC
[jira] [Commented] (ARIES-957) SPIFly: Service Providers ignored if
bundle is not active
[ https://issues.apache.org/jira/browse/ARIES-957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16743365#comment-16743365 ]
Kyle Stiemann commented on ARIES-957:
-------------------------------------
I believe the only way to work around this issue is to add the following header to SPI service provider bundles:
{code}
Bundle-ActivationPolicy: lazy;includes="package.of.my.service.impl"
{code}
> SPIFly: Service Providers ignored if bundle is not active
> ---------------------------------------------------------
>
> Key: ARIES-957
> URL: https://issues.apache.org/jira/browse/ARIES-957
> Project: Aries
> Issue Type: Bug
> Affects Versions: 1.0
> Environment: o.a.a.spifly.dynamic.bundle - 1.0.0-SNAPSHOT
> Eclipse 4.2
> Reporter: Kevin Milburn
> Priority: Major
>
> Bundles which provide services (through SPI-Provides or Provide-Capability) are not processed unless the bundle is activated, requiring explicity activation rather than lazy activation.
> The providerBundleTracker in BaseActivator should track Installed, Resolved, Starting and Active bundles (same as the consumerBundleTracker).
> With the ProviderBundleTrackerCustomizer as it current works, calls to bundle.getBundleContext() may result in a null pointer if the bundle is not active.
> With Eclipse, a bundle with the Bundle-ActivationPolicy: lazy will become actived while processing the services (e.g. on bundle.loadClass()), resulting in a valid bundleContext. Bundles without this header will return null.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)