You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Jean-Baptiste Onofré (Jira)" <ji...@apache.org> on 2020/10/08 14:20:00 UTC
[jira] [Assigned] (KARAF-6152) Provide Require Capability Between
Composite Subsystem and Bundle
[ https://issues.apache.org/jira/browse/KARAF-6152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jean-Baptiste Onofré reassigned KARAF-6152:
-------------------------------------------
Assignee: (was: Jean-Baptiste Onofré)
> Provide Require Capability Between Composite Subsystem and Bundle
> ------------------------------------------------------------------
>
> Key: KARAF-6152
> URL: https://issues.apache.org/jira/browse/KARAF-6152
> Project: Karaf
> Issue Type: Bug
> Components: karaf
> Reporter: Sameer Gupta
> Priority: Critical
> Labels: aries, aries,require-bundle, capabilities, felix, karaf, osgi
> Attachments: messagedisplay.esa, msgdispconsumer.jar
>
> Original Estimate: 168h
> Remaining Estimate: 168h
>
> 1 - I have a composite subsystem *"messagedisplay.esa"* which has a bundle with a provide
> capability, the provide capability is mentioned in both the bundle manifest
> which is inside the bundle manifest and the subsystem manifest as well.
> 2. I have a stand alone bundle *"msgdispconsumer"* which requires this capability and mentions this in standalone bundle manifest.mf file
> In case of system migrations, if the Bundle gets deployed before the ESA
> subsystem, the bundle does not start as expected and has to be manually
> started once the provide capability is deployed.
> However, if I mark the subsystem as feature, then, as soon as the subsystem
> is deployed, the standalone bundle also goes to active state, thus removing
> need for manual intervention.
> Provide Require capability does not seem to have the same effect for Composite Subsystem as it has for feature subsystem.
> Test Case 1: Deploy the Composite Subsystem i.e the attached *messagedisplay.esa* file and then start it and then deploy the *msgdispconsumer* bundle, the bundle auto-wires and starts.
> Test Case 2: Deploy the *msgdispconsumer* bundle, try and start it, it fails stating a required capability is missing, deploy the subsystem i.e. the *messagedisplay.esa* file now, the Subsystem installs but does not auto wire the bundle *msgdispconsumer* is still in installed state, start the *msgdispconsumer* bundle, it starts and does not throw the capability missing error.
> Test Case 3: Open the .ESA file in winrar like tool, change the subsytem type from Subsystem-Type: "osgi.subsystem.composite" to "osgi.subsystem.feature".
> Exit the karaf console and restart to clear the cache.
> Deploy the *msgdispconsumer* bundle, try and start it, it fails stating a required capability is missing, deploy the subsystem i.e. the *messagedisplay.esa* file now, the consumer bundle *msgdispconsumer* also starts automatically even when the ESA subsytem is only in installed state.
> Why does behavior in Test case 3 not work for test case 2 scenario, i.e. autowiring happens for feature subsystem but not for composite subsystem.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)