In Spring Framework 5.x with Jetty 9, the reactive
JettyRequestUpgradeStrategy was able to initialize Jetty's WebSocket
infrastructure itself. With Jetty 10 this is no longer possible and
Boot must perform the initialization as part of preparing the
reactive JettyWebServer.
This commit updates the reactive WebSocket auto-configuration to
initialize Jetty's WebSocket infrastructure as part of creating the
reactive JettyWebServer.
Fixes gh-33347
Gradle 7.3.3 does not support Java 20 so the test that verifies that
the plugin fails fast when running on a version of Gradle that it
does not support needs to be disabled on Java 20 and later.
See gh-35931
Using `@EnableBatchProcessing` is no longer necessary to enable
Batch's auto-configuration so it's no longer a good example when
discussing sliced tests and user configuration.
This commit replaces `@EnableBatchProcessing` with an alternative
annotation, `@EnableMongoAuditing` and updates the accompanying
text.
Closes gh-33435
Support custom Log4J2 log levels by changing `LoggerConfiguration` so
that it can now report levels using a `LevelConfiguration` object
rather than the limited `LogLevel` enum.
The `Log4J2LoggingSystem` class now uses `LevelConfiguration.ofCustom`
for custom logging levels, rather than throwing an exception.
The `LoggersEndpoint` has also been updated so that it can return the
custom logger name.
Fixes gh-35227
When Hazelcast is started on a fixed port and that port is already in
use, it does not fail to start which makes the problem hard to
detect. A symptom of the problem is that clients will not be able to
connect and will either retry indefinitely or will timeout depending
on their configuration.
This commit updates the Hazelcast client tests to start the Hazelcast
instance on an ephemeral port and to customize the client
configuration with the instance's address before use. This should
allow the client tests to work reliably in an environment where
Hazelcast's default port is already in use.
Closes gh-35903
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
* Add an OpenID Connect login client example
* Update redirect-uri examples to match Security docs and not require
any customization
* Update client-authentication-method for Spring Security 6 usage
* Update provider configuration example to align with Spring
Authorization Server
* Format Java DSL according to Spring Security docs
* Use Kotlin DSL
* Update redirection endpoint base uri example to use ant pattern
See gh-35679
Previously, if a `@ConfigurationProperties`-annotated `@Bean` method
returned a type that looked like it could be constructor bound, the
registered runtime hints were incorrect. With only the bean's class
to work with, the hints registrar would incorrectly determine that
the type would be constructor bound and would not register the hints
required for Java bean binding.
This commit updates the registrar to allow the caller to provide a
Bindable which knows both what should be bound and how it should be
bound, thereby allowing the registrar to generate the correct hints.
The tests for the AOT processor have also been updated to remove
duplication of the tests in BindableRuntimeHintsRegistrarTests and
to focus on the contribution creating Bindable instances with the
bind method that is required to produce the correct reflection hints.
Closes gh-35564
Co-authored-by: Phillip Webb <pwebb@vmware.com>
There were several tests in CPBFIAPT that were duplicating tests in
BindableRuntimeHintsRegistrarTests. To test the AOT processor, all
that is really necessary is to assert that the expected types are
found and passed to BindableRuntimeHintsRegistrar. The tests for
BindableRuntimeHintsRegistrar are then responsible for asserting
that the expected hints are generated for the various different
types.
Closes gh-35645
Add `WelcomePageNotAcceptableHandlerMapping` which will return
an HTTP 406 status if a suitable welcome page is found but
cannot be accepted for the request.
An additional mapper is used so that we don't need to change
the order of the `WelcomePageHandlerMapping`. It's possible
that users may have additional root handler mappings
registered to run after the `WelcomePageHandlerMapping`
and we still need to respect those.
Fixes gh-35552
Update `ReporterConfiguration` so that `spanReporter` back off
if a `Reporter` bean is defined. Prior to this commit, only
`AsyncReporter` beans would be considered.
See gh-35455