É possível usar WebSocket com VRaptor?

Olá, minha dúvida é se é possível usar WebSocket junto com o VRaptor? ou é uma implementação separada? Eu vi na página do apache tomcat, porém lá diz que a implementação do WebSocket não está finalizada ainda, porém queria saber se existe outra alternativa para implementar o WebSocket no tomcat 7.

Obrigado desde já!

a implementação que já funciona é a do Jetty 8, se eu não me engano…

o problema é que o vraptor é implementado usando um Filter e essa implementação se baseia numa Servlet assíncrona. o que dá pra tentar fazer é criar uma versão do filtro do VRaptor em servlet…

quer tentar fazer?

Quero sim, isso vai influenciar em desempenho ou coisa do genero?

trocar de Filter pra Servlet? Não.
trocar de Filter pra AsyncServlet? Talvez. Mas provavelmente nada muito significativo.

Mas isso soh com jetty 8 certo?

sim, pq só ele tem o suporte estável ao WebSocket…

Aham, e você possui algum artigo ou tutorial para implementar para o VRaptor?

Aham, e você possui algum artigo ou tutorial para implementar para o VRaptor?

http://vraptor.caelum.com.br/pt/docs/como-contribuir/

Mas no caso vc vai ter que fazer uma versão dessa classe:

que ao invés de implements Filter terá que estender HttpServlet (ou AsyncServlet se eu não me engano)

tudo que tá no doFilter vc pode colocar no método service da servlet.

daí talvez vc tenha que fazer alguma coisa pro async funcionar, mas vc pode fazer esse primeiro passo, se funcionar a gente tenta adaptar pro async.

Por favor faça isso nun fork do VRaptor:

Abraços

Eu poderia tentar implementar essa versão do async, para por exemplo mais pra frente criar um @ResourceAsync vamos supor!

Sim!!! \o/

Só que no caso dae só funcionaria com o Jetty por enquanto certo?

se vc usar a API do Servlet 3 pra async, funcionaria em qqer servidor java que suporta isso :wink:

blz, vou tentar fazer a implementação, qualquer dúvida retorno aqui!

commite lá no github, daí eu consigo te dar uns toques durante o desenvolvimento :wink:

me passa o link do seu fork!

https://github.com/alexandref93/vraptor

não sei se vai dá tempo tudo hoje, mas pretendo finalizar essa semana!

Cara fiquei meio na dúvida quanto a implementação, tipo tentando seguir mais ou menos isso http://blog.caelum.com.br/websockets-html5-em-java-com-jetty-web-em-tempo-real/
só que parece que fica meio preso ao Jetty =s

sim… esse é preso ao jetty…

mas tenta fazer o do servlet 3:

https://blogs.oracle.com/enterprisetechtips/entry/asynchronous_support_in_servlet_3

tá em ingles, mas é algo na linha de usar:

@WebServlet(url="/foo" asyncSupported=true)

e

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

daí dá pra fazer alguma coisa…

não tenho certeza se ele vai usar webSockets pra isso, mas é algo nessa linha.

Agora não sei como vou tratar FilterChain já que com HttpServlet não vem ele…

é só não usar o filterChain… remove esse código.

isso é pra continuar a requisição caso ela não seja tratável pelo vraptor (tipo imagens e javascripts)