25.2. 配置重复数据删除 ID 缓存
服务器维护发送到每个地址的 _AMQ_DUPL_ID
属性的接收值缓存。每个地址维护自己的地址缓存。
缓存的大小是固定的。缓存的最大大小使用 id-cache-size
属性来配置。此参数的默认值为 20000
元素。如果缓存的最大值为 n
个元素,则存储的(n + 1)th
ID 将覆盖缓存中的元素 0
。该值使用以下管理 CLI 命令设置:
/subsystem=messaging-activemq/server=default:write-attribute(name=id-cache-size,value=SIZE)
/subsystem=messaging-activemq/server=default:write-attribute(name=id-cache-size,value=SIZE)
缓存也可以配置为永久保留到磁盘。这可以通过使用以下命令设置 persist-id-cache
属性来配置:
/subsystem=messaging-activemq/server=default:write-attribute(name=persist-id-cache,value=true)
/subsystem=messaging-activemq/server=default:write-attribute(name=persist-id-cache,value=true)
如果此值设为 true
,则每个 ID 在收到时都会保留为永久存储。此参数的默认值为 true
。
注意
将重复 ID 缓存的大小设置为较大的大小,以确保消息重新发送不会覆盖之前存储在缓存中的消息。