Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
c2ef7578
Commit
c2ef7578
authored
May 14, 2021
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.3.x' into 2.4.x
Closes gh-26460
parents
73131e99
44447492
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
54 additions
and
19 deletions
+54
-19
.gitignore
.gitignore
+0
-1
AbstractJpaAutoConfigurationTests.java
...oconfigure/orm/jpa/AbstractJpaAutoConfigurationTests.java
+6
-2
JtaAutoConfigurationTests.java
...oconfigure/transaction/jta/JtaAutoConfigurationTests.java
+33
-11
build.gradle
...ke-tests/spring-boot-smoke-test-jta-atomikos/build.gradle
+1
-0
SampleAtomikosApplicationTests.java
...va/smoketest/atomikos/SampleAtomikosApplicationTests.java
+5
-2
build.gradle
...ke-tests/spring-boot-smoke-test-jta-bitronix/build.gradle
+1
-0
SampleBitronixApplicationTests.java
...va/smoketest/bitronix/SampleBitronixApplicationTests.java
+8
-3
No files found.
.gitignore
View file @
c2ef7578
...
...
@@ -36,7 +36,6 @@ manifest.yml
out
overridedb.*
target
transaction-logs
.flattened-pom.xml
secrets.yml
.gradletasknamecache
...
...
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/orm/jpa/AbstractJpaAutoConfigurationTests.java
View file @
c2ef7578
/*
* Copyright 2012-202
0
the original author or authors.
* Copyright 2012-202
1
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
));
}
...
...
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/transaction/jta/JtaAutoConfigurationTests.java
View file @
c2ef7578
/*
* Copyright 2012-202
0
the original author or authors.
* Copyright 2012-202
1
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
();
...
...
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-jta-atomikos/build.gradle
View file @
c2ef7578
...
...
@@ -9,6 +9,7 @@ dependencies {
implementation
(
project
(
":spring-boot-project:spring-boot-starters:spring-boot-starter-artemis"
))
implementation
(
project
(
":spring-boot-project:spring-boot-starters:spring-boot-starter-data-jpa"
))
implementation
(
project
(
":spring-boot-project:spring-boot-starters:spring-boot-starter-jta-atomikos"
))
implementation
(
project
(
":spring-boot-project:spring-boot-tools:spring-boot-test-support"
))
if
(
JavaVersion
.
current
().
java9Compatible
)
{
implementation
(
"jakarta.xml.bind:jakarta.xml.bind-api"
)
}
...
...
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-jta-atomikos/src/test/java/smoketest/atomikos/SampleAtomikosApplicationTests.java
View file @
c2ef7578
/*
* Copyright 2012-20
19
the original author or authors.
* Copyright 2012-20
21
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
smoketest
.
atomikos
;
import
java.io.File
;
import
java.util.function.Consumer
;
import
org.junit.jupiter.api.Test
;
...
...
@@ -23,6 +24,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
import
org.springframework.boot.test.system.CapturedOutput
;
import
org.springframework.boot.test.system.OutputCaptureExtension
;
import
org.springframework.boot.testsupport.BuildOutput
;
import
org.springframework.util.StringUtils
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
...
...
@@ -37,7 +39,8 @@ class SampleAtomikosApplicationTests {
@Test
void
testTransactionRollback
(
CapturedOutput
output
)
throws
Exception
{
SampleAtomikosApplication
.
main
(
new
String
[]
{});
File
logDir
=
new
File
(
new
BuildOutput
(
getClass
()).
getRootLocation
(),
"atomikos-logs"
);
SampleAtomikosApplication
.
main
(
new
String
[]
{
"--spring.jta.log-dir="
+
logDir
});
assertThat
(
output
).
satisfies
(
numberOfOccurrences
(
"---->"
,
1
));
assertThat
(
output
).
satisfies
(
numberOfOccurrences
(
"----> josh"
,
1
));
assertThat
(
output
).
satisfies
(
numberOfOccurrences
(
"Count is 1"
,
2
));
...
...
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-jta-bitronix/build.gradle
View file @
c2ef7578
...
...
@@ -9,6 +9,7 @@ dependencies {
implementation
(
project
(
":spring-boot-project:spring-boot-starters:spring-boot-starter-artemis"
))
implementation
(
project
(
":spring-boot-project:spring-boot-starters:spring-boot-starter-data-jpa"
))
implementation
(
project
(
":spring-boot-project:spring-boot-starters:spring-boot-starter-jta-bitronix"
))
implementation
(
project
(
":spring-boot-project:spring-boot-tools:spring-boot-test-support"
))
if
(
JavaVersion
.
current
().
java9Compatible
)
{
implementation
(
"jakarta.xml.bind:jakarta.xml.bind-api"
)
}
...
...
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-jta-bitronix/src/test/java/smoketest/bitronix/SampleBitronixApplicationTests.java
View file @
c2ef7578
/*
* Copyright 2012-20
19
the original author or authors.
* Copyright 2012-20
21
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
smoketest
.
bitronix
;
import
java.io.File
;
import
java.util.function.Consumer
;
import
bitronix.tm.resource.jms.PoolingConnectionFactory
;
...
...
@@ -25,6 +26,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.test.system.CapturedOutput
;
import
org.springframework.boot.test.system.OutputCaptureExtension
;
import
org.springframework.boot.testsupport.BuildOutput
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.util.StringUtils
;
...
...
@@ -38,9 +40,11 @@ import static org.assertj.core.api.Assertions.assertThat;
@ExtendWith
(
OutputCaptureExtension
.
class
)
class
SampleBitronixApplicationTests
{
private
final
File
jtaLogDir
=
new
File
(
new
BuildOutput
(
getClass
()).
getRootLocation
(),
"bitronix-logs"
);
@Test
void
testTransactionRollback
(
CapturedOutput
output
)
throws
Exception
{
SampleBitronixApplication
.
main
(
new
String
[]
{});
SampleBitronixApplication
.
main
(
new
String
[]
{
"--spring.jta.log-dir="
+
this
.
jtaLogDir
});
assertThat
(
output
).
satisfies
(
numberOfOccurrences
(
"---->"
,
1
));
assertThat
(
output
).
satisfies
(
numberOfOccurrences
(
"----> josh"
,
1
));
assertThat
(
output
).
satisfies
(
numberOfOccurrences
(
"Count is 1"
,
2
));
...
...
@@ -49,7 +53,8 @@ class SampleBitronixApplicationTests {
@Test
void
testExposesXaAndNonXa
()
{
ApplicationContext
context
=
SpringApplication
.
run
(
SampleBitronixApplication
.
class
);
ApplicationContext
context
=
SpringApplication
.
run
(
SampleBitronixApplication
.
class
,
"--spring.jta.log-dir="
+
this
.
jtaLogDir
);
Object
jmsConnectionFactory
=
context
.
getBean
(
"jmsConnectionFactory"
);
Object
xaJmsConnectionFactory
=
context
.
getBean
(
"xaJmsConnectionFactory"
);
Object
nonXaJmsConnectionFactory
=
context
.
getBean
(
"nonXaJmsConnectionFactory"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment