繁体   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