[jboss-jira] [JBoss JIRA] (WFLY-6528) Server is unable to invoke @Timeout method after 10 methods are called on Asynchronous bean on IBM JDK

Stuart Douglas (JIRA) issues at jboss.org
Mon Apr 18 01:56:00 EDT 2016


     [ https://issues.jboss.org/browse/WFLY-6528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stuart Douglas moved JBEAP-4228 to WFLY-6528:
---------------------------------------------

           Project: WildFly  (was: JBoss Enterprise Application Platform)
               Key: WFLY-6528  (was: JBEAP-4228)
          Workflow: GIT Pull Request workflow   (was: CDW with loose statuses v1)
       Component/s: EJB
                        (was: EJB)
    Target Release:   (was: 7.backlog.GA)


> Server is unable to invoke @Timeout method after 10 methods are called on Asynchronous bean on IBM JDK
> ------------------------------------------------------------------------------------------------------
>
>                 Key: WFLY-6528
>                 URL: https://issues.jboss.org/browse/WFLY-6528
>             Project: WildFly
>          Issue Type: Bug
>          Components: EJB
>            Reporter: Stuart Douglas
>            Assignee: Stuart Douglas
>
> *Description of problem:*
> Server is unable to invoke @Timeout method after 10 methods are called on Asynchronous bean
> Test:
> {code:java}
>         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();
> {code}
> Asynchronous bean:
> {code:java}
> @Stateless
> @Asynchronous
> @LocalBean
> public class AsyncBean{
>     public void asyncMethod() {
>         System.out.println("asynch bean execution");
>     }
> }
> {code}
> Timeout bean:
> {code:java}
> @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");
>     }
> }
> {code}
> *How reproducible:*
> Always on IBM JDK
> *Steps to Reproduce: (use attached reproducer)*
> # get fresh EAP 
> # mvn test -Djboss.home=$\{EAP_HOME\}
> *Actual results:*
> {noformat}
> 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 at 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
> {noformat}
> *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:
> {noformat}
> /subsystem=ejb3/thread-pool=default:write-attribute(name=max-threads,value=10)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list