gpt4 book ai didi

java - 创建可靠的 JMS 客户端?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:49:08 24 4
gpt4 key购买 nike

考虑一个独立的 Java main()使用 JMS 将消息发送到远程 JMS 队列的程序(无 Java EE 容器)。

据我了解,如果远程队列由于某种原因(网络问题、服务器故障、队列已满...)不可用,messageProducer.send(msg)抛出异常。

我必须自己实现重试逻辑还是 JMS-api 会以某种方式为我解决这个问题?

  TextMessage message = session.createTextMessage();
message.setJMSDeliveryMode(DeliveryMode.PERSISTENT);
MessageProducer mp = session.createProducer(topic);
mp.send(message); // Throws JMSException. How to retry, local storage etc?

最佳答案

在出现网络故障等连接问题的情况下,WebSphere MQ 等 JMS 提供程序具有自动重新连接功能,如果在执行 API 期间出现连接问题,JMS 客户端会尝试重新连接。例如,如果在执行发送 API 期间与 JMS 提供者的连接中断,则 JMS 客户端会尝试重新连接到 JMS 提供者,如果建立了连接,则会将消息发送到提供者。重新连接尝试对 JMS 应用程序是透明的,这意味着应用程序不知道重新连接。

在队列已满的情况下,应用程序必须处理异常并采取适当的措施。

关于java - 创建可靠的 JMS 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21966241/

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