]
Tomas Remes commented on WFLY-7841:
-----------------------------------
Yes request scope is not active in this case and unfortunately it's not required by
the Concurrency utilities spec AFAIK. Application scope should work.
ManagedScheduledExecutorService could not find EntityManager produced
by CDI producer. No active context.
---------------------------------------------------------------------------------------------------------
Key: WFLY-7841
URL:
https://issues.jboss.org/browse/WFLY-7841
Project: WildFly
Issue Type: Bug
Components: CDI / Weld
Affects Versions: 10.0.0.Final, 10.1.0.Final
Reporter: Tibor Digana
Assignee: Stuart Douglas
The problem is that _EntityManager_ does not have managed delegate within a job executed
by _ManagedScheduledExecutorService#scheduleAtFixedRate()_.
The _EntityManager_ is produced by CDI producer and entire web application is able to
work with injected _EntityManager_ except for the jobs.
I tried to schedule executing the job in two ways and both finished with same issue (No
managed context in _EntityManager_) :
* _@ApplicationScoped_ job instance was passed to executor from caller.
* The job was changed to _RequestScoped_ and _ContextProxy#createContextualProxy()_
created the Job bean instance and then I called _scheduleAtFixedRate(job, 5, 60,
SECONDS)_
It looks to me that _javax.enterprise.concurrent_ has a different _BeanManager_ and
therefore has no notion about my CDI Producer of _EntityManager_. The producer is regular
producer of _EntityManager_ in JavaEE.