java - 如何在 WSO2 AS 5.2.1 上设置和部署 WebSocket?

标签 java web-applications wso2 java-websocket wso2-as

我有一个正在运行的 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 文件夹中找到“示例”Web 应用程序。

但标准 (JSR356) Websocket 支持在 WSO2 AS 5.2.1 中不可用。它将在即将发布的 WSO2 AS 5.3.0 中提供。 WSO2 AS 5.3.0 Alpha 已经发布,您可以使用 alpha pack 尝试 Web 套接字支持。 。启动服务器,将浏览器指向 http://localhost:9763/example/websocket/index.xhtml您会在那里找到四个网络套接字示例。您可以看看release mail了解 WSO2 AS 5.3.0 中的新功能。

关于java - 如何在 WSO2 AS 5.2.1 上设置和部署 WebSocket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31851193/

相关文章:

java - 在网页中搜索..Android

wso2 - API 管理器插件 - 使用带有 @ 的用户名登录(例如 username@somewhere.com)

java - 正则表达式 : Specific characters in the text

java - 如何提取基本 URI?

java.io.FileInputStream.getChannel()方法实例

xpath - wso2 esb xpath substring-before特殊字符回车

java - Spring Cloud 与 WSO2 API 管理器

java JFrame更新修改了另一个JFrame

tomcat - 无法在 tomcat webapps 文件夹中找到 .war 文件

php - 良好的 Php 框架,具有强大的安全性