[jboss-jira] [JBoss JIRA] (WFLY-4599) AsyncListener.onComplete() not called if AsyncContext.dispatch() is called

Prashant Deva (JIRA) issues at jboss.org
Wed May 6 13:21:45 EDT 2015


Prashant Deva created WFLY-4599:
-----------------------------------

             Summary: AsyncListener.onComplete() not called if AsyncContext.dispatch() is called
                 Key: WFLY-4599
                 URL: https://issues.jboss.org/browse/WFLY-4599
             Project: WildFly
          Issue Type: Bug
          Components: Web (JBoss Web)
    Affects Versions: 8.2.0.Final
            Reporter: Prashant Deva
            Assignee: Remy Maucherat


Consider this code:

{code}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
{     
        final AsyncContext asyncContext = req.startAsync();
        asyncContext.addListener(new AsyncListener()
        {
            @Override
            public void onComplete(AsyncEvent event) throws IOException
            {
                System.out.println("complete");
            }

            @Override
            public void onTimeout(AsyncEvent event) throws IOException
            {
                System.out.println("timeout");

            }

            @Override
            public void onError(AsyncEvent event) throws IOException
            {
                System.out.println("err");

            }

            @Override
            public void onStartAsync(AsyncEvent event) throws IOException
            {
                System.out.println("start");
            }
        });

        new Thread(new Runnable()
        {
            @Override
            public void run()
            {
                try
                {
                    asyncContext.dispatch("/path2");
                } catch (InterruptedException e)
                {
                    e.printStackTrace();
                }
            }
        }).start();

    }
{code}



When used in Wildfly 8.2.0.final {{complete}} will never be printed since {{onComplete()}} is not called by Wildfly when {{asyncContext.dispatch()}} is used even after {{path2}} has finished executing.

On all other versions of wildfly, and other app servers like tomcat and jetty, {{complete}} will be printed.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the jboss-jira mailing list