Как создать конфигурацию для Managed Service Factory с функциями Karaf?

Я пытаюсь создать простую конфигурацию для компонента Amdatu MongoDB. Когда я создаю файл с именем org.amdatu.mongo-kairos.cfg со следующей строкой внутри dbName=kairos и поместите его в папку развертывания - все работает хорошо. Тем не менее, когда я пытаюсь использовать config отметить в features.xml Ничего не произошло.

Часть моего файла функций, который использует тег конфигурации:

<feature name="persistency" version="0.0.1-SNAPSHOT" description="MongoDB Persistency">
    //(...)
    <config name="org.amdatu.mongo-kairos">
        dbName=kairos
    </config>
</feature>

1 ответ

Решение

Как уже упоминалось в списке рассылки пользователей, это известная проблема, но вместо этого ее можно обойти, используя файл конфигурации. При определении нескольких файлов конфигурации фабрика службы управления может также использоваться с определением функции:

<feature name="persistence" version="1.0.0-SNAPSHOT" description="MongoDB Persistence">
    <configfile finalname="/etc/org.amdatu.mongo-kairos.cfg">
        mvn:groupId/persistency-config/version/cfg
    </configfile>
    <configfile finalname="/etc/org.amdatu.mongo-suez.cfg">
        mvn:groupId/artifactId/versionId/jar
    </configfile>
    //.. a list of bundles
</feature>

Более того, использование файлов конфигурации вместе с Maven позволяет создавать версии конфигурации вместе с приложением:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <executions>
        <execution>
            <id>persistency-config</id>
            <phase>install</phase>
            <goals>
                <goal>install-file</goal>
            </goals>
            <configuration>
                <groupId>${project.groupId}</groupId>
                <artifactId>persistency-config</artifactId>
                <version>${project.version}</version>
                <packaging>cfg</packaging>
                <file>config/org.amdatu.mongo-kairos.cfg</file>
            </configuration>
        </execution>
    </executions>
</plugin>
Другие вопросы по тегам