Commit Graph

22718 Commits

Author SHA1 Message Date
Moritz Halbritter
5b129ceb09 Switch reactor context propagation from auto to limited
- Polish
- Fix @since tags
- Add a test case
- Update context-propagation version

Closes gh-34201
2023-10-04 09:37:45 +02:00
Moritz Halbritter
30f29dead8 Revert "Temporarily remove auto-config for Reactor context propagation"
This reverts commit 88de3cc089.

See gh-34201
2023-10-04 09:12:27 +02:00
Phillip Webb
1f5472387d Fix formatting 2023-10-03 20:41:48 -07:00
Phillip Webb
42f50fa292 Attempt to fix CI failures
Attempt to fix CI failures caused by timezone differences and different
JDK versions.

See gh-37668
2023-10-03 20:29:33 -07:00
Phillip Webb
560527945b Add background preinitializers for Tomcat and JDK ZoneId
Closes gh-37670
2023-10-03 17:28:44 -07:00
Phillip Webb
fd9b2b114e Improve Tomcat performance when using nested jars
Add `NestedJarResourceSet` which can be used for nested jar URLs
and unlike the standard Tomcat implementation does not assume that
the JAR is backed by a single file.

Closes gh-37452
2023-10-03 17:27:57 -07:00
Phillip Webb
7ad4a9817d Rewrite nested jar support code and remove Java 8 support
Rewrite nested jar code to better align with the implementations
provided in Java 17. This update makes two fundamental changes to
the previous implementation:

- Resource cleanup is now handled using the `java.lang.ref.Cleaner`

- Jar URLs now use the form `jar:nested:/my.jar/!nested.jar!/entry`

Unlike the previous `jar🫙/my,jar!/nested.jar!/entry` URL format,
the new format is compatible with Java's default Jar URL handler.
Specifically, it now only uses a single `jar:` prefix and it no longer
includes multiple `!/` separators.

In addition to the changes above, many of the ancillary classes have
also been refactored and updated to create cleaner APIs.

Closes gh-37668
2023-10-03 17:27:57 -07:00
Phillip Webb
75ddb9fa47 Fix test failure caused by PropertiesLoader class reference
See gh-37667
2023-10-03 17:27:39 -07:00
Phillip Webb
55b5610dd9 Add Maven and Gradle option for the loader implementation to use
Add properties to the Maven and Gradle plugins so that users can
switch between the two loader modules.

See gh-37669
2023-10-03 15:40:42 -07:00
Phillip Webb
a89057b7c7 Reintroduce spring-boot-loader modules
Restore the `spring-boot-loader` with the previous loader code so
that we can develop it further.

See gh-37669
2023-10-03 15:40:25 -07:00
Phillip Webb
aeb6537f57 Rename spring-boot-loader to spring-boot-loader-classic
Rename the `spring-boot-loader` module to `spring-boot-loader-classic`
so that we can introduce an alternative loader implementation.

See gh-37669
2023-10-03 15:40:04 -07:00
Phillip Webb
c22548982a Relocate launcher classes
Create alternative launcher classes under the package
`org.springframework.boot.loader.launch` and use them in favor
of the previous location.

This update is designed to improve compatibility with future
changes in the loader.

Closes gh-37667
2023-10-03 14:53:04 -07:00
Scott Frederick
f947bad3f7 Merge branch '3.1.x'
Closes gh-37666
2023-10-03 13:18:32 -05:00
Ivo Smid
f2a4336ea1 Increase the socket timeout for remote connections to Docker daemon
The default socket timeout with HttpClient 5 is not long enough
in some cases where Docker images are built that require the
GraalVM native image compiler to run in a buildpack. This commit
increases the timeout to 30 minutes.

Fixes gh-37665

Co-authored-by: Scott Frederick <sfrederick@vmware.com>"
2023-10-03 11:52:48 -05:00
Andy Wilkinson
12108e58e9 Merge branch '3.1.x'
Closes gh-37664
2023-10-03 16:47:11 +01:00
Andy Wilkinson
8cf686d925 Merge branch '3.0.x' into 3.1.x
Closes gh-37663
2023-10-03 16:27:19 +01:00
Andy Wilkinson
6353603d63 Avoid exposing Jetty's WebSocketUpgradeFilter as a bean
When the filter is exposed as a bean (directly or through a
registration bean), it's picked up by the auto-configuration of
MockMvc. This causes a problem as MockMvc does not call init on a
filter before it's used and WebSocketUpgradeFilter fails with a
NullPointerException if its doFilter method is called when its init
method has not been called.

This commit reworks the WebSocket auto-configuration to use a
ServletContextInitalizer to register WebSocketUpgradeFilter rather
than a FilterRegistrationBean. This ensure that the filter is still
registered at the required position in the chain (last filter before
the servlet) while also preventing it from being registered with the
auto-configured MockMvc in tests.

Closes gh-37660
2023-10-03 16:13:24 +01:00
Andy Wilkinson
7d40a45b50 Merge branch '3.1.x'
Closes gh-37662
2023-10-03 11:21:29 +01:00
Andy Wilkinson
a4100e12ff Merge branch '3.0.x' into 3.1.x
Closes gh-37661
2023-10-03 11:05:51 +01:00
Andy Wilkinson
931584f8af Merge branch '2.7.x' into 3.0.x
Closes gh-37659
2023-10-03 10:28:51 +01:00
Johnny Lim
c9932bb73a Use AssertJ's fail, not JUnit's
This commit also updates Checkstyle to prevent use of JUnit's
assertions from being reintroduced.

See gh-37655
2023-10-03 10:11:12 +01:00
Phillip Webb
3d6859e80f Use the term "uber jar" in reference documentation and javadoc
Update reference documentation and javadoc to use the term "uber jar"
rather than "fat jar".

Closes gh-37653
2023-10-02 23:01:34 -07:00
Phillip Webb
932355adbf Polish adoc formatting 2023-10-02 21:18:26 -07:00
Jonatan Ivanov
a454712dea Add auto-configuration for CountedAspect and TimedAspect
See gh-37626
2023-10-02 10:19:59 +02:00
Andy Wilkinson
4493958f13 Improve conditions for enabling WebFlux security
This commit correct a mistake where AuthenticationManager was used
instead of ReactiveAuthenticationManager. It also expands the
conditions so that WebFlux security will be enabled when the user
has defined their own SecurityWebFilterChain. In such a situation
no other security-related beans may be needed to use WebFlux
security as things may have been configured directly using the DSL.

Closes gh-37504
2023-09-30 09:06:00 +01:00
Scott Frederick
ff99de49c4 Configure a RestClient.Builder with RestClientTest
This commit adds support for configuring a `RestClient.Builder` and
`MockRestServiceServer` support for the `RestClient` when using
`@RestClientTest` sliced tests.

Closes gh-37033
2023-09-29 15:07:38 -05:00
Andy Wilkinson
d725914cd5 Merge branch '3.1.x'
Closes gh-37636
2023-09-29 18:36:25 +01:00
Andy Wilkinson
1e4deed8ce Merge branch '3.0.x' into 3.1.x
Closes gh-37635
2023-09-29 18:36:09 +01:00
Andy Wilkinson
458418be29 Automatically register reflection hints for scanned WebListeners
Closes gh-36008
2023-09-29 18:09:36 +01:00
Andy Wilkinson
426e31695f Merge branch '3.1.x' 2023-09-29 15:14:32 +01:00
Andy Wilkinson
385e6278b7 Merge branch '3.0.x' into 3.1.x 2023-09-29 15:14:17 +01:00
Andy Wilkinson
26b9602596 Merge branch '2.7.x' into 3.0.x 2023-09-29 15:14:09 +01:00
Andy Wilkinson
0205b875a0 Polish 2023-09-29 15:13:58 +01:00
Andy Wilkinson
76eb5ba8c2 Merge branch '3.1.x'
Closes gh-37633
2023-09-29 15:02:19 +01:00
Andy Wilkinson
c4bccb2429 Merge branch '3.0.x' into 3.1.x
Closes gh-37632
2023-09-29 14:59:06 +01:00
Andy Wilkinson
04054b6670 Merge branch '2.7.x' into 3.0.x
Closes gh-37631
2023-09-29 14:58:52 +01:00
Andy Wilkinson
bfd1a29e53 Exclude AbstractTransactionAspect from lazy init
Fixes gh-37506
2023-09-29 14:16:27 +01:00
Andy Wilkinson
3e9a1cc1f8 Add Awaitility to spring-boot-starter-test
Closes gh-37195
2023-09-29 11:50:05 +01:00
Andy Wilkinson
6d3594db49 Add execution listeners to auto-configured transaction managers
Closes gh-36770
2023-09-29 09:54:04 +01:00
Andy Wilkinson
1a22415c01 Expand customization to any type of TransactionManager
Closes gh-37628
2023-09-29 09:54:03 +01:00
Andy Wilkinson
96986a6b51 Break cycle between TransactionManagerCustomizers and TransactionManager
Closes gh-36801
2023-09-29 09:53:34 +01:00
Moritz Halbritter
72a4e1ebae Honor timeout in ZipkinWebClientSender
Unfortunately there's no good way to configure connect and read timeout
separately, which works for all supported reactive clients. This
implementation applies a timeout through Reactor's timeout method. The
timeout from the properties is summed together and this is the applied
timeout. While not perfect, this is better than no timeout at all.

Closes gh-31496
2023-09-29 10:05:29 +02:00
Scott Frederick
619a0f3b35 Merge branch '3.1.x'
Closes gh-37624
2023-09-28 16:32:45 -05:00
JinseongHwang
0b703f9007 Use consistent capitalization in MySQL and MariaDB test names
See gh-37497
2023-09-28 16:28:32 -05:00
Scott Frederick
228041666b Merge branch '3.1.x'
Closes gh-37622
2023-09-28 16:11:31 -05:00
Scott Frederick
fad43adf14 Polish "Support IPv6 addresses when configuring RabbitMQ using properties"
See gh-37619
2023-09-28 16:07:25 -05:00
csk8167
c1972f6db6 Support IPv6 addresses when configuring RabbitMQ using properties
See gh-37619
2023-09-28 16:06:39 -05:00
Andy Wilkinson
bebca55a8f Add testAndDevelopmentOnly configuration
Closes gh-35436
2023-09-28 13:24:34 +01:00
shin-mallang
8eac7a91f6 Remove duplicate code in NettyWebServerFactoryCustomizer
Since the PropertyMapper's alwaysApplyingWhenNonNull() has already been
called, the subsequent whenNonNull() is unnecessary.

See gh-37434
2023-09-28 09:51:51 +02:00
Sreekara Reddy
8fad59466c Don't call setValidateConnectionOnBorrow on Oracle UCP datasource
See gh-37501
2023-09-28 09:10:59 +02:00