- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们计划使用 Solace 队列管理。其中一个用例是,在消费者收到消息后,如果在处理消息时出现任何异常,消息应该自动重新传递。
截至目前,我没有向队列发送确认消息,因此消息不会从队列中删除,但不幸的是它无法自动重新传送。如果我重新启动 session ,那么只有我能够收到相同的消息。
我探索了几个选项,例如。 session.rollback 或 session.revoke 异常但它会增加队列中所有消息的传递计数。也没有任何延迟时间的配置来重新传递相同的消息。
预期是,相同的消息应在 30 分钟(配置的延迟)后自动重新传送。
下面是我用于消费者的示例代码:
@Override
public void onMessage(Message message) {
try {
if (message instanceof TextMessage) {
System.out.printf("TextMessage received: '%s'%n", ((TextMessage) message).getText());
} else {
System.out.println("Message received.");
}
System.out.printf("Message Content:%n%s%n", SolJmsUtility.dumpMessage(message));
// ACK the received message manually because of the set SupportedProperty.SOL_CLIENT_ACKNOWLEDGE above
message.acknowledge();
latch.countDown(); // unblock the main thread
} catch (JMSException ex) {
System.out.println("Error processing incoming message.");
ex.printStackTrace();
}
}
感谢您的支持。谢谢
最佳答案
Solace 目前不支持此类功能。消息不会在应用层重新传递。只有在重新建立连接(准确地说是流程)时,它们才会被重新传送。
Solace 确实在传输级别重新传递消息。这样做的目的是确保将消息传递到应用程序缓冲区。从那时起,它的应用程序有责任处理它们并确认。超过该点重新传递将导致在消费者端重复消息 - 这将违反包括 JMS 在内的多个协议(protocol)。
当应用程序流重新建立时,任何未确认的消息都可以安全地重新传递,因为我们知道它被传递到的原始流不能再确认消息(并导致潜在的重复消息传递)。
关于spring-boot - Solace Queue - 消息应在异常时自动重新传递而无需重新连接 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68869577/
Solace 是否有一些 API 调用(可能是管理性的),通过它可以确定一个主题或队列至少有一个“事件”订阅者?例如,调用返回主题的事件订阅数? 用例是在请求/回复场景中确定是否有服务器“监听”相关端
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 7 年前。 Improve
我编写了以下实用程序代码来检查 Solace MQ 目标是否已启动,而不向目标发送任何消息。 ... try { env = new Hashtable(); env.put(InitialConte
我们有一个在 Docker 容器中运行的安慰代理。当我们创建 JNDI 连接工厂时,有一些默认属性,例如 重新连接重试 连接重试 每个主机的连接重试次数 等等 当我们使用 JMS 建立生产者时,我们会
我正在尝试使用 solace 作为代理,使用 jms 设置主题端点的最大消费者数量,因此为了增加负载,可以在 cloudfoundry 中启动应用程序的多个实例,并且多个订阅者可以使用同一主题的消息.
我试图在尝试发送 Solace 消息时处理某些 SessionEventArgs 中的 QueueNotFound 错误。 这是调试时 SessionEventArgs 的样子: SessionEve
我想在 Solace 中使用 sdkperf 发送特定消息。但我找不到为此的 cli 命令。有人可以帮助我吗? sdkperf_java.bat -cip= -cu=@ -cp= -pql= -mt=
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
我在我的项目中使用 solace 作为 JMS 提供程序。我使用 spring CachingConnectionFactory 来检索连接。在该连接上我创建新 session 。我与在该 sessi
我需要将消息推送到 Solace JMS 队列 Websphere,但在发送消息期间遇到以下错误。我还增加了消息监听器的大小,但没有解决问题。 Error: 503: Spool Over Quota
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
刚刚开始使用 C APISolac。但我发现如果我使用 solac,应用程序将是多线程的。我有一个 C 应用程序,它是单线程并且有多个连接(例如 TCP、UDP、FILE、timerfd),我正在使用
JMS 1.1 规范第 4.4.11 节说:“承认消费消息自动确认收到所有消息 session 已交付这些内容。” 但是,这不是我在 Solace 中观察到的行为。我编写了以下 100 行程序,该程序
其中只有 1 个消费者是活跃消费者,其他消费者是非活跃消费者。如果 1 个消费者宕机如何确保其他消费者消费?代码帮助在 C++ 中受到赞赏。 最佳答案 当多个消费者连接到 Solace 中的排他队列时
我在使用 Solace 客户端证书身份验证方案时收到不受信任的证书错误(响应代码:401)。 以下是配置的详细信息: - 创建了 pem 格式的自签名服务器和客户端证书(带私钥) - 将两者都上传到
我们计划使用 Solace 队列管理。其中一个用例是,在消费者收到消息后,如果在处理消息时出现任何异常,消息应该自动重新传递。 截至目前,我没有向队列发送确认消息,因此消息不会从队列中删除,但不幸的是
我可以知道在哪里可以找到 Solace PubSub+ Software Message Broker 连接尝试失败的日志吗? 我已将代理部署到 AWS。 谢谢。 最佳答案 请注意,只有在某些连接失败
这个想法是将消息发送到主题并仅通过发布/订阅(没有队列)并使用持久传递模式以 strip 方式使用它们。为了简单起见,假设生产者将消息发布到具有以下层次结构的特定主题:bus/ . 消费者希望接收主题
所以我有一个可执行的 jar 文件。我需要弄清楚它在构建时使用的是哪个 Solace 版本。 我可以反编译并获取类文件,但这并不能帮助我找出该 jar 中的 Solace 版本。 我还从 JAR 中提
为什么 Solace .Net API 不针对 AnyCPU?我比较了 Reflector 中的 SolaceSystems.Solclient.Messaging.dll 和 SolaceSyste
我是一名优秀的程序员,十分优秀!