178.3.2. 事务和缓存级别

如果您使用消息并使用事务(transacted=true),缓存级别的默认设置可能会影响性能。

如果您使用 XA 事务,则无法缓存,因为它可能会导致 XA 事务无法正常工作。

如果您不使用 XA,您应该考虑缓存,因为它会提高性能,如设置 cacheLevelName=CACHE_CONSUMER

通过 Camel 2.7.x,cacheLevelName 的默认设置是 CACHE_CONSUMER。您需要明确设置 cacheLevelName=CACHE_NONE

在 Camel 2.8 上,cacheLevelName 的默认设置是 CACHE_AUTO。这个默认自动检测模式,并相应地设置缓存级别:

  • CACHE_CONSUMER if transacted=false
  • CACHE_NONE if transacted=true

因此,您可以说默认设置是保守。如果您正在使用非XA 事务,请考虑使用 cacheLevelName=CACHE_CONSUMER