簡體   English   中英

如何使用Karaf功能為托管服務工廠創建配置?

[英]How to create configuration for Managed Service Factory with Karaf features?

我正在嘗試為Amdatu的MongoDB組件創建一個簡單的配置。 當我創建一個名為org.amdatu.mongo-kairos.cfg的文件,並在dbName=kairos添加以下行並將其放入deploy文件夾中時-一切正常。 但是,當我嘗試在features.xml使用config標簽時,什么也沒發生。

我的功能文件的一部分,它使用配置標簽

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

如用戶郵件列表中所述,這是一個已知問題,但可以改用configfile來解決。 通過定義多個配置文件,管理服務工廠還可以與功能定義一起使用:

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM