PAX考试和配置管理员

时间:2014-02-19 14:10:06

标签: java osgi pax-exam

我正在尝试使用PAX考试为捆绑设置测试。

在使用Configuration注释的方法中,我设置了在运行测试之前必须加载的不同包。但是,受测试的捆绑包还需要通过Config Admin服务配置配置。

在Eclipse之外,我使用Apache Felix框架和Config Admin以及File Install,以便自动加载bundle +配置。

如何使用PAX考试配置配置信息?

谢谢, 迈克尔

2 个答案:

答案 0 :(得分:2)

这很简单,只需将配置管理服务注入您的测试并在您的安装方法中进行配置即可。可以在pax web项目中找到相关的工作示例。 看一下这个link

答案 1 :(得分:0)

不幸的是,eclipse不会将他们的捆绑包发布到maven回购中。您可以做的是在maven中央仓库中搜索它们,或者如果您没有找到任何在您的本地maven存储库中安装Eclipse IDE所需的捆绑包,然后在pax-exam配置中引用它们。像这样:

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"));
}