使用Websockets在两个JAVA Web应用程序之间进行通信

时间:2014-10-03 15:36:40

标签: java javascript jsp servlets websocket

我有一个java web应用程序(基于Servlet和JSP),在本地机器上运行,使用HTML5和Java WebSocket api进行聊天。可以与在同一应用程序上登录的其他用户聊天(使用两种不同的浏览器)。

我创建了相同项目(Web应用程序)的副本,并更改​​了所需的配置以将其作为不同的Web应用程序运行。我想要的是登录的用户,例如web-app1,可以与登录web-app2的用户聊天。

以下是ServerEndpoint注释的代码片段和连接websocket端点的JavaScript代码

@ServerEndpoint(value = "/chat/{sessionId}",
    encoders = ChatMessageCodec.class,
    decoders = ChatMessageCodec.class,
    configurator = ChatEndpoint.EndpointConfigurator.class)

@WebListener
public class ChatEndpoint implements HttpSessionListener
{
 .....

.......................

var server;
try {
      server = new WebSocket('ws://' + window.location.host +'<c:url 
                              value="/chat/${chatSessionId}" />');
      server.binaryType = 'arraybuffer';

     } 
catch(error) {
               modalErrorBody.text(error);
               modalError.modal('show');
               return;
             }

我是java web开发的新手,这个Web应用程序是我正在遵循的书中项目的一部分:|

1 个答案:

答案 0 :(得分:0)

我认为您最好使用消息队列进行两个或更多JVM之间的通信。 WebSocket不是这类任务的理想解决方案