您必须给容器一个将EJB注入Task实例的机会。您可以使用以下代码中的动态实例来做到这一点:
@Statelesspublic class MyBean { @Resource ManagedExecutorService managedExecutorService; @PersistenceContext EntityManager entityManager; @Inject Instance<MyTask> myTaskInstance; public void executeAsync() throws ExecutionException, InterruptedException { for(int i=0; i<10; i++) { MyTask myTask = myTaskInstance.get(); this.managedExecutorService.submit(myTask); }}
因为您不是使用new运算符而是通过CDI的实例机制创建实例,所以容器在调用时会准备MyTask的每个实例
myTaskInstance.get()。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)