JMS消息使用RDD来确保仅用于确认目的的安全性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMS消息使用RDD来确保仅用于确认目的的安全性相关的知识,希望对你有一定的参考价值。

我理解JMS会话不是线程安全的。但是,如果我尝试确认在Spark RDD上“存储”的Message对象,会话是否实际同时被访问?路由如何确认每个消息(或一批)会话?如果这确实很危险,那么我怎样才能安全地从Spark中消费JMS消息并在经过一些验证后确认它们?

提前致谢。

答案

JMS只是一个API,所以它实际上取决于您使用的客户端实现。但是,我会说大多数实现都会在内部使用最初用于消息消息的会话来确认消息,因为会话是将确认发送回消息来源的JMS服务器的最简单方法。因此,同时确认来自同一会话的消息将是危险的。

我不熟悉Spark所以我无法解决你问题的这一部分。

以上是关于JMS消息使用RDD来确保仅用于确认目的的安全性的主要内容,如果未能解决你的问题,请参考以下文章

AWS SQS JMS确认

JMS 之 Active MQ 消息存储

JMS 之 Active MQ 消息存储

JMS 主题与队列 - 意图

具有 CLIENT_ACKNOWLEDGE 模式的骡子 jms?即使我没有确认消息也会自动使用

学习ActiveMQ:JMS消息的确认与重发机制