2013-07-11 13 views
5

Java EE 7 è fuori e una le funzionalità che mi piacciono sono i Websocket standard. Attualmente lavoro in Tomcat 7, c'è un modo per integrare Java EE 7 Websockets nel mio Tomcat 7? L'ho cercato nella documentazione di Tyrus Websocket senza successoEsegui Java EE 7 WebSockets in Tomcat 7

AGGIORNAMENTO: Tomcat 7.0.47 viene fornito con il supporto Websocket, sì piccola!

risposta

5

Non sarà possibile prendere l'implementazione di Tyrus WebSocket e utilizzarlo in Tomcat 7. Potrebbe funzionare in Tomcat 8 ma è improbabile in quanto vi sono alcuni problemi con WebSocket che significa che è impossibile implementare WebSocket direttamente su parte superiore dell'API Servlet 3.1 a meno che l'implementazione di Servlet 3.1 non elimini alcune regole. (Per inciso, ne parlerò a JavaOne quest'anno). Per quanto ne so, la maggior parte delle implementazioni utilizza API specifiche del contenitore per aggirare questi problemi (e per prestazioni migliori).

L'implementazione Java WebSocket 1.0 (JSR-356) di Tomcat è attualmente disponibile solo in Tomcat 8. È sempre stato previsto il back-port di quell'implementazione su Tomcat 7 una volta che fosse stabile. Penso che il punto sia vicino. L'implementazione ha superato l'Autobahn TestSuite per client e server per un po 'di tempo. Negli ultimi giorni alcuni hanno testato lo stress e hanno riscontrato alcuni problemi, tutti risolti.

Oggi è necessario creare Tomcat 8 dal sorgente per ottenere un'implementazione JSR-356 basata su Tomcat. Qualche volta nelle prossime versioni (c'è una nuova versione di Tomcat 7 all'incirca ogni mese) l'implementazione di JSR-356 sarà disponibile anche in Tomcat 7.

Se non si desidera creare dal sorgente, credo che Glassfish sia l'unica opzione a questo punto per un'implementazione JSR-356. So che Jetty e JBoss stanno lavorando a uno, ma non so quanto siano vicini al completamento.

+0

Sapete quando JSR-356 sarà disponibile in Tomcat 7? –

+0

La migliore ipotesi è la prossima release che dovrebbe essere 7.0.44 all'inizio di settembre, ma questa è solo un'ipotesi. Un sacco di cose potrebbero cambiarlo. –

+0

Quindi, in pratica, Tomcat è stato esteso per essere un contenitore servlet e ora implementerà anche JSR-356? –