[
https://issues.redhat.com/browse/WFLY-13051?page=com.atlassian.jira.plugi...
]
Eduardo Martins edited comment on WFLY-13051 at 6/1/20 10:42 AM:
-----------------------------------------------------------------
[~nimo22] Such object is the ManagedScheduledExecutorServiceAdapter, which locks the
lifecycle methods according to the spec, and even if it was the
ManagedScheduledExecutorService impl itself (which actually comes from the spec Reference
Implementation), it's not an extension of a ScheduledThreadPoolExecutor either (it
uses one internally tho).
was (Author: emmartins):
[~nimo22] Such object is the scheduled executor adapter, which locks the lifecycle methods
according to the spec, and even if it was the executor itself (which ours actually comes
from the spec Reference Implementation), it's not an extension of a
ScheduledThreadPoolExecutor either (it uses one internally tho).
provide setRemoveOnCancelPolicy on ManagedScheduledExecutorService
------------------------------------------------------------------
Key: WFLY-13051
URL:
https://issues.redhat.com/browse/WFLY-13051
Project: WildFly
Issue Type: Enhancement
Components: Concurrency Utilities
Affects Versions: 19.0.0.Beta1
Reporter: nimo stephan
Assignee: Eduardo Martins
Priority: Major
Using
{code:java}
@Resource
private ManagedScheduledExecutorService executor;
{code}
provides no possiblity to setRemoveOnCancelPolicy to true.
A casting within a method:
{code:java}
((ScheduledThreadPoolExecutor) executor).setRemoveOnCancelPolicy(true);
{code}
throws the error:
{code:java}
Caused by: javax.ejb.EJBException: java.lang.ClassCastException: class
org.glassfish.enterprise.concurrent.ManagedScheduledExecutorServiceAdapter cannot be cast
to class java.util.concurrent.ScheduledThreadPoolExecutor
(org.glassfish.enterprise.concurrent.ManagedScheduledExecutorServiceAdapter is in unnamed
module of loader 'org.glassfish.javax.enterprise.concurrent' @a93b7af;
java.util.concurrent.ScheduledThreadPoolExecutor is in module java.base of loader
'bootstrap')
at
org.jboss.as.ejb3@17.0.1.Final//org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:246)
at
org.jboss.as.ejb3@17.0.1.Final//org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:388)
at
org.jboss.as.ejb3@17.0.1.Final//org.jboss.as.ejb3.tx.LifecycleCMTTxInterceptor.processInvocation(LifecycleCMTTxInterceptor.java:68)
{code}
Please provide option to cast or if not possible to add the property
{code:java}
setRemoveOnCancelPolicy()
{code}
within the object ManagedScheduledExecutorService. Because without it, we cannot remove
a task from the queue with "future.cancel(false)".
--
This message was sent by Atlassian Jira
(v7.13.8#713008)