问题标签 [spring-messaging]

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 回答
308 浏览

spring - Spring Stomp 消息发送和receiptId

配置 Spring StompBrokerRelay 的正确方法是什么,以便能够创建一个简单的 java 客户端,它只发布一条消息,这些消息由服务器确认。
Spring客户端StompSession在从客户端发送消息时返回Receiptable,并且可以配置ReceiptTasks,但从不从服务器接收到收据。

0 投票
1 回答
362 浏览

spring-integration - 在事务中创建重试延迟以清理 sftp 入站通道文件

我有一个sftp:inbound-channel-adapter将文件从远程文件夹同步到本地文件夹。当它发现一个扩展名为 .xml 的文件时,它会创建Message<File>一个新事务并将其发送到routerChannel通道。

查看approverRouterxml 内部并确定该过程是否可以继续。如果一切正常,则将消息发送到“okChannel”并关闭到数据库进行保存。但是,如果事情不正常,则将消息发送到int:delayer10 秒,然后重新提交到approverRouter.

如果交易成功或失败sftpCommittedChannel,只需将下载的文件移动到已完成/失败的文件夹中。sftpRolledBackChannel

这是一些描述这一点的xml:

我的问题是,当消息发送到延迟器时,轮询器中创建的事务成功完成。我认为这是因为当消息到达int:delayer(通过 retryChannel)时,它不再在同一个原始线程中。

我想我需要的是一个同步延迟器,它增加了延迟,但将消息保留在其原始事务中。这感觉就像我的设计不正确。

普通人会做什么来创建重试延迟并在成功或失败时仍整理 sftp 文件夹。

0 投票
0 回答
287 浏览

java - @SubscriptionMapping 用于 Spring STOMP 中的代理通道

下面Spring的web socket配置合法吗?

我想要实现的是能够在我的@Controllervia 中拦截主题订阅@SubscribeMapping。但是,为此,我需要将/topic前缀定义为应用程序目标前缀。阅读文档和 JavaDoc 给我的印象是这是不正确的(消息应该由代理或应用程序处理程序处理)。尽管如此,它仍然有效......因此它是否是合法配置的问题。

0 投票
1 回答
948 浏览

rabbitmq - Spring+RabbitMQ 使队列不持久

我使用 RabbitMQ 作为 Spring Websocket 应用程序的 Stomp 代理。客户端使用 SockJS 库连接到 websocket 接口。Spring 在 RabbitMQ 上创建的每个队列都是持久的,而主题是非持久的。有没有办法让队列也变得不持久?我不认为我可以在应用程序端进行配置。我玩了一下 RabbitMQ 配置,但也无法设置。

RabbitMQ 上用于 SUBSCRIBE 和 SEND 的示例目标:

服务用户-_385b304f-7a8f-4cf4-a0f1-d6ceed6b8c92

0 投票
1 回答
885 浏览

spring - Spring MessageBuilder 与 Spring 集成 MessageBuilder

Spring 4 推出org.springframework.messaging.support.MessageBuilder<T>org.springframework.integration.support.MessageBuilder<T>Spring Integration 框架中存在一个。

因此,当我将 Spring Integration 与 Spring 4 一起使用时,我应该使用哪个消息生成器,为什么?

0 投票
1 回答
2166 浏览

java - Spring 中 SimpMessagingTemplate 上的 NullPointerException

我正在构建一个应用程序,它将使用 STOMP over websockets 发送消息。我想在没有客户端发出请求的情况下发送消息。根据文档,我可以通过使用 convertAndSend 来做到这一点。

但是,当我尝试这样做时,我得到一个空指针异常。请看下面的代码:

堆栈跟踪:

任何人都可以对我的情况进行任何说明,这样我就可以通过 websocket 发送消息而不会遇到异常。

提前致谢。

0 投票
2 回答
8054 浏览

java - 如何在 JmsMessagingTemplate.sendAndReceive 上设置等待超时

我在 MVC 控制器中使用来自 JmsMessagingTemplate 的 sendAndReceive 但如果没有发送回复消息,它似乎会一直等待回复。该文件指出:

返回:回复,如果无法接收到消息,则可能为 null,例如由于超时

但是,我只是不知道在给出了多长时间后超时或在哪里配置它。谁可以给我解释一下这个?

仅供参考:我没有使用 spring-integration 而是 spring-messaging。

0 投票
0 回答
72 浏览

jpa - 使用 STOMP Spring Messaging 的 JPA 延迟加载

Spring 提供了 OpenEntityManagerInViewFilter 以在视图阶段启用对象的延迟加载,但如果我想在消息传递架构(如 STOMP over websockets)中使用它怎么办?

如果我需要在 @MessageMapping 方法中返回具有惰性属性的实体,我知道的唯一方法是在返回之前手动调用实体上的属性获取器,否则 Jackson 将在将其序列化为 JSON 时引发异常。

对于这个通用问题,还有更优雅的解决方案吗?

0 投票
1 回答
1722 浏览

java - 如何让 TimeToLive 在 JmsTemplate 上工作?

我正在尝试在 JmsTemplate 上设置 TTL,但消息永不过期。当我使用 ActiveMQ Web 控制台在消息上设置 TTL 时,它确实会在设置的时间段后过期。

这就是我现在所拥有的:

文档只说我必须将explicitQosEnabled设置为true,但显然这还不够。有谁知道我做错了什么?

0 投票
1 回答
1480 浏览

eclipse - spring:message (I18n) 给出错误:在语言环境“en”的代码“property.name”下找不到消息

我正在实施春季国际化(i18n)。它在我的本地环境中运行良好。但是当我将它部署在开发服务器上时,它会出现此错误。

我的 spring-mvc-config.xml 有这些设置:

我认为由于某种路径问题,它无法检测到开发服务器上的属性文件。尽管此处定义的路径“配置/语言”在我的本地运行良好。