2010-07-27 27 views

Respuesta

3

Aún no implementado en Spring Framework 3.x. Ver https://jira.springframework.org/browse/SPR-5587 y https://jira.springsource.org/browse/SPR-8517

Si lo que quiere es el apoyo del cometa (-sondeo larga Ajax) Usted "puede" probar CometD (http://cometd.org/documentation/cometd-java/server/services/integration-spring). Pero te advierto que lo he dejado caer, ¡es solo hinchado! (Una cosa tan simple como un sondeo largo requiere días de configuración?!)

Me gustaría implementar algunos controladores RESTful en Spring3 y programarme el largo sondeo. Realiza tu solicitud de estilo Ajax al servidor, tu controlador la mantiene abierta hasta que el servidor tenga nuevos datos para enviar al navegador. El navegador inicia una nueva solicitud larga de sondeo para obtener eventos posteriores. Para evitar tiempos de espera de conexión, simplemente devuelva los valores ficticios que hacen que el cliente repita la solicitud.

La manera más fácil es la que a menudo es la mejor solución.

+0

se deben implementar para la primavera 3.1.0, que fue liberada, pero de acuerdo con https: //jira.springsource.org/browse/SEC-1685 se movió a 3.2.0 ... sin embargo, el soporte de Servlet 3.0 es de término amplio y no necesariamente significa que el proceso asincrónico también se implementará –

4

No tan rápido, no es tan fácil implementar un buen sondeo largo. El método que mencionó funciona bien, pero existe un problema grave de "falta de hilo"

Cada encuesta larga utilizará un hilo, si tiene 1000 usuarios simultáneos necesitará 1000 hilos para atender la solicitud de sondeo largo (que la mayoría de las veces lo hace actualización del estado del lado del servidor en el navegador del cliente)

embarcadero 6 tiene un patrón de continuar lo que se agradece libera anticipa al hilo de la solicitud de sondeo largo para ser utilizado por RHE lógica de la aplicación real.

+0

y Jetty 7, ahora el el lanzamiento actual a mediados de 2011 es totalmente compatible con esto. También estoy buscando un estado actual en soporte de primavera. –

2

La pregunta es bastante antigua, pero aún no ha recibido respuesta. El autor quería soporte asíncrono en Spring MVC, y la solución aún no está disponible.

Como se indicó en la respuesta anterior, la solicitud de soporte asíncrono se envió a Spring Community Bugtracker y se implementará en Spring 3.1.0. Esto fue lanzado recientemente, pero de acuerdo con las notas de la versión "Soporte de Servlet 3.0" está previsto que se realice en la versión 3.2.0: https://jira.springsource.org/browse/SEC-1685

Necesito COMET altamente eficiente para mi aplicación. Mi implementación actual se basa en este ejemplo: http://code.google.com/p/jquery-stream/wiki/EchoExample, pero estoy interesado en moverlo al controlador Spring MVC. Por ahora, acabo de mejorar el ejemplo e inyecté manualmente los granos de primavera para permitir la comunicación con el resto de la aplicación. Tuve algunos problemas con eso, descritos en mi pregunta: Tomcat 7 Async Processing failing - only one request processed simultanously. Por ahora está funcionando bien.

He encontrado un ejemplo que usa soluciones jboss: http://docs.jboss.org/resteasy/docs/1.0.0.GA/userguide/html/Asynchronous_HTTP_Request_Processing.html, pero utilizar jboss en cuanto a mí no es una solución. JBoss es demasiado grande, lento y difícil de desarrollar.

+0

Ver (y votar por :)) https://jira.springsource.org/browse/SPR-8517 –

0

Actualmente se está considerando el soporte asincrónico Servlet 3.0. Si tiene escenarios específicos que le gustaría ver reflejados, coméntelo bajo SPR-8517 o mire el ticket y siga la discusión.

Cuestiones relacionadas