Commit Graph

888 Commits

Author SHA1 Message Date
Andy Wilkinson
dbb24286ff Separate stopping and destruction so web server can be restarted
Previously, when a Servlet-based WebServer was stopped it would also
stop the ServletContext. This led to problems as Tomcat and Undertow
would then not allow a restart. Jetty would allow a restart but
duplicate servlet registrations would then be attempted.

This commit modifies the WebServer lifecycle to separate stopping
and destruction for both servlet and reactive web servers. This
allows a WebServer's stop() implementation to leave some components
running so that they can be restarted. To completely shut down a
WebServer destroy() must now be called.

Both Tomcat and Jetty WebServers have been updated to stop their
network connections when stop() is called but leave other components
running. This works with both servlet and reactive web servers.

Note that an Undertow-based Servlet web server does not support
stop and restart. Once stopped, a Servlet Deployment cannot be
restarted and it does not appear to be possible to separate the
lifecycle of its network connections and a Servlet deployment.

Reactor Netty and Undertow-based reactive web servers can now also
be stopped and then restarted. Calling stop() stops the whole server
but this does not cause a problem as there's no (application-exposed)
ServletContext involved. There may be room to optimize this in the
future if the need arises.

Closes gh-34955
2023-06-26 20:58:59 +01:00
Scott Frederick
47cc65d912 Merge branch '3.1.x'
Closes gh-36056
2023-06-23 16:12:58 -06:00
Scott Frederick
c277517953 Polish "Add SslAutoConfiguration to slice test annotations"
See gh-36038
2023-06-23 16:11:49 -06:00
Eddú Meléndez
321c526bf7 Add SslAutoConfiguration to slice test annotations
`SslAutoConfiguration` has been added to `cassandra`, `couchbase`,
`elasticsearch`, `mongo` and `redis` slice test annotations.

See gh-36038
2023-06-23 15:51:42 -06:00
Andy Wilkinson
357c67a999 Merge branch '3.1.x' 2023-06-23 15:58:51 +01:00
Andy Wilkinson
3f7fe25cb9 Merge branch '3.0.x' into 3.1.x
Closes gh-36044
2023-06-23 15:58:36 +01:00
Andy Wilkinson
2fae5de245 Merge branch '2.7.x' into 3.0.x
Closes gh-36043
2023-06-23 15:50:02 +01:00
Andy Wilkinson
d2966e1cbf Polish "Replace calls to verifyComplete() to avoid indefinite blocking"
See gh-35915
2023-06-23 12:38:12 +01:00
ThomazPassarelli
f9da30faf1 Replace calls to verifyComplete() to avoid indefinite blocking
See gh-35915
2023-06-23 12:16:26 +01:00
Jonatan Ivanov
228b8eb8e4
Polish log correlation docs
Docs related to gh-33280 (log correlation) and
gh-35593 (application name in each log line) need some polishing:
- Fix project names
- Show how to avoid having the application name duplicated in logs
- Call out that a trailing space is needed in the correlation pattern

Closes gh-36035
See gh-33280
See gh-35593
2023-06-22 14:51:02 -07:00
Phillip Webb
493777d3c9 Include the application name on each log line when it is available
Update Logback and Log4J2 so that they include the application name on
each log line. If `spring.application.name` had not been set, or if
`logging.include-application-name` is `false` then the name is not
logged.

Closes gh-35593
2023-06-22 00:40:51 -07:00
Moritz Halbritter
23979e6ccf Enable LoaderIntegrationTests on Java 21 2023-06-15 10:13:19 +02:00
Andy Wilkinson
9b88128e3b Merge branch '3.0.x' into 3.1.x 2023-06-14 18:19:53 +01:00
Andy Wilkinson
4694e20628 Merge branch '2.7.x' into 3.0.x 2023-06-14 18:19:43 +01:00
Andy Wilkinson
7d07c0d09c Polish configuration related to predictive test selection
Most notably, this commit splits the tests that use Spring REST Docs
out into a separate task for which predictive test selection is
disabled. This allows it to be cached and use Gradle's built-in
up-to-date checking, thereby avoiding the generation of new snippets
and the need to then run the asciidoctor and asciidoctorPdf tasks.

It also updates spring-boot-smoke-test-junit-vintage to disable
predictive test selection so that we can continue to assert that
the some tests were executed.

See gh-35869
2023-06-14 18:15:04 +01:00
Moritz Halbritter
8cc428c0b5 Merge branch '3.0.x' 2023-06-07 10:17:49 +02:00
Moritz Halbritter
372af21313 Merge branch '2.7.x' into 3.0.x 2023-06-07 10:17:14 +02:00
Moritz Halbritter
140e806357 Enable LoaderIntegrationTests on Java 20
See gh-35758
2023-06-07 10:16:54 +02:00
Eddú Meléndez
127f852cf9 Polish spring-boot-smoke-test-data-mongo
Remove `@ImportAutoConfiguration(SslAutoConfiguration.class)`, since
`SslAutoConfiguration.class` is already provided as an
auto-configuration with `@SpringBootTest`

See gh-35655
2023-05-30 17:11:53 -05:00
Steve Riesenberg
10feecbd08 Fix redirect to login page for token requests
Fixes an issue where auto-configuration for Spring Authorization Server
was overriding the default exception handling (AuthenticationEntryPoint)
resulting in anonymous requests to the token endpoint being redirected
to the Spring Security login page instead of returning 401 Unauthorized.

Auto-configuration now registers a defaultAuthenticationEntryPointFor
that is added to any other entry points already configured.

See gh-35368
2023-05-10 11:32:06 +02:00
Scott Frederick
1143396531 Add smoke tests to verify Couchbase SSL connections
See gh-34811
2023-05-04 17:09:52 -05:00
Scott Frederick
d4107a8185 Add smoke tests to verify Cassandra SSL connections
See gh-25602
2023-05-04 16:11:28 -05:00
Moritz Halbritter
27169bde8b Merge branch '3.0.x' 2023-05-03 13:07:12 +02:00
Moritz Halbritter
c2dd20f4ea Merge branch '2.7.x' into 3.0.x 2023-05-03 13:07:00 +02:00
Moritz Halbritter
f5eb76074b Disable loader integration tests on aarch64 linux and mac
See gh-35229
2023-05-03 11:32:39 +02:00
Moritz Halbritter
f3d0bc7a99 Disable launch script integration tests on aarch64 linux and mac
See gh-35229
2023-05-03 11:32:33 +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
Scott Frederick
a4b81e4326 Polish smoke tests
See gh-35042
2023-05-02 16:34:56 -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
Phillip Webb
eabce52b93 Fix TestSampleSessionRedisApplication
Update the `@ServiceConnection` annotation to include the
service connection name.

See gh-35168
2023-05-01 22:13:49 -07:00
Stephane Nicoll
f874c027d8 Polish "Fix dependency management for spring-boot-testcontainers"
See gh-35119
2023-04-25 10:08:20 +02:00
Stephane Nicoll
a323bd90a8 Polish "Reintroduce support for ActiveMQ"
See gh-35048
2023-04-19 13:08:14 +02:00
Phillip Webb
5ac48f5f15 Add testcontainers service connection auto-configuration
Add auto-configuration for `Container` beans that are also
annotated with `@ServiceConnection`. This commit allow
testcontainers to be used at development time and a new section
has been added to the documentation to describe the feature.

Closes gh-35022
2023-04-17 00:49:43 -07:00
Phillip Webb
81a972af8d Refactor testcontainers service connections
Update restcontainers service connections support so that
technology specific `@ServiceConnector` annotations are not longer
required.

A single `@ServiceConnector` annotation can now be used to create
all `ConnectionDetail` beans.

Closes gh-35017
2023-04-17 00:45:39 -07:00
Phillip Webb
11dac5b5b7 Create dedicated spring-boot-testcontainers module
Create a dedicated testcontainers module containing the service
connectors code.

Closes gh-34757
2023-04-17 00:42:31 -07:00
Phillip Webb
00dc942e94 Migrate to Spring Security lambda config
Closes gh-35011
2023-04-14 17:39:48 -07:00
Andy Wilkinson
d4980ea993 Always define connection details beans
Closes gh-34776
2023-04-13 18:02:35 +01:00
Phillip Webb
e9a198a68f Merge branch '3.0.x' 2023-04-12 22:16:35 -07:00
Phillip Webb
8d2f550f8c Merge branch '3.0.x' 2023-04-10 21:14:42 -07:00
Phillip Webb
3ba3558cff Merge branch '2.7.x' into 3.0.x 2023-04-10 21:14:34 -07:00
Phillip Webb
3e9a136143 Polish gradle formatting 2023-04-10 21:14:09 -07:00
Phillip Webb
463701db18 Merge branch '3.0.x' 2023-04-10 16:22:57 -07:00
Phillip Webb
d442bfbeff Polish 2023-04-10 16:22:11 -07:00
Phillip Webb
bb80232fbc Merge branch '3.0.x' 2023-04-07 19:19:04 -04:00
Phillip Webb
25e0954b90 Revert "Set correct Eclipse WTP facet version"
This reverts commit d394ad3d3d.
2023-04-07 19:18:57 -04:00
Phillip Webb
d4c9d265ec Merge branch '3.0.x' 2023-04-07 19:04:19 -04:00
Phillip Webb
d394ad3d3d Set correct Eclipse WTP facet version 2023-04-07 19:03:50 -04:00
Stephane Nicoll
f264e3c65e Upgrade to Hibernate 6.2.0.Final
Closes gh-34876
2023-04-06 16:25:23 +02:00