i Avoir un emploi qui a besoin à la fois un dao et 1 classe usine quelque chose comme çaInjecter DAO et de l'usine à quartz d'emploi
Ma question est de savoir comment les injecter, je reçois cette exception lorsque la Code atteint le dao appelant getSomething
dans la classe usine
dans le abstractDao i @Inject entityManager
que je reçois d'un @ApplicationScoped EnttityManagerProducer
son getEntityManager
est @RequestScoped
org.jboss.weld.context.ContextNotActiveException: WELD-001303: No active contexts for scope type javax.enterprise.context.RequestScoped
at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:691)
at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.getIfExists(ContextualInstanceStrategy.java:89)
at org.jboss.weld.bean.ContextualInstanceStrategy$CachingContextualInstanceStrategy.getIfExists(ContextualInstanceStrategy.java:164)
at org.jboss.weld.bean.ContextualInstance.getIfExists(ContextualInstance.java:63)
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:83)
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:99)
at org.jboss.weldx.persistence.EntityManager$1070085530$Proxy$_$$_WeldClientProxy.createQuery(Unknown Source)
at com.org.dao.impl.ConcreteDAOImpl.getByName(ConcreteDAOImpl.java:18)
at com.org.dao.impl.ConcreteDAOImp$Proxy$_$$_WeldClientProxy.getByName(Unknown Source)
at com.org.FactoryImpl.getObj(FactoryImpl.java:33)
(les classes réelles i remplacé pour le bien de l'exemple)
J'ai essayé de mettre les annotations tant au niveau de la classe et de l'interface je ne sais pas qui est preferrable
Vous devez démarrer manuellement 'RequestContext' (fourni par l'implémentation de Weld) car Quartz démarre son propre thread. – Rouliboy