-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Critical
-
Resolution: Done
-
Affects Version/s: None
-
Component/s: EJB
-
Labels:None
-
Target Release:
-
Git Pull Request:
-
Affects:Release Notes
-
Release Notes Docs Status:Documented as Known Issue
-
Sprint:EAP 7.0.1
Description of problem:
Server is unable to invoke @Timeout method after 10 methods are called on Asynchronous bean
Test:
for (int i = 0; i < 10; i++) { |
AsyncBean bean = lookup(AsyncBean.class); |
bean.asyncMethod();
|
}
|
InitialContext iniCtx = new InitialContext(); |
TimeoutBean bean = (TimeoutBean) iniCtx.lookup("java:module/" + TimeoutBean.class.getSimpleName()); |
bean.createTimer();
|
Asynchronous bean:
@Stateless
|
@Asynchronous
|
@LocalBean
|
public class AsyncBean{ |
public void asyncMethod() { |
System.out.println("asynch bean execution"); |
}
|
}
|
Timeout bean:
@Stateless
|
public class TimeoutBean { |
@Resource |
private TimerService timerService; |
|
|
public void createTimer() { |
timerService.createTimer(100, null); |
}
|
|
|
@Timeout |
private void timeout(Timer timer) { |
System.out.println("in timeout method"); |
}
|
}
|
Customer Impact:
Customers can not use default persistence timer with Asynchronous bean.
How reproducible:
Always on IBM JDK
Steps to Reproduce: (use attached reproducer)
- get fresh EAP
- mvn test -Djboss.home=${EAP_HOME}
Actual results:
12:26:57,462 ERROR [org.jboss.as.ejb3] (EJB default - 9) WFLYEJB0164: Exception running timer task for timer [id=03aa7a93-ee6f-483e-bf6b-caff56a13fc0 timedObjectId=test.test.TimeoutBean auto-timer?:false persistent?:true timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@f1cd0789 initialExpiration=Mon Apr 11 12:26:57 CEST 2016 intervalDuration(in milli sec)=0 nextExpiration=null timerState=IN_TIMEOUT info=null] on EJB test.test.TimeoutBean: java.lang.RuntimeException: javax.xml.stream.FactoryConfigurationError: Provider __redirected.__XMLOutputFactory not found
|
at org.jboss.as.ejb3.timerservice.TimerServiceImpl.persistTimer(TimerServiceImpl.java:614)
|
at org.jboss.as.ejb3.timerservice.TimerTask.run(TimerTask.java:148)
|
at org.jboss.as.ejb3.timerservice.TimerServiceImpl$Task$1.run(TimerServiceImpl.java:1214)
|
at org.wildfly.extension.requestcontroller.RequestController$QueuedTask$1.run(RequestController.java:497)
|
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
|
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
|
at java.lang.Thread.run(Thread.java:785)
|
at org.jboss.threads.JBossThread.run(JBossThread.java:320)
|
Caused by: javax.xml.stream.FactoryConfigurationError: Provider __redirected.__XMLOutputFactory not found
|
at javax.xml.stream.XMLOutputFactory.newFactory(Unknown Source)
|
at javax.xml.stream.XMLOutputFactory.newInstance(Unknown Source)
|
at org.jboss.as.ejb3.timerservice.persistence.filestore.FileTimerPersistence.writeFile(FileTimerPersistence.java:497)
|
at org.jboss.as.ejb3.timerservice.persistence.filestore.FileTimerPersistence.persistTimer(FileTimerPersistence.java:225)
|
at org.jboss.as.ejb3.timerservice.persistence.filestore.FileTimerPersistence.persistTimer(FileTimerPersistence.java:193)
|
at org.jboss.as.ejb3.timerservice.TimerServiceImpl.persistTimer(TimerServiceImpl.java:609)
|
... 7 more
|
Caused by: java.lang.ClassNotFoundException: __redirected.__XMLOutputFactory
|
at java.lang.Class.forNameImpl(Native Method)
|
at java.lang.Class.forName(Class.java:273)
|
at javax.xml.stream.FactoryFinder.newInstance(Unknown Source)
|
at javax.xml.stream.FactoryFinder.find(Unknown Source)
|
at javax.xml.stream.FactoryFinder.find(Unknown Source)
|
... 13 more
|
Expected results:
No exception on output
Additional info:
Number of EJB call depends on max-threads attribute of EJB3 subsystem. It can be configured by this CLI command:
/subsystem=ejb3/thread-pool=default:write-attribute(name=max-threads,value=10)
|
- causes
-
JBEAP-2902 Ejb tests fails with IBM JDK
-
- Closed
-
- cloned to
-
WFLY-6528 Server is unable to invoke @Timeout method after 10 methods are called on Asynchronous bean on IBM JDK
-
- Closed
-
- is duplicated by
-
JBEAP-2902 Ejb tests fails with IBM JDK
-
- Closed
-