Java EE 7 - Injection into Runnable/Callable object
继续这个问题,我有一个情况......我正在使用生产者/消费者模式来消费对象列表。 My Class Consumer是Runnable的一个实现。
public class MYConsumer implements Runnable{
@EJB
private MYService myService;
private BlockingQueue<> queue;
public MYConsumer (BlockingQueue<> q){
this.queue=q;
}
@Override
public void run() {
/** Error is here**/
myService.insert();
}
}
Pattern的实现工作正常,但是当我尝试使用myService时,它是Null。容器没有注入服务。我知道这是因为Container只知道自己创建的实例。
但是怎么能克服这个问题呢?谢谢
您应该在会话bean中实例化您的runnable对象。此会话bean将实例化您需要的服务,然后将其传递给您的runnable对象。