簡體   English   中英

如何在WSO2 AS 5.2.1上設置和部署WebSocket?

[英]How to setup and deploy WebSocket on WSO2 AS 5.2.1?

我有一個可運行的JAX-RS Web應用程序,該應用程序實現了一些RESTfull服務。 我已經在WSO2 Studio下開發了它,並使用WSO2 AS Web界面進行了部署,所有這些都非常簡單。

現在,我想在我的WebApp上添加打開WebSocket的可能性。 我沒有在WSO2 AS文檔中找到標准過程或示例。 我的問題是:

  1. 有可能嗎?
  2. 我可以在同一war軟件包中包含RESTfull實現和WebSocket嗎? 有這樣做的例子嗎? 最適合WSO2 AS。
  3. 如何設置WebSocket應用程序並將其部署在WSO2 AS上?

謝謝。

更新

我已經編寫了這個極其簡單的websocket應用程序:

import java.io.IOException;
import javax.websocket.OnMessage;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/test")
public class TestSocket {

    @OnMessage
    public void onMessage(Session session, String message, boolean last) {
        try{
            if(session.isOpen()){
                session.getBasicRemote().sendText("Received -> [" + message + "]", last);
            }
        }catch(IOException e){
            try{
                session.close();
            }catch(IOException e1){

            }
        }
    }
}

如果我在Tomcat服務器上部署,則在我在WSO2 AS 5.3.0(快照)上部署時,它可以正確運行,WebSocket無法訪問。 我不明白我做錯了什么。

WSO2 AS 5.2.1具有Websocket(特定於tomcat)支持。 您可以在$AS_HOME/repository/deployment/server/webapps文件夾中找到“示例” Webapp。

但是WSO2 AS 5.2.1中不提供標准(JSR356)Websocket支持。 它會在即將發布的WSO2 AS 5.3.0中提供。 WSO2 AS 5.3.0 Alpha已經發布,您可以使用Alpha Pack嘗試Web套接字支持。 啟動服務器,將瀏覽器指向http:// localhost:9763 / example / websocket / index.xhtml ,您將在此處找到四個Web套接字示例。 您可以查看WSO2 AS 5.3.0中有關新功能的發行郵件

正如@Rajkumar提到的,如果您需要使用基於JSR356的標准websocket,則必須使用WSO2-AS 5.3.0 Alpha。 但是您仍然可以將先前的wso2-as版本(5.2.1)用於特定於Tomcat的Websocket實現。

如果要使用jaxrs調用websocket,則可以在github-product-as中引用websocket測試用例

對於基於tomcat的websocket實現,您可以從tomcat來源或從https://github.com/wso2/product-as/tree/wso2appserver-parent-6.0.0/modules/samples/common/引用tomcat websocket示例webapp / src / main / java / websocket

暫無
暫無

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

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