gpt4 book ai didi

java - jms 队列 vs 内存中 java 队列

转载 作者:行者123 更新时间:2023-11-30 07:36:04 28 4
gpt4 key购买 nike

我遇到一种情况,我需要从某个主题读取(正在进行的)消息并将它们放入另一个 Queue 中。我怀疑我是否需要 jms Queue 或者我可以对内存中的 java Queue 感到满意。我将通过同一 jvm 中的其他线程从队列中读取消息,并在从(内存中)队列读取消息后对主题消息进行客户端确认,并根据需要进行处理(将其发送到远程 IBM)因此,如果我的客户端崩溃,内存队列中存在的消息将丢失,但仍存在于主题中,并将重新发送给我。我说得对吗?

最佳答案

其中一些取决于您如何设置队列/主题以及用于从 IBM MQ 读取的连接字符串,但如果您使用默认值,则如果您将其读取到 in- 中,您将丢失消息内存队列。

我会使用 ActiveMQ,或者在与库相同的 JVM 中,这样你就可以让它负责接收、传递和持久化。

此外,如果您正在收听某个主题,即使您之后重新连接,也不会在崩溃后向您发送错过的消息,除非您已经

  1. 将您的客户端配置为持久订阅者
  2. 及时重新连接(在达到 expireMessagesPeriod 之前)

如果确保每条消息的传递很重要,特别是在异步环境中,ActiveMQ 库并不大,但值得使用。

关于java - jms 队列 vs 内存中 java 队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35371641/

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