我有一个正在运行的 JAX-RS Web 应用程序,它实现了一些 RESTfull 服务。我在WSO2 Studio下开发它并使用WSO2 AS Web界面部署它,一切都非常简单。
现在我想在我的 WebApp 上添加打开 WebSocket 的可能性。我没有在 WSO2 AS 文档中找到标准过程或示例。我的问题是:
- 可以这样做吗?
- 我可以在同一个 war 包中拥有 RESTfull 实现和 WebSocket 吗?有一个这样做的例子吗?最好在 WSO2 AS 上使用。
- 如何设置 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/