[
https://issues.jboss.org/browse/WFLY-7841?page=com.atlassian.jira.plugin....
]
Martin Kouba commented on WFLY-7841:
------------------------------------
Well, it makes sense. However, we should be careful here.
bq. Tasks that are submitted to a managed instance of ExecutorService may still be running
after the lifecycle of the submitting component.
(2.3.2.1 Tasks and Contexts and Dependency Injection)
If you submit a task which is a client proxy of a {{@RequestScoped}} bean, then the real
bean instance executed will be (most probably) a completely different object than the one
a user might think he/she is passing. This might be really confusing.
So I think it's ok to activate request context and use {{@RequestScoped}} beans during
task execution but the task itself should not be {{@RequestScoped}}.
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.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)