Commit Graph

20767 Commits

Author SHA1 Message Date
Moritz Halbritter 5f84588b5d Merge branch '3.0.x'
Closes gh-35270
2023-05-04 13:24:07 +02:00
Moritz Halbritter ea4521acdb Merge branch '2.7.x' into 3.0.x
Closes gh-35269
2023-05-04 13:23:44 +02:00
Moritz Halbritter 6ca9f91a8b Fix NPE when gracefully shutting down netty
Closes gh-35264
2023-05-04 11:54:05 +02:00
Jonatan Ivanov 5142e8e157
Support Brave's joint spans
Brave has a feature called joint spans that was enabled by default with
Spring Cloud Sleuth (and Boot 2.x). This has changed with
Micrometer Tracing and Boot 3.x. In order to make migration simpler,
joint spans should be set through a property.
This is a Brave+B3-only feature, W3C is not supported by Brave and
OTel does not have this capability.

See gh-35165
2023-05-03 17:22:12 -07:00
Andy Wilkinson 8494ad82cd Merge branch '3.0.x'
Closes gh-35255
2023-05-03 17:45:17 +01:00
Andy Wilkinson 0776d01f16 Merge branch '2.7.x' into 3.0.x
Closes gh-35254
2023-05-03 17:44:49 +01:00
Andy Wilkinson fad24d5ced Fix handling of default port in mail health indicator
Fixes gh-35247
2023-05-03 17:33:37 +01:00
Moritz Halbritter 243b337954 Remove copyright from the anchor-rewrite.properties 2023-05-03 16:11:53 +02:00
Moritz Halbritter 46fedfc4ef Move JAR unpacking section and add AOT on JVM section
Closes gh-32905
2023-05-03 16:01:19 +02:00
Moritz Halbritter bdca30e85b Polish 2023-05-03 14:33:07 +02:00
Moritz Halbritter 71f4247340 Improve headings
See gh-32779
2023-05-03 14:31:43 +02:00
Moritz Halbritter 56b8e419be Update getting started with alternative gradle instructions
Closes gh-32779
2023-05-03 14:29:02 +02:00
Moritz Halbritter 9b5a2643cc Polish "Add service connection from Testcontainers Zipkin"
See gh-35107
2023-05-03 13:09:50 +02:00
Eddú Meléndez ad4f6ffeb7 Add service connection from Testcontainers Zipkin
See gh-35107
2023-05-03 13:09:49 +02:00
Phillip Webb 8427e813af Support import of idomatic testcontainer declaration classes
Add an `@ImportTestcontainers` annotation which can be used to import
idomatic testcontainer declaration classes.

Closes gh-35245
2023-05-03 00:28:36 -07:00
Phillip Webb 26566d4a30 Allow testcontainer beans to also contribute properties
Allow `Container` bean definitions to inject a `DynamicPropertyRegistry`
so that they can contribute environment properties.

Closes gh-35201
2023-05-03 00:27:13 -07:00
Phillip Webb e9578fe745 Swallow BeanCurrentlyInCreationException exceptions
Update `TestcontainersLifecycleBeanPostProcessor` to that initialization
doesn't fail if a `BeanCurrentlyInCreationException` is thrown.

Prior to this commit, if the first bean being post-processed was a
configuration class declaring a bean that the `Container` depended on
all initialization would fail.

See gh-35223
2023-05-03 00:24:30 -07:00
Phillip Webb 3997771f6c Polish 2023-05-02 23:40:30 -07:00
Phillip Webb d86e82d026 Merge branch '3.0.x' 2023-05-02 15:42:05 -07:00
Phillip Webb 2c27ec5b7b Merge branch '2.7.x' into 3.0.x 2023-05-02 15:42:00 -07:00
Phillip Webb b3226c55d2 Polish 2023-05-02 15:41:55 -07:00
Phillip Webb 8e18862582 Merge branch '3.0.x' 2023-05-02 15:41:26 -07:00
Phillip Webb 8d1fb3be4f Fix index error on test
See gh-35241
2023-05-02 15:41:07 -07:00
Phillip Webb a890323758 Merge branch '3.0.x' 2023-05-02 14:52:42 -07:00
Phillip Webb 0f242ab3f7 Merge branch '2.7.x' into 3.0.x 2023-05-02 14:52:16 -07:00
Phillip Webb 6b646f6a8e Update copyright year of changed files 2023-05-02 14:52:12 -07:00
Phillip Webb cd5f0dff21 Merge branch '3.0.x'
Closes gh-35242
2023-05-02 14:51:24 -07:00
Phillip Webb 722cbc66c6 Merge branch '2.7.x' into 3.0.x
Closes gh-35241
2023-05-02 14:51:13 -07:00
Phillip Webb 5ef0ee0ed4 Prevent early initialization of SessionRepository beans
Replace `SessionRepositoryFilterConfiguration` filter registration bean
with a `DelegatingFilterProxyRegistrationBean` so that
`SessionRepository` beans are not initialized early.

Fixes gh-35240
2023-05-02 14:47:15 -07:00
Scott Frederick 23ae91b008 Add native image manifest entry
A manifest entry `Spring-Boot-Native-Processed: true` is added to the
jar manifest by the Maven or Gradle plugin when the jar has been built
for use in a native image. With the Gradle plugin, this is done in
reaction to the GraalVM Native Image Plugin being applied to the
project. With the Maven plugin, this is done when the `native` profile
is applied to the build.
2023-05-02 15:11:49 -05:00
Scott Frederick 5ac6a3d90b Add smoke test to verify MongoDB SSL connections
See gh-35042
2023-05-02 15:11:09 -05:00
Scott Frederick 3bb271e320 Add smoke test to verify Redis SSL connection
See gh-34815
2023-05-02 13:52:50 -05:00
Andy Wilkinson 161b54b1d4 Set Logback's root log level to INFO as early as possible
Closes gh-35238
2023-05-02 18:29:52 +01:00
Andy Wilkinson aafe343ce6 Merge branch '3.0.x'
Closes gh-35237
2023-05-02 16:19:54 +01:00
Andy Wilkinson 9a39bf284b Merge branch '2.7.x' into 3.0.x
Closes gh-35235
2023-05-02 16:19:30 +01:00
Andy Wilkinson 7c2c2ebb1b Make ApplicationAvailabilityBean receive events with lazy init
Fixes gh-35161
2023-05-02 16:19:08 +01:00
Moritz Halbritter 9d50d92b9c Merge branch '3.0.x' 2023-05-02 16:36:49 +02:00
Moritz Halbritter 1f4a337ad2 Merge branch '2.7.x' into 3.0.x 2023-05-02 16:17:50 +02:00
Moritz Halbritter 091d6204cb Disable build image integration tests on aarch64 linux and mac
See gh-35229
2023-05-02 15:38:42 +02:00
Moritz Halbritter 7c725a7560 Polish DockerImageNames 2023-05-02 15:01:45 +02:00
Moritz Halbritter 2586150eaf Disable ARM incompatible integration tests 2023-05-02 14:59:49 +02:00
Moritz Halbritter 735c43ce9b Merge branch '2.7.x' into 3.0.x 2023-05-02 14:38:48 +02:00
Moritz Halbritter 312f0c17ed Set initial ElasticSearch heap size in integration tests 2023-05-02 14:37:13 +02:00
Moritz Halbritter 944d77491b Set initial heap size for ElasticSearch integration tests 2023-05-02 14:25:35 +02:00
Moritz Halbritter 9a545727b9 Disable SQL server and Oracle database compose tests on ARM
See gh-35229
2023-05-02 14:16:56 +02:00
Moritz Halbritter 1ce88f25b4 Merge branch '3.0.x' 2023-05-02 14:08:37 +02:00
Moritz Halbritter 037cb8c5b0 Merge branch '2.7.x' into 3.0.x 2023-05-02 13:57:37 +02:00
Moritz Halbritter c1cef099d2 Limit maximum heap of ElasticSearch in tests 2023-05-02 13:40:59 +02:00
Moritz Halbritter d7a9f87b64 Disable Neo4j tests on aarch64 linux and mac
See gh-35228
2023-05-02 13:40:59 +02:00
Moritz Halbritter 9f109fe785 Disable Couchbase integration tests on aarch64 linux and mac
See gh-35228
2023-05-02 13:40:59 +02:00
Andy Wilkinson 419d8c22b2 Merge branch '3.0.x'
Closes gh-35231
2023-05-02 11:58:58 +01:00
Andy Wilkinson 8f291abc2b Merge branch '2.7.x' into 3.0.x
Closes gh-35230
2023-05-02 11:58:33 +01:00
Juhan Aasaru 3b70286747 Correct list of annotations equivalent to @SpringBootApplication
See gh-35180
2023-05-02 11:57:18 +01:00
Andy Wilkinson d24167371e Merge branch '3.0.x'
Closes gh-35226
2023-05-02 09:17:28 +01:00
Andy Wilkinson 8f3f74ffd5 Merge branch '2.7.x' into 3.0.x
Closes gh-35225
2023-05-02 09:03:17 +01:00
Andy Wilkinson 695e58f418 Align buildSrc's Framework version with the main build's version
Closes gh-35224
2023-05-02 08:59:58 +01:00
Andy Wilkinson b1d0433d74 Handle Kafka servers as strings and rely on Kafka's parsing
Closes gh-34770
2023-05-02 08:38:40 +01:00
Phillip Webb dc4efaf276 Initialize containers first and destroy them last
Update `TestcontainersLifecycleBeanPostProcessor` so that on
initialization of the first bean all `Container` instances are started.

With this update all `Container` beans will be started first in the
`preInstantiateSingletons` phase and destroyed last.

Closes gh-35223
2023-05-01 23:59:22 -07:00
Phillip Webb 14bc354f7f Apply initializer automatically for context tests
Update `ServiceConnectionContextCustomizer` so that is applies the
`TestcontainersLifecycleApplicationContextInitializer` to all
application contexts.

Closes gh-35222
2023-05-01 23:59:22 -07:00
Phillip Webb 632c5d7ea5 Implement ServiceConnectionContextCustomizer equals and hashcode for key
Update `ServiceConnectionContextCustomizer` with `equals` and `hashcode`
methods so that it works correctly when part of a context cache key.

Closes gh-35216
2023-05-01 23:59:22 -07:00
Phillip Webb 25e3291d86 Broaden exceptions that include ServiceConnection name hint
See gh-35168
2023-05-01 22:13:50 -07:00
Phillip Webb 2c0edfd0b5 Merge branch '3.0.x'
Closes gh-35221
2023-05-01 15:35:23 -07:00
Phillip Webb 67abe3f88e Merge branch '2.7.x' into 3.0.x
Closes gh-35220
2023-05-01 15:34:59 -07:00
Phillip Webb 4e6148f47b Search for main methods from the bottom of the stack
Update `MainMethod` to search from the bottom of the stack rather than
the start. Prior to this commit, an incorrect `main` method would be
found if more than one `main` was in the stack.

Fixes gh-35214
2023-05-01 13:43:40 -07:00
Andy Wilkinson 8fe20c5d63 Derive LiquibaseConnectionDetails from JdbcConnectionDetails
Closes gh-35141
2023-05-01 13:32:44 +01:00
Andy Wilkinson d293df6617 Derive FlywayConnectionDetails from JdbcConnectionDetails
Rather than implementing factories for FlywayConnectionDetails for
each supported SQL database, we instead use a factory to takes
JdbcConnectionDetails as a source and produces
FlywayConnectionDetails.

Closes gh-35138
2023-05-01 13:29:42 +01:00
Phillip Webb b4cd2572d5 Prevent early initialization of Container beans
Update testcontainers auto-configuration so that `Container` bean
instances are no longer needed when registering `ConnectionDetails`
beans. Registration now occurs based on the bean type and the `name`
attribute of `@ServiceConnection`.

Fixes gh-35168
2023-05-01 00:21:47 -07:00
Phillip Webb c21cf31853 Switch order of ContainerConnectionDetailsFactory generics
Switch `ContainerConnectionDetailsFactory` so that `Container`
is before `ConnectionDetails`.
2023-05-01 00:00:43 -07:00
Phillip Webb fc5339f81c Polish 2023-04-30 23:27:06 -07:00
Phillip Webb c13041201d Don't call close methods for reusable testcontainers
Refine `TestcontainersLifecycleApplicationContextInitializer` so that
the `close()` method is not called for reusable containers.

Closes gh-35210
2023-04-30 06:07:05 -07:00
Phillip Webb e7357ba805 Increase timeout in OracleR2dbcContainerConnectionDetailsFactoryTests 2023-04-29 21:10:19 -07:00
Phillip Webb d1084ee6db Refactor ContainerConnectionDetailsFactory classes
Update `ContainerConnectionDetailsFactory` so that they consistently
extend `ContainerConnectionDetails`. The container is also no longer
accessible from the `ContainerConnectionSource` and is never used
during the construction of `ConnectionDetails` instances.

See gh-35168
2023-04-29 21:10:14 -07:00
Phillip Webb 403481ff96 Add 'required' parameter to ConnectionDetailsFactories
Update `ConnectionDetailsFactories` so that callers can now declare if
a result is required or not and improve exception hierarchy.

See gh-35168
2023-04-29 21:10:07 -07:00
Phillip Webb 2b261e6ebd Apply TestTypeExcludeFilter in regular applications
Add `ExcludeFilterApplicationContextInitializer` to register the
`TestTypeExcludeFilter` for regular applications.

Prior to this commit, the filter was only registered using the
`ExcludeFilterContextCustomizerFactory` which meant that test components
were filtered in tests but not when using `SpringApplication.from` with
a test classpath.

Fixes gh-35206
2023-04-29 21:10:02 -07:00
Scott Frederick d913472919 Add Kotlin samples and polish SSL bundle documentation
Closes gh-35105
2023-04-28 14:31:01 -05:00
Andy Wilkinson ce7bf0d0af Merge branch '3.0.x'
Closes gh-35197
2023-04-28 18:06:37 +01:00
Andy Wilkinson 4581c25e20 Merge branch '2.7.x' into 3.0.x
Closes gh-35196
2023-04-28 18:06:12 +01:00
Andy Wilkinson de2df9311c Test Gradle plugin against Gradle 8.1.1
Closes gh-35195
2023-04-28 18:05:06 +01:00
Andy Wilkinson 09527995d1 Polish 2023-04-28 17:56:12 +01:00
Andy Wilkinson a75f55aaa5 Try to stabilize SQL Server tests on CI 2023-04-28 14:07:50 +01:00
Moritz Halbritter 4131e7338d Fix LogMessage format 2023-04-28 13:46:57 +02:00
Moritz Halbritter 75207db6be Polish docker compose code 2023-04-28 13:46:57 +02:00
Moritz Halbritter 8abebd75fb Use shutdownHandlers parameter in constructor 2023-04-28 13:46:56 +02:00
Moritz Halbritter 176cc20c36 Polish FlywayConfiguration 2023-04-28 13:15:39 +02:00
Moritz Halbritter 27ab98b49d Polish ConnectionDetailsFactories 2023-04-28 13:15:39 +02:00
Andy Wilkinson cec159110d Do not block indefinitely when querying SQL database 2023-04-28 09:52:27 +01:00
Andy Wilkinson d7da77bda8 Remove support for service connections to InfluxDB
Closes gh-35189
2023-04-28 09:49:39 +01:00
Scott Frederick 428434c873 Polish SslOptions usage
Change getter methods to return arrays, as this is how most client
library usages need the options.

See gh-34814
2023-04-27 16:37:46 -05:00
Scott Frederick 226c3005d4 Add SSL bundle support to Redis auto-configuration
Update Redis auto-configuration with Lettuce and Jedis drivers to
allow SSL configuration with an SSL bundle.

Closes gh-34815
2023-04-27 15:24:55 -05:00
Andy Wilkinson 8bbe894665 Add Docker Compose service connection support for Oracle using JDBC
Closes gh-35145
2023-04-27 11:07:53 +01:00
Andy Wilkinson 5e73047164 Align SQL Server-related class names with existing precedents
Closes gh-35181
2023-04-27 10:33:25 +01:00
Andy Wilkinson 1e785e81f8 Add Docker Compose support for Oracle Database using R2DBC
Closes gh-35143
2023-04-27 10:33:25 +01:00
Andy Wilkinson 8fd36d04e1 Improve MsSqlServerR2dbcDockerComposeConnectionDetailsFactory tests
See gh-35144
2023-04-27 09:31:25 +01:00
Andy Wilkinson 963da20493 Reinstate dependency management for io.r2dbc:r2dbc-mssql
Closes gh-35159
2023-04-27 09:31:25 +01:00
Andy Wilkinson b5178afa21 Add Docker Compose support for MS SQL Server using JDBC
Closes gh-35146
2023-04-27 09:31:24 +01:00
Andy Wilkinson 9a0b5e0178 Merge branch '3.0.x'
Closes gh-35173
2023-04-26 12:48:50 +01:00
Andy Wilkinson 7ee1622995 Merge branch '2.7.x' into 3.0.x
Closes gh-35172
2023-04-26 12:48:16 +01:00
Andy Wilkinson b03f1e47d0 Merge branch '3.0.x'
Closes gh-35171
2023-04-26 12:10:34 +01:00
Andy Wilkinson d6e3db9c36 Merge branch '2.7.x' into 3.0.x
Closes gh-35170
2023-04-26 11:59:19 +01:00
Andy Wilkinson 6b9bc012a5 Check that BPP and BFPP bean methods won't cause eager initialization
Closes gh-35164
2023-04-26 11:47:03 +01:00