2013-07-11 37 views
5

Java EE 7 đã hết và một trong những tính năng mà tôi thích là các Websockets chuẩn. Hiện tại tôi đang làm việc trong Tomcat 7, Có cách nào để tích hợp Java Websockets 7 trong Tomcat 7 của tôi không? Tôi đã tìm kiếm trong tài liệu của Tyrus Websocket mà không thành côngChạy Java EE 7 WebSockets trong Tomcat 7

CẬP NHẬT: Tomcat 7.0.47 đi kèm với hỗ trợ Websocket, yeah baby!

Trả lời

5

Không thể thực hiện Tyrus WebSocket và sử dụng nó trong Tomcat 7. Nó có thể hoạt động trong Tomcat 8 nhưng không chắc là có một số vấn đề với WebSocket có nghĩa là không thể triển khai trực tiếp WebSocket trên cùng của Servlet 3.1 API, trừ khi Servlet 3.1 triển khai thực hiện một số quy tắc. (Như một bên, tôi sẽ nói về điều này tại JavaOne trong năm nay). Theo tôi biết, hầu hết các triển khai đang sử dụng API cụ thể của container để giải quyết các vấn đề này (và để có hiệu suất tốt hơn).

Triển khai Java WebSocket 1.0 (JSR-356) của Tomcat hiện chỉ khả dụng trong Tomcat 8. Nó luôn là kế hoạch quay lại triển khai thực hiện đó cho Tomcat 7 khi nó đã ổn định. Tôi nghĩ rằng điểm đó rất gần. Việc triển khai đã vượt qua Autobahn TestSuite cho cả khách hàng và máy chủ trong một thời gian. Trong vài ngày qua, một số người đã kiểm tra stress và đã tìm thấy một số vấn đề - tất cả đều đã được sửa chữa.

Hôm nay, bạn sẽ cần phải xây dựng Tomcat 8 từ nguồn để có được triển khai JSR-356 dựa trên Tomcat. Một số thời gian trong vài bản phát hành tiếp theo (có một bản phát hành Tomcat 7 mới khoảng mỗi tháng) triển khai JSR-356 cũng sẽ có sẵn trong Tomcat 7.

Nếu bạn không muốn xây dựng từ nguồn, tôi tin Glassfish là lựa chọn duy nhất của bạn vào thời điểm này để triển khai JSR-356. Tôi biết Jetty và JBoss đang nghiên cứu nhưng tôi không biết họ sẽ hoàn thành bao nhiêu.

+0

Bạn có biết khi nào JSR-356 sẽ có sẵn trong Tomcat 7 không? –

+0

Dự đoán tốt nhất là bản phát hành sau đó sẽ là 7.0.44 vào đầu tháng 9 nhưng đó chỉ là phỏng đoán. Rất nhiều thứ có thể thay đổi điều đó. –

+0

Vì vậy, về cơ bản Tomcat đã mở rộng để trở thành một container servlet và bây giờ cũng sẽ triển khai JSR-356? –

Các vấn đề liên quan