问题标签 [message-channel]

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 投票
1 回答
96 浏览

spring-integration - Spring集成路由无法发送消息

所以,问题出在路由器上。当路由器尝试向频道发送消息时,我收到错误消息:Dispatcher 没有频道“newTypingNotificationHandler.input”的订阅者。但是我有这个频道名称的集成流定义。

堆栈跟踪原因:

org.springframework.integration.MessageDispatchingException: Dispatcher 在 org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:139) 没有订阅者~[spring-integration-core-5.2.6.RELEASE.jar:5.2.6 .RELEASE] at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:106) ~[spring-integration-core-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.integration .channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:73) ~[spring-integration-core-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel. java:461) ~[spring-integration-core-5.2.6.RELEASE.jar:5.2.6.RELEASE] 在 org.springframework.integration.channel.AbstractMessageChannel。发送(AbstractMessageChannel.java:403)~[spring-integration-core-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:187)~ [spring-messaging-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:166) ~[spring-messaging-5.2.6.RELEASE. jar:5.2.6.RELEASE] 在 org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:47) ~[spring-messaging-5.2.6.RELEASE.jar:5.2.6.RELEASE] 在 org. springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:109) ~[spring-messaging-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.integration.router.AbstractMessageRouter.doSend(AbstractMessageRouter .java:206)〜[弹簧集成核心5.2.6.RELEASE.jar:5.2.6.RELEASE]

0 投票
1 回答
935 浏览

java - JDA Discord bot,阅读 textchannel 的最后一条消息

我希望我的 Discord jda 机器人在启动后读取文本通道的最后一条消息。

所以我打电话:

MessageHistory 类没有 getLatestMessage 方法。并且由于某种原因 textChannel.getHistory() 始终为空,因此始终返回 null。

是否有其他方式来阅读消息(在机器人启动之前编写)。

一些附加信息:文本通道是正确的文本通道。它不是空的,我还尝试在机器人处于活动状态时编写新消息。但是消息历史总是空的。

还有一些我觉得很奇怪的东西: textchannel.gethistory().isempty()是真实的,textchannel.hasLastMessage也是真实的。

0 投票
1 回答
50 浏览

javascript - 服务工作者在重新激活后丢失与浏览器通信的端口

我的前端代码中有以下代码:

这在我的服务人员内部:

首先,它创建了我的 messageChannel,然后用这个频道向我的 serviceWorker 发布一条消息。此代码在我的应用程序启动时运行。

接下来,我的服务工作者注册消息侦听器,一旦发送了来自客户端的消息,它会检查它并且它是一个端口,因此它将它分配给getVersionPort。我可以使用getVersionPort与浏览器进行通信,并且它可以完美运行,直到我的 serviceWorker 被浏览器停止。在它停止然后重新激活之后,我们无法控制它,它的代码从上到下运行并且getVersionPort变得未定义。

如何解决这个问题?即使浏览器挂起并重新激活它,如何强制 serviceWorker 保持getVersionPort的值?

0 投票
0 回答
22 浏览

spring-webflux - 春季迭代。发送 Slack 通知 WebFlux

我需要在流程的许多部分发送一条松弛消息,指示文件处理信息并继续主流程。

我没有找到一种完全直接的方法

到目前为止,我的解决方案是:

声明一个队列通道来接收需要发送的消息

该通道中的每条消息都将发送到 Slack(在发送之前应用一些转换)

这里是松弛流

问题之一是在将消息发送到主流程中间的 SLACK_CHANNEL 后流程不会继续。

另一个问题是 sendFileProcessingInfo 显然从未激活

另外,我怀疑expectedResponseType 必须是String。

那么,在流程中间发送 HTTP 消息的最合适的解决方案应该是什么?问题的原因可能是什么?

另外,为准备松弛消息进行转换会改变主要流程的对象吗?

我会很感激这方面的任何帮助。

谢谢!