问题标签 [stompjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
82 浏览

javascript - 将 Stomp 服务注入 JavaScript 类

我正在使用 Stomp.js 框架从 Websocket 发送和接收数据。所以我必须做一个类来帮助Stomp消息发送者的实现。

然后我做了一个类如下:

WebSocket.js

在课堂内,我尝试使用以下方法与 ActiveMQ 建立连接:

Stomp 对象存在于类中,但连接不起作用。

在 HTML 中,我以这种方式实现:

有人知道我做错了什么吗?

附言。我导入了两个 JavaScript 文件。

谢谢!

0 投票
0 回答
1329 浏览

spring-websocket - Spring Websocket 断开连接。例外

我使用 Spring Websocket (正是我的应用程序的这个示例模板),如果我在客户端调用断开连接,有时我会在底部得到这个异常:

有谁知道我可以做些什么来防止这种异常。它对功能没有任何影响 - 一切仍在工作,但它不是干净的代码,因此我会解决这个问题 - 感谢您的帮助!

java.lang.IllegalStateException:在org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.sendMessage( AbstractSockJsSession.java:159) at org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.tryFlushMessageBuffer(ConcurrentWebSocketSessionDecorator.java:126) at org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.sendMessage(ConcurrentWebSocketSessionDecorator.java:99) at org .springframework.web.socket.messaging.StompSubProtocolHandler.handleMessageToClient(StompSubProtocolHandler.java:368) 在 org.springframework.web.socket.messaging.SubProtocolWebSocketHandler.handleMessage(SubProtocolWebSocketHandler.java:337) 在 org.springframework。messing.support.ExecutorSubscribableChannel$SendTask.run(ExecutorSubscribableChannel.java:135) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang .Thread.run(未知来源)

[编辑]

我还发现了这两个日志条目:

2015-11-08 07:47:53.642 调试 13452 --- [io-8080-exec-10] swshLoggingWebSocketHandlerDecorator:WebSocketServerSockJsSession[id=kludit93]以 CloseStatus[code=1000,reason=null] 2015-11-08 07关闭:47:53.643 调试 13452 --- [io-8080-exec-10] oswsmSubProtocolWebSocketHandler : 清除会话 kludit93 2015-11-08 07:47:53.646 调试 13452 --- [tboundChannel-4] oswsmSubProtocolWebSocketHandler : 没有会话 GenericMessage [有效负载 = 字节 [0],标头 = {simpMessageType = DISCONNECT_ACK,simpSessionId = kludit93}] 2015-11-08 07:47:53.659 调试 13452 --- [tboundChannel-3] oswsmStompSubProtocolHandler:无法在会话中向客户端发送 WebSocket 消息克鲁迪特93

所以这对我来说意味着首先关闭会话,然后尝试通过这个关闭的会话向客户端发送一些东西。有没有可能阻止这种行为?谢谢!

0 投票
2 回答
1534 浏览

java - Spring websocket @messagemapping 反序列化问题 java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast

我正在客户端用 StompJS 编写一个 spring websocket 应用程序。

在客户端,我打算发送一个对象列表,而在服务器端,当它映射到 java 对象时,它会将自身转换为 LinkedHashMap

我的客户端代码是

Listids 看起来像

列表 ID 对象看起来像

控制器看起来像这样

所以我得到一个 java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.blah.ListId

但是,当我使用带有 RestMapping 的普通 Spring Controller 执行相同操作时,它工作正常,Spring MessageMapping 注释是否有任何东西可以将对象映射到 java 与传统方式不同我不确定为什么不强制转换为 ListID

0 投票
1 回答
2144 浏览

node.js - Spring websocket over stomp

我是 websocket 的新手,一直在探索 spring websocket 解决方案,我已经从以下 url 实现了 hello world 应用程序:Spring websocket

我想从 nodejs 调用服务器,而不是使用 index.html 页面。这是我使用 SockJS 和 Stompjs 的实现。

我运行脚本node --harmony index.js

这是我在尝试不同的 url 时遇到的错误:

我的依赖

项目可以在这里找到:https ://bitbucket.org/gideon_o/spring-websocket-test

0 投票
5 回答
15352 浏览

stompjs - 我们如何在浏览器中导入 stompjs?或者类似 stompjs 的东西?

我正在尝试按照 Spring教程了解如何使用websockets. 我webpack用来捆绑我的代码babel并将其从ES6. 我试图sockjs用一个正常的import陈述来加入。

但是在webpack运行时,我得到了缺少模块错误,

主要是因为它期望在Node.

我有 2 个问题。

首先,如何stompjs使用import/require语句进入我的浏览器端代码?

其次,如何在教程中,他们可以stompjs放入HEAD并且它不会在浏览器中爆炸,但是当我运行“相同”代码时它会发生webpack

0 投票
0 回答
1339 浏览

spring - 未找到将有效负载类型 .. 转换为预期有效负载类型 [byte[]] 的转换器

我有一个使用 Stomp.js 将消息发送到队列的 Stomp Over WebSocket 客户端:

在服务器端我有

SimpleMessageConverter 是使用 Spring 的默认转换器。我的听众是下一个:

message.getPayload().getClass()指示有效负载类型是字节数组([B)

如果我发送文本,为什么我会收到二进制数组?

或者如何将此字节数组转换为 Java 对象。如果我将 JSON 和序列化 Java 对象发送到同一个队列会发生什么......如何在同一个队列中管理两种不同类型的消息?我想使用一些像:

其中产品是 POJO 类

0 投票
1 回答
696 浏览

angular - 如何在汇总中导入 stompjs

在带有 typescript 的 ng2 应用程序上,我使用的是 stompjs,它可以在没有汇总的情况下正常工作。

我正在导入它:

import {Stomp} from "stompjs"

运行汇总后,我得到“例外:未定义 Stomp”

我的汇总配置是:

stompjs 的 TypeScript 类型定义文件

0 投票
1 回答
2449 浏览

websocket - STOMPJS over 和 subscribe 方法不适用于 Spring、SockJs、npm、webpack

我想在 Spring-boot Web 应用程序中将 websocket 与 SockJs 和 Stomp 客户端以及 Java 服务器端一起使用。我已经安装了 npm sockjs-client 和 stompjs。我的客户端代码是:

over 和 subscribe 的方法不起作用,所以我要构建的 websocket 不起作用。IntelliJ 说我“未解决的函数或方法结束”和“未解决的函数或方法订阅”。我已经包含在我的 package.json stompjs 和 sockjs-client (正确版本)中。最初的要求不会给我带来问题,但我无法运行此脚本..有人可以帮助我吗?!非常感谢

0 投票
1 回答
3472 浏览

javascript - stompjs xhr_streaming 超时

我在 angular(1.5.x) 中使用 SockJS + stomp 客户端与 spring (mvc) 服务器建立 websocket。除此以外,一切正常:如果我终止服务器,stomp 客户端最多需要两分钟才能检测到浏览器上的连接错误。有没有办法在服务器死机或断开连接时管理更短(或立即)的超时或引发事件?

0 投票
1 回答
542 浏览

spring-mvc - Wildfly 8.2.1 + spring mvc + spring-websocket(简单代理)+ sockjs + stomp

我对 websocket 有问题,特别是 SimpMessagingTemplate 和提供 spring 的 simple-broker(版本 4.3.4.RELEASE)。我在课堂上向用户发送消息:

这是我的 websocket 配置:

这是我的 web.xml 内容:

我的控制器:

@Controller 公共类 UserController 扩展 TextWebSocketHandler {

}

还有我在客户端的 js 代码:

最后是我的问题 - 我在客户端上收到消息,但不是全部。某些消息未传递到客户端(防病毒卡巴斯基已关闭)。你有什么想法为什么?