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