Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Invalid
-
4.1.5
-
None
-
None
Description
Project reproducing the issue is available here: https://github.com/mattrpav/karaf-5664
Steps to reproduce:
- Define a serviceComponent via xml (or osgi ds annotation)
- Deploy bundle
- run scr:info (observe Service Scope: singleton)
- run service:list (observe service.scope = bundle)
Investigation:
- Debugging in felix.scr confirms that the xml is being parsed correctly and the returned component metadata shows the 'scope' = 'singleton' correctly o.a.felix.scr.impl.xml.XmlHandler#L362
- Debugging confirms that felix.scr is detecting DS13 namespace
scr:info output:
karaf@root()> scr:info TestModule *** Bundle: com.foo.test-module (124) Component Description: Name: BundleModule Implementation Class: com.foo.TestModule Default State: enabled Activation: immediate Configuration Policy: optional Activate Method: activate Deactivate Method: deactivate Modified Method: - Configuration Pid: [TestModule] Services: com.foo.api.Module Service Scope: singleton Component Description Properties: Component Configuration: ComponentId: 4 State: active Component Configuration Properties: component.id = 4 component.name = TestModule
service:list output
karaf@root()> service:list [com.foo.api.Module] ------------------------ component.id = 4 component.name = TestModule service.bundleid = 124 service.id = 141 service.scope = bundle Provided by : Company :: Foo :: TestModule (124)
OSGI-INF/serviceComponent.xml
<?xml version="1.0" encoding="utf-8"?> <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="TestModule" immediate="true"> <service scope="singleton"> <provide interface="com.foo.api.Module" /> </service> <implementation class="com.foo.TestModule" /> </scr:component>
Note: When the same impl class is reconfigured to register as a service via BundleActivator, the service has a service.scope = 'singleton'
Attachments
Issue Links
- is superceded by
-
FELIX-5802 Service Component created via xml defines scope='singleton' and service specifies property with scope='bundle'
- Closed