31.4.3. ONCE_AND_ONLY_ONCE

Messages reach the destination exactly once. If both source and destination are on the same HornetQ server instance, this mode sends and acknowledges messages as part of the same local transaction. If the source and destination are on different servers, this mode enlists the sending and consumption sessions in a JTA transaction.
This JTA transaction is controlled by JBoss Transactions JTA, a full-recovery transaction manager which provides a very high degree of durability. If JTA is required, both supplied connection factories must be XAConnectionFactory implementations.
This is likely to be the slowest mode, since it requires extra persistence. This mode is only available for durable messages.

Note

For some applications, once and only once semantics could be provided by setting the DUPLICATES_OK mode and then checking for and discarding duplicate messages on the destination. This approach is not as reliable as using ONCE_AND_ONLY_ONCE mode, but may be a useful alternative.