Шаблон производителя / потребителя с ошибкой внедрения зависимости - PullRequest
0 голосов
/ 31 августа 2018

Java EE 7 - Инъекция в объект Runnable / Callable

Продолжая этот вопрос, у меня возникла ситуация ... Я использую шаблон Producer / Consumer для потребления списка объектов. 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. Контейнер не внедряет Сервис. Я знаю, что это потому, что Контейнер знает только экземпляры, созданные самим собой.

Но как преодолеть эту проблему? Спасибо

1 Ответ

0 голосов
/ 31 августа 2018

Вы должны создать экземпляр вашего работающего объекта внутри сессионного компонента. Этот сессионный компонент создает экземпляр службы, которую вы хотите, и затем передает ее в ваш исполняемый объект.

...