spring-amqp - Spring AMQP 中的预取与批处理
问题描述
在低层次上,预取计数和批量大小(批处理)之间有什么区别,或者它们之间有什么关系?
以不同的方式构建它,一个值是否会对另一个值产生影响?
另外,除了批处理之外,有没有办法在侦听器中获取所有“预取”消息?
解决方案
预取只是代理允许消费者未确认的未确认消息的数量。
使用SimpleMessageListenerContainer
,预取的消息被保存在一个队列中,并一次一个地传递给侦听器(默认情况下)。
从 2.2 版开始,可以将容器配置为将“批次”消息传递给侦听器,它使用 batchSize 和 receiveTimeout 的组合来组装批次。
这与预取完全无关。
但是,batch-size 应该小于或等于预取,否则,batch 大小将永远无法达到,batch 总是很短,并由`receiveTimeout 触发。
推荐阅读
- ios - 从 UIAlertAction 处理程序更新 UILabel 在 Swift 4 中不起作用
- python - 为什么 ARIMA 不能处理我的时间序列数据?
- android - 错误:从 minSdkVersion 16 升级到 minSdkVersion 23 时,包 android.support.multidex 不存在
- python - 如何打开包含数千张人脸图像的 .raw 文件进行分类
- lua - 如何获取表中条目的列出次数
- python-3.x - 使用 list.append 时保持元素的顺序
- html - 显示表内的相对元素绝对值不显示元素完整
- python - 从另一个带有日期的列表生成列表
- javascript - 构建 REST 表单以发送模糊数据
- csv - 使用当前过滤器和排序实现 CSV 下载