Commit 0b29da14 authored by Nishant Raut's avatar Nishant Raut Committed by Andy Wilkinson

Stop JtaAutoConfiguration from enabling JtaProperties when not used

See gh-15550
parent 51d3626c
...@@ -24,7 +24,6 @@ import org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration ...@@ -24,7 +24,6 @@ import org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration
import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration; import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration;
import org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration; import org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Import;
...@@ -33,6 +32,7 @@ import org.springframework.context.annotation.Import; ...@@ -33,6 +32,7 @@ import org.springframework.context.annotation.Import;
* *
* @author Josh Long * @author Josh Long
* @author Phillip Webb * @author Phillip Webb
* @author Nishant Raut
* @since 1.2.0 * @since 1.2.0
*/ */
@Configuration @Configuration
...@@ -43,7 +43,6 @@ import org.springframework.context.annotation.Import; ...@@ -43,7 +43,6 @@ import org.springframework.context.annotation.Import;
HibernateJpaAutoConfiguration.class }) HibernateJpaAutoConfiguration.class })
@Import({ JndiJtaConfiguration.class, BitronixJtaConfiguration.class, @Import({ JndiJtaConfiguration.class, BitronixJtaConfiguration.class,
AtomikosJtaConfiguration.class }) AtomikosJtaConfiguration.class })
@EnableConfigurationProperties(JtaProperties.class)
public class JtaAutoConfiguration { public class JtaAutoConfiguration {
} }
...@@ -40,7 +40,6 @@ import org.junit.Test; ...@@ -40,7 +40,6 @@ import org.junit.Test;
import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration; import org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.jdbc.XADataSourceWrapper; import org.springframework.boot.jdbc.XADataSourceWrapper;
import org.springframework.boot.jms.XAConnectionFactoryWrapper; import org.springframework.boot.jms.XAConnectionFactoryWrapper;
import org.springframework.boot.jta.atomikos.AtomikosDataSourceBean; import org.springframework.boot.jta.atomikos.AtomikosDataSourceBean;
...@@ -69,6 +68,7 @@ import static org.mockito.Mockito.mock; ...@@ -69,6 +68,7 @@ import static org.mockito.Mockito.mock;
* @author Phillip Webb * @author Phillip Webb
* @author Andy Wilkinson * @author Andy Wilkinson
* @author Kazuki Shimizu * @author Kazuki Shimizu
* @author Nishant Raut
*/ */
public class JtaAutoConfigurationTests { public class JtaAutoConfigurationTests {
...@@ -135,7 +135,7 @@ public class JtaAutoConfigurationTests { ...@@ -135,7 +135,7 @@ public class JtaAutoConfigurationTests {
@Test @Test
public void defaultBitronixServerId() throws UnknownHostException { public void defaultBitronixServerId() throws UnknownHostException {
this.context = new AnnotationConfigApplicationContext( this.context = new AnnotationConfigApplicationContext(
JtaPropertiesConfiguration.class, BitronixJtaConfiguration.class); BitronixJtaConfiguration.class);
String serverId = this.context.getBean(bitronix.tm.Configuration.class) String serverId = this.context.getBean(bitronix.tm.Configuration.class)
.getServerId(); .getServerId();
assertThat(serverId).isEqualTo(InetAddress.getLocalHost().getHostAddress()); assertThat(serverId).isEqualTo(InetAddress.getLocalHost().getHostAddress());
...@@ -146,8 +146,7 @@ public class JtaAutoConfigurationTests { ...@@ -146,8 +146,7 @@ public class JtaAutoConfigurationTests {
this.context = new AnnotationConfigApplicationContext(); this.context = new AnnotationConfigApplicationContext();
TestPropertyValues.of("spring.jta.transactionManagerId:custom") TestPropertyValues.of("spring.jta.transactionManagerId:custom")
.applyTo(this.context); .applyTo(this.context);
this.context.register(JtaPropertiesConfiguration.class, this.context.register(BitronixJtaConfiguration.class);
BitronixJtaConfiguration.class);
this.context.refresh(); this.context.refresh();
String serverId = this.context.getBean(bitronix.tm.Configuration.class) String serverId = this.context.getBean(bitronix.tm.Configuration.class)
.getServerId(); .getServerId();
...@@ -159,8 +158,7 @@ public class JtaAutoConfigurationTests { ...@@ -159,8 +158,7 @@ public class JtaAutoConfigurationTests {
this.context = new AnnotationConfigApplicationContext(); this.context = new AnnotationConfigApplicationContext();
TestPropertyValues.of("spring.jta.logDir:target/transaction-logs") TestPropertyValues.of("spring.jta.logDir:target/transaction-logs")
.applyTo(this.context); .applyTo(this.context);
this.context.register(JtaPropertiesConfiguration.class, this.context.register(AtomikosJtaConfiguration.class);
AtomikosJtaConfiguration.class);
this.context.refresh(); this.context.refresh();
File epochFile = new File("target/transaction-logs/tmlog0.log"); File epochFile = new File("target/transaction-logs/tmlog0.log");
...@@ -174,8 +172,8 @@ public class JtaAutoConfigurationTests { ...@@ -174,8 +172,8 @@ public class JtaAutoConfigurationTests {
.of("spring.jta.atomikos.connectionfactory.minPoolSize:5", .of("spring.jta.atomikos.connectionfactory.minPoolSize:5",
"spring.jta.atomikos.connectionfactory.maxPoolSize:10") "spring.jta.atomikos.connectionfactory.maxPoolSize:10")
.applyTo(this.context); .applyTo(this.context);
this.context.register(JtaPropertiesConfiguration.class, this.context.register(AtomikosJtaConfiguration.class,
AtomikosJtaConfiguration.class, PoolConfiguration.class); PoolConfiguration.class);
this.context.refresh(); this.context.refresh();
AtomikosConnectionFactoryBean connectionFactory = this.context AtomikosConnectionFactoryBean connectionFactory = this.context
.getBean(AtomikosConnectionFactoryBean.class); .getBean(AtomikosConnectionFactoryBean.class);
...@@ -190,8 +188,8 @@ public class JtaAutoConfigurationTests { ...@@ -190,8 +188,8 @@ public class JtaAutoConfigurationTests {
.of("spring.jta.bitronix.connectionfactory.minPoolSize:5", .of("spring.jta.bitronix.connectionfactory.minPoolSize:5",
"spring.jta.bitronix.connectionfactory.maxPoolSize:10") "spring.jta.bitronix.connectionfactory.maxPoolSize:10")
.applyTo(this.context); .applyTo(this.context);
this.context.register(JtaPropertiesConfiguration.class, this.context.register(BitronixJtaConfiguration.class,
BitronixJtaConfiguration.class, PoolConfiguration.class); PoolConfiguration.class);
this.context.refresh(); this.context.refresh();
PoolingConnectionFactoryBean connectionFactory = this.context PoolingConnectionFactoryBean connectionFactory = this.context
.getBean(PoolingConnectionFactoryBean.class); .getBean(PoolingConnectionFactoryBean.class);
...@@ -206,8 +204,8 @@ public class JtaAutoConfigurationTests { ...@@ -206,8 +204,8 @@ public class JtaAutoConfigurationTests {
.of("spring.jta.atomikos.datasource.minPoolSize:5", .of("spring.jta.atomikos.datasource.minPoolSize:5",
"spring.jta.atomikos.datasource.maxPoolSize:10") "spring.jta.atomikos.datasource.maxPoolSize:10")
.applyTo(this.context); .applyTo(this.context);
this.context.register(JtaPropertiesConfiguration.class, this.context.register(AtomikosJtaConfiguration.class,
AtomikosJtaConfiguration.class, PoolConfiguration.class); PoolConfiguration.class);
this.context.refresh(); this.context.refresh();
AtomikosDataSourceBean dataSource = this.context AtomikosDataSourceBean dataSource = this.context
.getBean(AtomikosDataSourceBean.class); .getBean(AtomikosDataSourceBean.class);
...@@ -222,8 +220,8 @@ public class JtaAutoConfigurationTests { ...@@ -222,8 +220,8 @@ public class JtaAutoConfigurationTests {
.of("spring.jta.bitronix.datasource.minPoolSize:5", .of("spring.jta.bitronix.datasource.minPoolSize:5",
"spring.jta.bitronix.datasource.maxPoolSize:10") "spring.jta.bitronix.datasource.maxPoolSize:10")
.applyTo(this.context); .applyTo(this.context);
this.context.register(JtaPropertiesConfiguration.class, this.context.register(BitronixJtaConfiguration.class,
BitronixJtaConfiguration.class, PoolConfiguration.class); PoolConfiguration.class);
this.context.refresh(); this.context.refresh();
PoolingDataSourceBean dataSource = this.context PoolingDataSourceBean dataSource = this.context
.getBean(PoolingDataSourceBean.class); .getBean(PoolingDataSourceBean.class);
...@@ -263,12 +261,6 @@ public class JtaAutoConfigurationTests { ...@@ -263,12 +261,6 @@ public class JtaAutoConfigurationTests {
assertThat(transactionManager.isRollbackOnCommitFailure()).isTrue(); assertThat(transactionManager.isRollbackOnCommitFailure()).isTrue();
} }
@Configuration
@EnableConfigurationProperties(JtaProperties.class)
public static class JtaPropertiesConfiguration {
}
@Configuration @Configuration
public static class CustomTransactionManagerConfig { public static class CustomTransactionManagerConfig {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment