[英]How do I write a Java WebSocket Servlet that can support implementations for either Tomcat or WebLogic
我正在為一個大型的基於Java的Web應用程序設計一個新的聊天模塊,該Web應用程序默認情況下使用Tomcat,但其中一個客戶端支持WebLogic。 我一直在研究為此目的使用WebSocket,但是我發現似乎沒有用於WebSocket servlet的通用接口,例如javax.servlet.http.HttpServlet
就是這種情況。
因此,考慮到我可能似乎需要為每個希望使用的servlet容器定義一個不同的servlet實現,如何處理我不知道自己100%地在哪個容器中的情況?
您遵循規范。 Java EE 7具有在JSR-356中定義的websocket 。 Tomcat實現了JSR-356定義的Java WebSocket 1.1 API , WebLogic也實現了 。
關鍵接口是ServerEndpoint :
import javax.websocket.server.ServerEndpoint;
import javax.inject.Inject;
@ApplicationScoped
@ServerEndpoint("/actions")
public class DeviceWebSocketServer {
@Inject
private DeviceSessionHandler sessionHandler;
@OnOpen
public void open(Session session) {
}
...
}
這是Oracle提供的有關如何執行此操作的教程 (從上面引用的示例中引出)。
如果安裝了Tomcat,則在默認情況下會安裝Tomcat示例應用程序(代碼鏈接: backend , frontend )中還有一個簡單酷的websocket示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.