Interface TransactionManagerBuildTimeConfig


@ConfigRoot(phase=BUILD_TIME) @ConfigMapping(prefix="quarkus.transaction-manager") public interface TransactionManagerBuildTimeConfig
  • Method Details

    • unsafeMultipleLastResources

      Deprecated, for removal: This API element is subject to removal in a future version.
      This property is planned for removal in a future version.
      Define the behavior when using multiple XA unaware resources in the same transactional demarcation.

      Defaults to fail. warn-each, warn-first, and allow are UNSAFE and should only be used for compatibility. Either use XA for all resources if you want consistency, or split the code into separate methods with separate transactions.

      Note that using a single XA unaware resource together with XA aware resources, known as the Last Resource Commit Optimization (LRCO), is different from using multiple XA unaware resources. Although LRCO allows most transactions to complete normally, some errors can cause an inconsistent transaction outcome. Using multiple XA unaware resources is not recommended since the probability of inconsistent outcomes is significantly higher and much harder to recover from than LRCO. For this reason, use LRCO as a last resort.

      We do not recommend using this configuration property, and we plan to remove it in the future, so you should plan fixing your application accordingly. If you think your use case of this feature is valid and this option should be kept around, open an issue in our tracker explaining why.