Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot应用程序通过WebSocket在网页上显示JMS消息_Websocket_Jms_Spring Boot_Stomp_Sockjs - Fatal编程技术网

Spring boot应用程序通过WebSocket在网页上显示JMS消息

Spring boot应用程序通过WebSocket在网页上显示JMS消息,websocket,jms,spring-boot,stomp,sockjs,Websocket,Jms,Spring Boot,Stomp,Sockjs,我需要一个简单的spring boot web应用程序,它可以侦听JMS队列上的消息,到达时应该通过WebSocket显示在网页上 我搜索了一些例子,发现了几个单独的例子;WebSocket或JMS,我已经自己测试过了,但没有成功地将它们连接在一起 我已经搜索了一个示例,但没有找到任何示例。在我看来,这应该很容易,因为这是一个非常基本的要求 您知道通过WebSocket显示JMS和HTML的任何示例吗?您可以分享这些示例,或者为我提供一些提示或帮助来解决这些问题? 您可以编写从JMS队列读取消息

我需要一个简单的spring boot web应用程序,它可以侦听JMS队列上的消息,到达时应该通过WebSocket显示在网页上

我搜索了一些例子,发现了几个单独的例子;WebSocket或JMS,我已经自己测试过了,但没有成功地将它们连接在一起

我已经搜索了一个示例,但没有找到任何示例。在我看来,这应该很容易,因为这是一个非常基本的要求

您知道通过WebSocket显示JMS和HTML的任何示例吗?您可以分享这些示例,或者为我提供一些提示或帮助来解决这些问题?

您可以编写
从JMS队列读取消息并将它们转发到
。其中最后一个只向连接的WebSocket会话发送消息

有关此问题,请参见以下Spring集成示例:

更新

要将消息发送到所有订阅的WebSocket会话,您应该执行以下操作:

<int:splitter input-channel="enricheMessage" output-channel="sendMessage" apply-sequence="false">
    <int-groovy:script>
        @serverWebSocketContainer.sessions.keySet().collect {
            org.springframework.integration.support.MessageBuilder.withPayload(payload)
                    .copyHeaders(headers)
                    .setHeader('simpSessionId', it)
                    .build()
        }
    </int-groovy:script>
</int:splitter>

@serverWebSocketContainer.sessions.keySet().collect{
org.springframework.integration.support.MessageBuilder.withPayload(有效载荷)
.CopyHeader(标题)
.setHeader('simpSessionId',it)
.build()
}

使用这个Groovy脚本,我从
serverWebSocketContainer
(所有连接的客户端)检索
会话ID
,对它们进行迭代以构建消息,通过它们的websocket发送它们。最后,一个接一个地发送到

谢谢,这似乎是一种方式,但不幸的是,我无法让它工作。我已经将这两个示例合并在一起,它可以工作,而且我还能够将JMS消息负载路由到WebSocket bean(例如headerEnricherChannel),但它抱怨会话id错误,并且似乎将负载用作会话id。我想向所有客户机广播相同的消息。有什么想法吗?