gpt4 book ai didi

c# - ActiveMQ 访问订阅之前发布的数据

转载 作者:太空宇宙 更新时间:2023-11-03 15:05:16 27 4
gpt4 key购买 nike

我们在本地使用 ActiveMQ 在 5 个同时运行的进程之间传输数据。

我有一些数据需要发送到进程,既要在运行时(运行时非常好),也要在启动时发送默认值。事情是它在进程启动时发布,只是没有被读取,因为它在发送数据时没有订阅主题。

我有多种解决方案:我可以将第一次发布延迟一段时间,以便流程有时间启动(这似乎不太吸引人);或者有没有办法将所有存储的以前未处理的消息发送到刚刚订阅的某个进程?

我正在用 C# 编写代码。

最佳答案

我没有任何使用 ActiveMQ 的经验,但其他消息系统通常有一个选项将订阅标记为持久,这意味着;第一次订阅后;消息队列本身会检查某个消息是否已传送到该系统并在超时后重试。在这种情况下,您至少需要启动接收器 1 次。

如果这不是一个选项并且你想在之后插入接收器,你可能需要考虑设置你的消息以允许你检索完整状态,即如果你发送 total-messages 而不是 differential- messages

经过一点 google,我想到了这个定义持久订阅者,希望这对您有所帮助:

参见:

http://activemq.apache.org/how-do-durable-queues-and-topics-work.html

http://activemq.apache.org/manage-durable-subscribers.html

关于c# - ActiveMQ 访问订阅之前发布的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43867358/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com