似乎我错过了一个基本概念,但即使经过数小时的阅读,我现在还是被卡住了。
给定以下设置:Glassfish 4 上的 EE7,Arquillian(伪)代码:
接口的多种实现:
public interface Activity {
public void doFoo();
}
@Stateless
public class StockActivity implements Activity {
@Override
public void doFoo(){
...
}
}
@Stateless
public class OrderActivity implements Activity {
@Override
public void doFoo(){
...
}
public void doSomeOtherStuff(){
...
}
}
业务代码中的选择,例如
@Any
@Inject
Instance<Activity> activities;
到目前为止,一切正常......但现在我想在 Arquillian-Test 中调用 doSomeOtherStuff 方法,该方法未在接口上定义。我只是想不出一种方法来检索 OrderActivity Bean 的实例
(我想避免引入“硬编码”特定限定符,因为它们只会用于测试。而且具体实现存在于他们自己的项目中并按客户打包,所以我也不能使用一个“枚举” ' 限定符。)
有任何想法吗?