Dường như Atmosphere có thể là thứ bạn đang tìm kiếm.
Từ mô tả github:
Khung Atmosphere chứa client và phía máy chủ thành phần cho việc xây dựng ứng dụng Web không đồng bộ.
Tôi không thử nó chưa, nhưng this nói rằng nó hỗ trợ lớn Jee-Servers (JBoss, Tomcat, Glassfish, Jetty) và tất cả các trình duyệt chính và vận tải (WebSockets, SSE, dài Polling vv).
CẬP NHẬT 6/4/2014: Có một giải pháp thay thế đáng chú ý khác cho "tương đương Java của SignalR". Kể từ phiên bản 4.0, Spring Framework đi kèm với support for WebSockets và hỗ trợ phía máy chủ cho SockJS. Nó có nghĩa là nó cũng hỗ trợ WebSocket-Dự phòng, được sử dụng cùng với thư viện sockjs-client bên trình duyệt. Như Tài liệu mùa xuân cho biết:
WebSocket không được hỗ trợ trong tất cả các trình duyệt và có thể bị ngăn cấm bởi proxy mạng hạn chế. Đây là lý do tại sao Spring cung cấp các tùy chọn dự phòng mô phỏng API WebSocket càng gần càng tốt dựa trên giao thức SockJS [...] Về phía trình duyệt, các ứng dụng có thể sử dụng sockjs-client mô phỏng API WebSocket của W3C và giao tiếp với máy chủ chọn tùy chọn vận chuyển tốt nhất tùy thuộc vào trình duyệt đang chạy.
Vẫn chưa biết liệu có hỗ trợ cho một cái gì đó như Trung tâm SignalR (liên quan đến tạo mã JavaScript) trong khung Java ngày hôm nay hay không, nhưng ở phía bên kia tôi nghĩ bạn có thể dễ dàng bắt chước một PersistentConnection giống SignalR với hỗ trợ dự phòng đầy đủ cho các trình duyệt cũ hơn.
Hơn nữa, vì JSR 356 còn gọi là API Java cho WebSocket, tôi nghĩ rằng đó chỉ là vấn đề thời gian khi các khung Java Web "chính thống" được chuyển đi với sự hỗ trợ ngoài hộp cho Websockets + Dự phòng, đặc biệt là xem xét thực tế là tất cả các contleters servlet chính (như Tomcat và Jetty) và JEE 7 Servers (Glassfish, Wildfly) đều hỗ trợ JSR 356.
Nguồn
2013-12-24 00:03:48
https://github.com/SignalR/java-client là một tùy chọn – Devjosh