2011-10-13 15 views
13

(req, res):IllegalStateException: AsyncContext.startAsync desteklenmez ben uyumsuz bir istek işleme keşfetmek için sunucu uygulamasını 3.0 yarattık

@WebServlet(name="MyTest", urlPatterns={"/MyTest"}, asyncSupported=true) 
public class MyTest extends HttpServlet { 

    @Override 
    public void doGet(HttpServletRequest req, HttpServletResponse res) 
      throws ServletException, IOException { 

     AsyncContext tmp = req.startAsync(req, res); 
     ... 

    }  

} 

ancak bir IllegalStateException.startAsync(...) çağrıldığında olsun. Javadoc'un bu istisnadan bahsettiğini biliyorum, ancak async'i açıkça etkinleştirdim (c.f. WebServlet ek açıklama). NetBeans ile teslim Tomcat 7.0.11.0 kullanıyorum.

req.isAsyncSupported()'un yanlış döndüğünü onaylayabilirim. Neyi yanlış yapıyorum? Async işlemeyi etkinleştirmek için daha ne yapmam gerekiyor?

DÜZENLEME:

aşağıdaki example uygulamaya çalıştı ve aynı sorunu var.

+0

Artık Tomcat 7.0.14 ile birlikte gelen NetBeans 7.0.1'i yeniden yükledim, ancak yine de aynı sorunla karşılaşıyorum. – JVerstry

cevap

27

Tomcat'ın kodunu okudum ve asyncSupported değişkeninin açıkça doğru olarak ayarlanması gerektiğini gördüm. Bu yüzden, req.isAsyncSupported() == false'u alıyorsunuz.

HynpServletRequest nesnesindeki async özniteliğini, aşağıdaki yöntemlerden biri ile true olarak ayarlamayı deneyebilirsiniz.

((org.apache.catalina.connector.Request)req).setAsyncSupported(true); 

req.setAttribute("org.apache.catalina.ASYNC_SUPPORTED", true); 

veya

yardımcı olur Umut.

+0

Ohhh, güzel. Bunu deneyeceğim ... Çok teşekkürler! – JVerstry

+1

İstek, org.apache.catalina.connector.Request türünde değil, ancak ASYNC_SUPPORTED değerini doğru olarak ayarlıyor !!! – JVerstry

+1

Harika! Yardım ettiğim için sevindim. – Efthymis

8

Lütfen uyumsuzluğu desteklemeyen istek filtreniz olup olmadığını kontrol edin. Ya filtreyi kaldırabilir (geçici olarak) veya uyumsuzluğu desteklemek için işaretleyebilirsiniz.

+0

Örnek (filtrenizi web.xml'de tanımlarsanız); true

İlgili konular