Class DmxFunSpringAutoConfiguration

java.lang.Object
dmx.fun.spring.boot.DmxFunSpringAutoConfiguration

@AutoConfiguration(afterName={"org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration","org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration"}) @ConditionalOnClass(org.springframework.transaction.PlatformTransactionManager.class) @ConditionalOnSingleCandidate(org.springframework.transaction.PlatformTransactionManager.class) @NullMarked public class DmxFunSpringAutoConfiguration extends Object
Spring Boot auto-configuration for dmx-fun Spring integration.

Registers TxResult, TxTry, and TxValidated when spring-tx is on the classpath and exactly one PlatformTransactionManager bean is present (or multiple with one marked @Primary). Additionally enables AspectJ auto-proxying and registers DmxTransactionalAspect when aspectjweaver is also present.

All beans are guarded by ConditionalOnMissingBean so application code can override any of them with a custom @Bean declaration. Individual beans can also be disabled via application.properties (e.g. dmx.fun.tx-result.enabled=false).

This class uses Spring Boot-specific annotations (@AutoConfiguration, ConditionalOnMissingBean, ConditionalOnProperty, ConditionalOnSingleCandidate) provided by spring-boot-autoconfigure. It is registered in META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports and is picked up automatically by Spring Boot — no manual configuration is required.

See Also:
  • Constructor Details

    • DmxFunSpringAutoConfiguration

      public DmxFunSpringAutoConfiguration()
      Default constructor required for Spring Boot auto-configuration instantiation.
  • Method Details

    • txResult

      @Bean @ConditionalOnMissingBean @ConditionalOnProperty(name="dmx.fun.tx-result.enabled", havingValue="true", matchIfMissing=true) public TxResult txResult(org.springframework.transaction.PlatformTransactionManager txManager)
      Registers a TxResult backed by the primary transaction manager. Can be disabled via dmx.fun.tx-result.enabled=false.
      Parameters:
      txManager - the transaction manager to back the executor
      Returns:
      a ready-to-use TxResult instance
    • txTry

      @Bean @ConditionalOnMissingBean @ConditionalOnProperty(name="dmx.fun.tx-try.enabled", havingValue="true", matchIfMissing=true) public TxTry txTry(org.springframework.transaction.PlatformTransactionManager txManager)
      Registers a TxTry backed by the primary transaction manager. Can be disabled via dmx.fun.tx-try.enabled=false.
      Parameters:
      txManager - the transaction manager to back the executor
      Returns:
      a ready-to-use TxTry instance
    • txValidated

      @Bean @ConditionalOnMissingBean @ConditionalOnProperty(name="dmx.fun.tx-validated.enabled", havingValue="true", matchIfMissing=true) public TxValidated txValidated(org.springframework.transaction.PlatformTransactionManager txManager)
      Registers a TxValidated backed by the primary transaction manager. Can be disabled via dmx.fun.tx-validated.enabled=false.
      Parameters:
      txManager - the transaction manager to back the executor
      Returns:
      a ready-to-use TxValidated instance