Spring Boot auto-configures both a `JmsTemplate` and a
`JmsMessagingTemplate`. As of Spring Framework 6.2, JMS has
observability support when publishing messages.
This commit creates a bean post-processor that configures an
`ObservationRegistry` on the template, if the registry is present.
Closes gh-37388
This commit updates the base URLs for reference documentations when the
relevant Spring project is now being published with Antora.
This commit updates the following projects:
* Spring Framework
* Spring Integration
* Spring for GraphQL
* Spring Security, including Authorization Server
* Spring Batch
* Spring Data JPA
Closes gh-37428
Previously, the runtime shutdown hook was added as soon as a
shutdown handler was registered. This causes a memory leak in a war
deployment when the application is undeployed as
LoggingApplicationListener always registers a shutdown handler
so the runtime shutdown hook was always registered.
This commit updates the shutdown hook so that the runtime shutdown
hook is only allowed to be added once run() has been called on a
SpringApplication with the shutdown hook enabled. This approach
allows the registerShutdownHook flag on SpringApplication to be a
central point of control for the registration of the runtime shutdown
hook. When that flag is set to false, for example by
SpringBootServletInitializer, the runtime shutdown hook will not
be registered, irrespective of whether other code uses the public
API to add a shutdown handler.
An alternative approach of stopping LoggingApplicationListener from
adding its shutdown handler – for example by adding
logging.register-shutdown-hook=false to the environment – was
considered. This approach was rejected in favor of the centralized
approach described above as it would require every caller that adds
a shutdown handler to deal with the problem.
Closes gh-37096