You can isolate the config in a dedicated feature and define this feature as prerequisite of the feature containing the scr bundle.
Regards
JB
Le dim. 20 sept. 2020 ? 19:00, Steinar Bang <[email protected]> a ?crit :
I've added config for an Declarative Services component in the
src/main/feature/feature.xml file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="oldalbum.roleadder.test">
<feature name="${karaf-feature-name}">
<config name="no.priv.bang.oldalbum.roleadder.test.ShiroRoleAdderForOldalbumTestEnvironment">
username=${env:USERNAME:-admin}
password=${env:PASSWORD:-admin}
allowModify=${env:ALLOW_MODIFY:-true}
</config>
<feature>scr</feature>
</feature>
</features>
The etc/no.priv.bang.oldalbum.roleadder.test.ShiroRoleAdderForOldalbumTestEnvironment.cfg
file is created on startup, with the expected content:
username=${env:USERNAME:-admin}
password=${env:PASSWORD:-admin}
allowModify=${env:ALLOW_MODIFY:-true}
org.apache.karaf.features.configKey = no.priv.bang.oldalbum.roleadder.test.ShiroRoleAdderForOldalbumTestEnvironment
But on the first call to the @Activate
method the config object is almost empty:
{component.name=no.priv.bang.oldalbum.roleadder.test.ShiroRoleAdderForOldalbumTestEnvironment, component.id=7}
If I stop karaf, delete the data directory, restart karaf, and reinstall
the feature (now with the config file in place), the @Activate method
gets the config results:
{service.pid=no.priv.bang.oldalbum.roleadder.test.ShiroRoleAdderForOldalbumTestEnvironment, allowModify=true, password=admin, org.apache.karaf.features.configKey= no.priv.bang.oldalbum.roleadder. test.ShiroRoleAdderForOldalbumTestEnvironment, component.name=no.priv.bang.oldalbum. roleadder.test.ShiroRoleAdderForOldalbumTestEnvironment, felix.fileinstall.filename=file: /home/sb/skrot/apache-karaf-4.2. 9/etc/no.priv.bang.oldalbum.roleadder. test.ShiroRoleAdderForOldalbumTestEnvironment. cfg, component.id=4, username=admin}
Is there a way so that I can get the contents of the newly generated
.cfg file on the first component install?
Thanks!
- Steinar
