首页 > 解决方案 > 是否可以在 Artemis JMS 中插入一批消息

问题描述

我正在开发一个 Java 应用程序,它接收消息列表,然后将它们插入队列中。是否可以在我的 Artemis JMS 服务器中直接插入消息列表(一种批量插入)?还是必须一一插入?

标签: javajmsactivemq-artemis

解决方案


使用 JMS API,您可以创建一个“事务处理”会话,发送一批消息,然后调用commit()该会话。从应用程序的角度来看,似乎消息是一个接一个地发送的,因为send()每条消息都被调用。然而,最耗时的工作只发生在commit()被调用时,每批只发生一次。这通常是作为一种性能优化来完成的,特别是对于持久消息,以避免在单个非事务性发送上发生的重复阻塞。ActiveMQ Artemis 性能调整文档的“调整 JMS”部分讨论了将事务用于批处理目的。


推荐阅读