![](/img/trans.png)
[英]Does Mockito support @Any @Inject with CDI's Instance<> interface?
[英]CDI @Inject Instance @Any - But instance never populated with instances
為什么“實例”從不遍歷任何實現? 我想念什么?
JBoss EAP 6.3.0.GA(AS 7.4.0.Final-redhat-19)
public interface Simple { }
public class SimpleA implements Simple { public SimpleA() { } }
public class SimpleB implements Simple { public SimpleB() { } }
public class SimpleUser {
@Inject @Any Instance<Simple> instance;
@PostConstruct public void init() {
for (final Simple simple : instance) {
System.out.println(simple);
}
}
}
萬一它對其他人有幫助,我也會使用Deltaspike 1.5.2並遇到相同的問題(如果刪除Deltaspike,我將不再遇到問題)。
就我而言,添加生產者方法並不能解決問題。 環顧四周后,我的BeanProvider可以解決問題,但遠非優雅。
https://deltaspike.apache.org/documentation/core.html#BeanProvider
我不得不打電話
List<MyServiceInterface> myServiceList = BeanProvider.getContextualReferences(MyServiceInterface.class, false, false);
可能有更好的方法。 我注意到Deltaspike默認情況下會啟用一堆擴展程序,但是找不到有關如何禁用我不使用的擴展程序的文檔,因為我懷疑可能是導致此問題的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.