Java PAX考试和配置管理员

Java PAX考试和配置管理员,java,osgi,pax-exam,Java,Osgi,Pax Exam,我正在尝试使用PAX考试设置捆绑包的测试 在用配置注释的方法中,我设置了在运行测试之前必须加载的不同包。但是,被测试的包还希望通过Config Admin服务提供配置 在Eclipse之外,我使用带有Config Admin和File Install的ApacheFelix框架,以便自动加载bundle+配置 如何通过PAX考试提供配置信息 谢谢, Mickeel这很简单,只需将配置管理服务注入测试,并在设置方法中进行配置即可。可以在PaxWeb项目中找到这方面的工作示例。 看看这个不幸的是,e

我正在尝试使用PAX考试设置捆绑包的测试

在用
配置
注释的方法中,我设置了在运行测试之前必须加载的不同包。但是,被测试的包还希望通过Config Admin服务提供配置

在Eclipse之外,我使用带有Config Admin和File Install的ApacheFelix框架,以便自动加载bundle+配置

如何通过PAX考试提供配置信息

谢谢,
Mickeel

这很简单,只需将配置管理服务注入测试,并在设置方法中进行配置即可。可以在PaxWeb项目中找到这方面的工作示例。
看看这个

不幸的是,eclipse没有将其捆绑包发布到maven repo中。您可以在maven central repo中搜索它们,或者在本地maven存储库中找不到Eclipse IDE附带的所需捆绑包的情况下,安装它们,然后在pax考试配置中引用它们。就像这样:

protected static Option[] baseConfiguration(Option... extraOptions) {
    Option[] options = options(
            cleanCaches(),
             when(isEquinox()).useOptions(
                    mavenBundle("org.lunifera.osgi",
                            "org.eclipse.osgi.services",
                            "3.4.0.v20131120-1328").startLevel(1),
                    mavenBundle("org.lunifera.osgi",
                            "org.eclipse.equinox.ds",
                            "1.4.200.v20131126-2331").startLevel(2),
                    mavenBundle("org.lunifera.osgi",
                            "org.eclipse.equinox.cm",
                            "1.1.0.v20131021-1936").startLevel(2), ....

public static boolean isEquinox() {
    return "equinox".equals(System.getProperty("pax.exam.framework"));
}

public static boolean isFelix() {
    return "felix".equals(System.getProperty("pax.exam.framework"));
}

Hello@AchimNierbeck,这个例子看起来不错,对我帮助很大,但是如果我想注入我开发的服务(使用DS),并且该服务从文件中获取配置,那么如何在PAX考试中使用ConfigurationAdmin提供配置呢?