Galera, alguém ai usa ou ja tentou usar servlet com AsyncContext pra manter a requisição do cliente aberta?
Estou tentando usar com o VRaptor 3 e tomando o erro abaixo:
java.lang.IllegalStateException: Request is within the scope of a filter or servlet that does not support asynchronous operations
Bem na linha que pego o request e dou um startAsync():
AsyncContext ac = request.startAsync();
Será q o filtro do Vraptor esta interceptando a chamada dessa servlet?
Obrigado desde ja.
Thiago
o filtro do VRaptor intercepta todas as requisições, por padrão =/…
não lembro se em servlet 3 dá pra excluir urls, mas vc poderia excluir a url da sua servlet assincrona…
senão a gente pode tentar ver se é possível converter o filtro do vraptor pra suportar requests
assíncronos…
[]'s
Não, não dá. Creio que uma opção seja talvez criar um filter filho do filter do vraptor que ao invés de interceptar esse servlet faça o deferer para o container. Ou então criar no vraptor algum parametro que diga as URIs que serão ignoradas pelo vraptor, fazendo assim o deferer.
Aliás achei que no EE6 iriam melhorar aqueles URI-patterns, que só funciona /, /path/ e *.foo.
o problema é que não pode ter lógica dentro do filtro do VRaptor… ele simplesmente NÃO pode ser executado, senão o request assíncrono não funciona…
acho que vai precisar criar um filtro do VRaptor compatível com async
Pessoal gostaria de saber como ficou isto, estou pesquisando sobre ajax reverso e isso me interessa muito.
não chegamos a evoluir isso ainda, pq precisamos de casos de teste, e de um jeito fácil de trocar as implementações…
precisa ver se temos que fazer o VRaptor interceptar todas as requests assincronamente ou só algumas determinadas…
se puder abrir uma issue pra isso, por favor:
Eu estive semana passada analisando uma forma de integrar JEE6 sem perder a compatibilidade com JEE5. A interface HttpServletRequest possui novos métodos no Servlet 3 que não possuem no Servlet 2.5. Assim será necessário fazer uma alteração para que possamos ter duas implementações sem quebrar nada para containers no Servlet 2.5.
Lucas, vou estudar mais e fazer alguns testes. Ainda estou com conhecimento muito superficial.
Assim que eu me aprofundar eu abro a issue.
Vlw.