I'm trying to experiment with an alternative way of loading up configuration.
So my goal is to disable felix fileinstall and provide an alternative
implementation of the org.apache.felix.cm.PersistenceManager interface.
However, so far I'm having great difficulty either blacklisting fileinstall or
replacing it.
in etc/org.apache.karaf.features.xml I have tried:
<blacklistedBundles>
<bundle>mvn:org.apache.felix/org.apache.felix.fileinstall</bundle>
</blacklistedBundles>
However I can't get this to have any effect. I have traced through with a
debugger, and the LocationPattern.matches method is returning true, and it
appears to be doing the right thing at that level, but the bundle still starts.
I can't see any log messages that might be relevant.
I also tried using <bundleReplacements> in that file too. I had slight success
-- I can use:
<bundleReplacements>
<bundle
originalUri="mvn:org.apache.felix/org.apache.felix.fileinstall"
replacement="mvn:org.apache.felix/org.apache.felix.fileinstall/3.6.5-SNAPSHOT"/>
</bundleReplacements>
and can compile my own version of fileinstall 3.6.5 and I can see that it's
being loaded in.
I say can. I could. I did that this morning, though I seem unable to reproduce
that now, I'm getting both versions of the bundle now. Anyway, I struggled to
change the group and artifact to something else (wasn't changing any code, I
was just changing the pom to change the maven coordinates it was building to
and then trying to reference that in the replacement url). But as soon as I did
that it went back to loading the original.
Anyone got a recipe for providing an alternative implementation of file install?
Thanks.