Class ScaSeataSpringFenceAutoConfiguration

java.lang.Object
com.alibaba.cloud.seata.autoconfigure.ScaSeataSpringFenceAutoConfiguration

@Deprecated @ConditionalOnExpression("${seata.enabled:true}") @ConditionalOnBean(type={"javax.sql.DataSource","org.springframework.transaction.PlatformTransactionManager"}) @ConditionalOnMissingBean(org.apache.seata.rm.fence.SpringFenceConfig.class) @AutoConfigureAfter(value=org.apache.seata.spring.boot.autoconfigure.SeataCoreAutoConfiguration.class, name={"org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration","org.springframework.boot.transaction.autoconfigure.TransactionAutoConfiguration"}) @AutoConfigureOrder(2147483647) public class ScaSeataSpringFenceAutoConfiguration extends Object
Deprecated.
This is a temporary workaround. Will be removed after Seata releases a compatible version.
Spring fence auto configuration for Spring Cloud Alibaba.

IMPORTANT: This is a temporary workaround class.

This class is a replacement for the original org.apache.seata.spring.boot.autoconfigure.SeataSpringFenceAutoConfiguration which has compatibility issues with Spring Boot 4.x.

The original class uses @AutoConfigureAfter with class names that don't exist in Spring Boot 4.x, causing ClassNotFoundException during bean name generation. This class fixes the issue by removing the problematic class name references.

The original Seata class is excluded via SeataSpringFenceAutoConfigurationImportFilter, and this class provides the same functionality with Spring Boot 4.x compatibility.

This class will be removed once Seata releases a new version that fixes the compatibility issue with Spring Boot 4.x. At that time, the SCA Seata module will remove this class and SeataSpringFenceAutoConfigurationImportFilter.

Author:
freeman
See Also:
  • Field Details

    • SPRING_FENCE_DATA_SOURCE_BEAN_NAME

      public static final String SPRING_FENCE_DATA_SOURCE_BEAN_NAME
      Deprecated.
      Bean name for the Spring Fence DataSource.
      See Also:
    • SPRING_FENCE_TRANSACTION_MANAGER_BEAN_NAME

      public static final String SPRING_FENCE_TRANSACTION_MANAGER_BEAN_NAME
      Deprecated.
      Bean name for the Spring Fence TransactionManager.
      See Also:
  • Constructor Details

    • ScaSeataSpringFenceAutoConfiguration

      public ScaSeataSpringFenceAutoConfiguration()
      Deprecated.
  • Method Details

    • springFenceConfig

      @Bean @ConfigurationProperties("seata.tcc.fence") public org.apache.seata.rm.fence.SpringFenceConfig springFenceConfig(DataSource dataSource, org.springframework.transaction.PlatformTransactionManager transactionManager, @Qualifier("seataSpringFenceDataSource") @Autowired(required=false) DataSource springFenceDataSource, @Qualifier("seataSpringFenceTransactionManager") @Autowired(required=false) org.springframework.transaction.PlatformTransactionManager springFenceTransactionManager)
      Deprecated.