Configuring conflation
Use the CONFLATION topic property to select a conflation policy for a topic.
Conflation settings
Conflation is configured through several settings.
Conflation can be enabled or disabled on a per-session basis using the setConflated API call. You can enable or disable conflation for multiple sessions using setConflated with a session filter.
setConflated is cluster-aware: it can route requests for a particular session ID to the correct server in a cluster. If you use a session filter, configuration changes will be applied to matching sessions on all servers within a cluster.
The default state for whether conflation is enabled is set using the conflates value in the queue-definition section of Server.xml. This is set to true for a fresh installation.
You can specify the conflation policy for each topic when it is created, using the CONFLATION topic property. The default policy is "conflate" (see below).
Conflation policies
Use the CONFLATION topic property to set a topic's conflation policy using one of the following values.
Property | Description |
---|---|
conflate (default) | Only conflate topics when a session with a full queue receives a new message. |
always | An 'eager' policy that conflates updates as they arrive. If enabled, the queue will only ever contain one update. |
off | Disable conflation for this topic. Sessions receive every update. |
unsubscribe | When a session with a full queue receives a new message, unsubscribe the session with unsubscribe reason BACK_PRESSURE. |