java - 是否可以在 Artemis JMS 中插入一批消息
问题描述
我正在开发一个 Java 应用程序,它接收消息列表,然后将它们插入队列中。是否可以在我的 Artemis JMS 服务器中直接插入消息列表(一种批量插入)?还是必须一一插入?
解决方案
使用 JMS API,您可以创建一个“事务处理”会话,发送一批消息,然后调用commit()
该会话。从应用程序的角度来看,似乎消息是一个接一个地发送的,因为send()
每条消息都被调用。然而,最耗时的工作只发生在commit()
被调用时,每批只发生一次。这通常是作为一种性能优化来完成的,特别是对于持久消息,以避免在单个非事务性发送上发生的重复阻塞。ActiveMQ Artemis 性能调整文档的“调整 JMS”部分讨论了将事务用于批处理目的。
推荐阅读
- xml - XML XPath:有条件地选择表格单元格
- c - -fno-stack-protector 不工作
- r - 如何在 R 中使用 glmnet 计算 Lasso 回归的 R 平方值
- css - 在 Mozilla 中使用抗锯齿和灰度时属性值无效
- node.js - 在 Express 中将 ReactJS 生产构建部署为 HTTPS
- android - MediaPlayer setDataSource 失败,defaultUri 的 status=0x80000000
- azure - 从机器人框架中的状态数据中恢复对话数据
- nginx - 如何使用 nginx 在 https 模式下运行 odoo?
- java - Android java.lang.ClassCastException: android.view.AbsSavedState$1 无法转换为 android.widget.CompoundButton$SavedState
- android - 如何将 OpenSL ES 库作为依赖项添加到项目中?