2014-02-05 57 views
0

我想自動查找EJB實例並將其從EJB容器注入到List中。例如:通過通用接口將EJB注入列表

@EJBs 
List<MyCommonInterface> beans; 

List<MyCommonInterface> beans; 

public MyClass() { 
    beans = (List<MyCommonInterface>) context.findBeansByInterface(MyCommonInterface.class); 
} 

這可能嗎?

回答

2

隨着JEE6您可以使用實例http://docs.oracle.com/javaee/6/api/javax/enterprise/inject/Instance.html

隨着你使用像

@Inject 
private Instance<ICommon> ejbs; 

,你可以遍歷它注入方面:

for(ICommon c : ejbs) 
     c.doSomeThing(); 

這裏有一個例子IFACE像那

public interface ICommon { 
     void doSomeThing(); 
    } 

我在@Singleton中用SLSB和SFSB測試了它。