diff --git a/sharding-jdbc-example/transaction-example/transaction-2pc-xa-example/transaction-xa-spring-boot-example/src/main/java/io/shardingsphere/example/transaction/xa/spring/boot/SpringBootExample.java b/sharding-jdbc-example/transaction-example/transaction-2pc-xa-example/transaction-xa-spring-boot-example/src/main/java/io/shardingsphere/example/transaction/xa/spring/boot/SpringBootExample.java index 5233b46756c484775cec750898b00e78a16f7cbc..a0f760e9d4f409f51bd6804f112caecabe7e5424 100644 --- a/sharding-jdbc-example/transaction-example/transaction-2pc-xa-example/transaction-xa-spring-boot-example/src/main/java/io/shardingsphere/example/transaction/xa/spring/boot/SpringBootExample.java +++ b/sharding-jdbc-example/transaction-example/transaction-2pc-xa-example/transaction-xa-spring-boot-example/src/main/java/io/shardingsphere/example/transaction/xa/spring/boot/SpringBootExample.java @@ -24,16 +24,24 @@ import org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfigurati import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.ComponentScan; -@ComponentScan("io.shardingsphere.example.common.jpa") +@ComponentScan({"io.shardingsphere.example.common.jpa", "io.shardingsphere.example.transaction.xa.spring.boot"}) @EntityScan(basePackages = "io.shardingsphere.example.common.jpa.entity") @SpringBootApplication(exclude = JtaAutoConfiguration.class) public class SpringBootExample { public static void main(final String[] args) { try (ConfigurableApplicationContext applicationContext = SpringApplication.run(SpringBootExample.class, args)) { - XATransactionalService transactionalService = applicationContext.getBean(XATransactionalService.class); - transactionalService.processSuccess(); + processXATransaction(applicationContext); + } + } + + private static void processXATransaction(final ConfigurableApplicationContext applicationContext) { + XATransactionalService transactionalService = applicationContext.getBean(XATransactionalService.class); + transactionalService.processSuccess(); + try { transactionalService.processFailure(); + } catch (final Exception ex) { + transactionalService.printData(); } } }