I am trying to build Dockers images of Karaf for some custom features of my application, and for that, I use a Karaf Static Distribution.
However, some container who worked with Karaf 4.0 doesn't work now with Karaf 4.2.6
I have noted the following issues :
- "etc/org.apache.karaf.log.cfg" export the property
which is not a valid property (because of the double quote). The Felix ConfigAdmin implementation use interpolation and transform "500" to 500, but the staticcm doesn't do that : There is a NumberFormatException in BaseActivator.getInt()
- StaticCM export the package osg.osgi.service.cm with version "1.6.0", however it doesn't implement this version : SCR in Karaf 4.2.6 needs an implementation of "Configuration.getProcessedProperties()" which is not implemented by staticcm
- SCR register a ManagedService without a "service.pid" property. In this case, the StaticCM just Sytem.err an error "Invalid pid: null" without calling service.update(null) as required by the specification
In other words, in Karaf 4.2.6, Felix SCR requires a version of ConfigurationAdmin which is not implemented by the staticcm bundle, and some DS services are not correctly registered with a Karaf Static Distribution.