簡體   English   中英

如何編寫可以支持Tomcat或WebLogic實現的Java WebSocket Servlet

[英]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 APIWebLogic也實現了

關鍵接口是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示例應用程序(代碼鏈接: backendfrontend )中還有一個簡單酷的websocket示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM