Java EE cdi为测试注入了不同的实现

时间:2013-07-03 19:37:05

标签: java-ee dependency-injection java-ee-6 cdi

我已经为solr提供服务,在该服务中我注入了solr http服务器实现。但是对于测试,我需要注入另一个服务器实现 - 嵌入式solr。 如何使用cdi完成此操作?任何建议......

在我的解决方案中,我需要使用cdi限定符:

@Qualifier
@Retention(RUNTIME)
@Target({ TYPE, METHOD, FIELD, PARAMETER })
public @interface SolrServer {

    Type value();

    enum Type {
        HTTP, EMBEDDED;
    }
}

1 个答案:

答案 0 :(得分:0)

您需要在测试源中创建@Alternative,并将其添加到您用于测试的beans.xml中的替代声明中。