Merge branch '2.3.x' into 2.4.x
Closes gh-26460
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2020 the original author or authors.
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.springframework.boot.autoconfigure.orm.jpa;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
@@ -37,6 +38,7 @@ import org.springframework.boot.test.context.assertj.AssertableApplicationContex
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.boot.test.context.runner.ContextConsumer;
|
||||
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
|
||||
import org.springframework.boot.testsupport.BuildOutput;
|
||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -69,7 +71,9 @@ abstract class AbstractJpaAutoConfigurationTests {
|
||||
protected AbstractJpaAutoConfigurationTests(Class<?> autoConfiguredClass) {
|
||||
this.autoConfiguredClass = autoConfiguredClass;
|
||||
this.contextRunner = new ApplicationContextRunner()
|
||||
.withPropertyValues("spring.datasource.generate-unique-name=true")
|
||||
.withPropertyValues("spring.datasource.generate-unique-name=true",
|
||||
"spring.jta.log-dir="
|
||||
+ new File(new BuildOutput(getClass()).getRootLocation(), "transaction-logs"))
|
||||
.withUserConfiguration(TestConfiguration.class).withConfiguration(AutoConfigurations.of(
|
||||
DataSourceAutoConfiguration.class, TransactionAutoConfiguration.class, autoConfiguredClass));
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2020 the original author or authors.
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -48,6 +48,7 @@ import org.springframework.boot.jta.atomikos.AtomikosDataSourceBean;
|
||||
import org.springframework.boot.jta.atomikos.AtomikosDependsOnBeanFactoryPostProcessor;
|
||||
import org.springframework.boot.jta.atomikos.AtomikosProperties;
|
||||
import org.springframework.boot.test.util.TestPropertyValues;
|
||||
import org.springframework.boot.testsupport.BuildOutput;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -70,6 +71,8 @@ import static org.mockito.Mockito.mock;
|
||||
// @SuppressWarnings("deprecation")
|
||||
class JtaAutoConfigurationTests {
|
||||
|
||||
private final File buildOutput = new BuildOutput(JtaAutoConfigurationTests.class).getRootLocation();
|
||||
|
||||
private AnnotationConfigApplicationContext context;
|
||||
|
||||
@AfterEach
|
||||
@@ -100,7 +103,11 @@ class JtaAutoConfigurationTests {
|
||||
|
||||
@Test
|
||||
void atomikosSanityCheck() {
|
||||
this.context = new AnnotationConfigApplicationContext(JtaProperties.class, AtomikosJtaConfiguration.class);
|
||||
this.context = new AnnotationConfigApplicationContext();
|
||||
TestPropertyValues.of("spring.jta.log-dir:" + new File(this.buildOutput, "atomikos-logs"))
|
||||
.applyTo(this.context);
|
||||
this.context.register(JtaProperties.class, AtomikosJtaConfiguration.class);
|
||||
this.context.refresh();
|
||||
this.context.getBean(AtomikosProperties.class);
|
||||
this.context.getBean(UserTransactionService.class);
|
||||
this.context.getBean(UserTransactionManager.class);
|
||||
@@ -114,7 +121,11 @@ class JtaAutoConfigurationTests {
|
||||
@Test
|
||||
@Deprecated
|
||||
void bitronixSanityCheck() {
|
||||
this.context = new AnnotationConfigApplicationContext(JtaProperties.class, BitronixJtaConfiguration.class);
|
||||
this.context = new AnnotationConfigApplicationContext();
|
||||
TestPropertyValues.of("spring.jta.log-dir:" + new File(this.buildOutput, "bitronix-logs"))
|
||||
.applyTo(this.context);
|
||||
this.context.register(JtaProperties.class, BitronixJtaConfiguration.class);
|
||||
this.context.refresh();
|
||||
this.context.getBean(bitronix.tm.Configuration.class);
|
||||
this.context.getBean(TransactionManager.class);
|
||||
this.context.getBean(XADataSourceWrapper.class);
|
||||
@@ -126,7 +137,11 @@ class JtaAutoConfigurationTests {
|
||||
@Test
|
||||
@Deprecated
|
||||
void defaultBitronixServerId() throws UnknownHostException {
|
||||
this.context = new AnnotationConfigApplicationContext(BitronixJtaConfiguration.class);
|
||||
this.context = new AnnotationConfigApplicationContext();
|
||||
TestPropertyValues.of("spring.jta.log-dir:" + new File(this.buildOutput, "bitronix-logs"))
|
||||
.applyTo(this.context);
|
||||
this.context.register(BitronixJtaConfiguration.class);
|
||||
this.context.refresh();
|
||||
String serverId = this.context.getBean(bitronix.tm.Configuration.class).getServerId();
|
||||
assertThat(serverId).isEqualTo(InetAddress.getLocalHost().getHostAddress());
|
||||
}
|
||||
@@ -135,7 +150,8 @@ class JtaAutoConfigurationTests {
|
||||
@Deprecated
|
||||
void customBitronixServerId() {
|
||||
this.context = new AnnotationConfigApplicationContext();
|
||||
TestPropertyValues.of("spring.jta.transactionManagerId:custom").applyTo(this.context);
|
||||
TestPropertyValues.of("spring.jta.transactionManagerId:custom",
|
||||
"spring.jta.log-dir:" + new File(this.buildOutput, "bitronix-logs")).applyTo(this.context);
|
||||
this.context.register(BitronixJtaConfiguration.class);
|
||||
this.context.refresh();
|
||||
String serverId = this.context.getBean(bitronix.tm.Configuration.class).getServerId();
|
||||
@@ -158,7 +174,8 @@ class JtaAutoConfigurationTests {
|
||||
void atomikosConnectionFactoryPoolConfiguration() {
|
||||
this.context = new AnnotationConfigApplicationContext();
|
||||
TestPropertyValues.of("spring.jta.atomikos.connectionfactory.minPoolSize:5",
|
||||
"spring.jta.atomikos.connectionfactory.maxPoolSize:10").applyTo(this.context);
|
||||
"spring.jta.atomikos.connectionfactory.maxPoolSize:10",
|
||||
"spring.jta.log-dir:" + new File(this.buildOutput, "atomikos-logs")).applyTo(this.context);
|
||||
this.context.register(AtomikosJtaConfiguration.class, PoolConfiguration.class);
|
||||
this.context.refresh();
|
||||
AtomikosConnectionFactoryBean connectionFactory = this.context.getBean(AtomikosConnectionFactoryBean.class);
|
||||
@@ -171,7 +188,8 @@ class JtaAutoConfigurationTests {
|
||||
void bitronixConnectionFactoryPoolConfiguration() {
|
||||
this.context = new AnnotationConfigApplicationContext();
|
||||
TestPropertyValues.of("spring.jta.bitronix.connectionfactory.minPoolSize:5",
|
||||
"spring.jta.bitronix.connectionfactory.maxPoolSize:10").applyTo(this.context);
|
||||
"spring.jta.bitronix.connectionfactory.maxPoolSize:10",
|
||||
"spring.jta.log-dir:" + new File(this.buildOutput, "bitronix-logs")).applyTo(this.context);
|
||||
this.context.register(BitronixJtaConfiguration.class, PoolConfiguration.class);
|
||||
this.context.refresh();
|
||||
org.springframework.boot.jta.bitronix.PoolingConnectionFactoryBean connectionFactory = this.context
|
||||
@@ -184,7 +202,8 @@ class JtaAutoConfigurationTests {
|
||||
void atomikosDataSourcePoolConfiguration() {
|
||||
this.context = new AnnotationConfigApplicationContext();
|
||||
TestPropertyValues
|
||||
.of("spring.jta.atomikos.datasource.minPoolSize:5", "spring.jta.atomikos.datasource.maxPoolSize:10")
|
||||
.of("spring.jta.atomikos.datasource.minPoolSize:5", "spring.jta.atomikos.datasource.maxPoolSize:10",
|
||||
"spring.jta.log-dir:" + new File(this.buildOutput, "atomikos-logs"))
|
||||
.applyTo(this.context);
|
||||
this.context.register(AtomikosJtaConfiguration.class, PoolConfiguration.class);
|
||||
this.context.refresh();
|
||||
@@ -198,7 +217,8 @@ class JtaAutoConfigurationTests {
|
||||
void bitronixDataSourcePoolConfiguration() {
|
||||
this.context = new AnnotationConfigApplicationContext();
|
||||
TestPropertyValues
|
||||
.of("spring.jta.bitronix.datasource.minPoolSize:5", "spring.jta.bitronix.datasource.maxPoolSize:10")
|
||||
.of("spring.jta.bitronix.datasource.minPoolSize:5", "spring.jta.bitronix.datasource.maxPoolSize:10",
|
||||
"spring.jta.log-dir:" + new File(this.buildOutput, "bitronix-logs"))
|
||||
.applyTo(this.context);
|
||||
this.context.register(BitronixJtaConfiguration.class, PoolConfiguration.class);
|
||||
this.context.refresh();
|
||||
@@ -212,7 +232,8 @@ class JtaAutoConfigurationTests {
|
||||
void atomikosCustomizeJtaTransactionManagerUsingProperties() {
|
||||
this.context = new AnnotationConfigApplicationContext();
|
||||
TestPropertyValues
|
||||
.of("spring.transaction.default-timeout:30", "spring.transaction.rollback-on-commit-failure:true")
|
||||
.of("spring.transaction.default-timeout:30", "spring.transaction.rollback-on-commit-failure:true",
|
||||
"spring.jta.log-dir:" + new File(this.buildOutput, "atomikos-logs"))
|
||||
.applyTo(this.context);
|
||||
this.context.register(AtomikosJtaConfiguration.class, TransactionAutoConfiguration.class);
|
||||
this.context.refresh();
|
||||
@@ -226,7 +247,8 @@ class JtaAutoConfigurationTests {
|
||||
void bitronixCustomizeJtaTransactionManagerUsingProperties() {
|
||||
this.context = new AnnotationConfigApplicationContext();
|
||||
TestPropertyValues
|
||||
.of("spring.transaction.default-timeout:30", "spring.transaction.rollback-on-commit-failure:true")
|
||||
.of("spring.transaction.default-timeout:30", "spring.transaction.rollback-on-commit-failure:true",
|
||||
"spring.jta.log-dir:" + new File(this.buildOutput, "bitronix-logs"))
|
||||
.applyTo(this.context);
|
||||
this.context.register(BitronixJtaConfiguration.class, TransactionAutoConfiguration.class);
|
||||
this.context.refresh();
|
||||
|
||||
Reference in New Issue
Block a user