Commit Graph

3739 Commits

Author SHA1 Message Date
Vedran Pavic 230f2cda84 Migrate to AuthorizationFilter in Spring Security auto-config
This commit updates Servlet based Spring Security auto-configuration
to use AuthorizationFilter, which is intended to supersede
FilterSecurityInterceptor.

See gh-31255
2022-09-22 13:53:54 +01:00
Scott Frederick 08022ba86e Remove support for locating imports using spring.factories
With this commit, loading `@AutoConfiguration`,
`@ImportAutoConfiguration`, and `@ManagementContextConfiguration`
classes is supported with `.imports` files only. Support for loading
these classes with `spring.factories` is removed.

Closes gh-29699
2022-09-21 17:34:51 -05:00
Scott Frederick f9c341c75a Revert "Generate the AutoConfiguration.imports file from annotations"
This reverts commit da4de7d67d.
2022-09-21 14:50:15 -05:00
Andy Wilkinson 2977373505 Polish "Add property to configure Spring Session Redis repository type"
See gh-32205
2022-09-21 17:16:29 +01:00
Vedran Pavic 3093380e35 Add property to configure Spring Session Redis repository type
With Spring Session moving to RedisSessionRepository as the preferred
session repository, Spring Boot auto-configuration should make it
possible to easily switch back to the previous default
(RedisIndexedSessionRepository).

This commit introduces spring.session.redis.repository configuration
property that allows selecting the desired Redis-backed session
repository implementation.

See gh-32205
2022-09-21 17:13:58 +01:00
Andy Wilkinson 64f4da80cb Align with breaking changes in latest Batch snapshots
Batch is now auto-configured to use the context's
PlatformTransactionManager and DataSource or `@BatchDataSource`.
When this does not meet the user's needs, they can use
`@EnableBatchProcessing` or sub-class `DefaultBatchConfiguration` to
take complete control with the auto-configuration backing off.

Closes gh-32330
2022-09-20 15:42:52 +01:00
dreis2211 bac7d62476 Fix Spring Batch deprecations
See gh-32419
2022-09-19 14:31:54 +02:00
Andy Wilkinson 2b3ef96156 Merge branch '2.7.x'
Closes gh-32407
2022-09-16 17:03:34 +01:00
Andy Wilkinson a800f7d77c Merge branch '2.6.x' into 2.7.x
Closes gh-32406
2022-09-16 17:03:13 +01:00
Andy Wilkinson 61e11cd361 Ensure that TCCL is clean when DataSource is accessed
Previously, when using Tomcat, its web app class loader was the thread
context class loader when H2ConsoleAutoConfiguration triggered
initialization of Hikari's pool. This was the case because it's done
in the bean method of a ServletRegistrationBean. Such Servlet-related
beans are intentionally created with Tomcat's web app classloader as
the TCCL. This arrangement results in the pool's threads using
Tomcat's web app class loader as their TCCL which is not desirable.
One consequence of this was that Tomcat could log a warning at
shutdown about the thread being left running when it will, in fact,
be stopped as part of the context being closed.

This commit updates H2ConsoleAutoConfiguration to set the TCCL to its
own ClassLoader while the DataSource information is being logged.

Closes gh-32382
2022-09-16 16:24:57 +01:00
Phillip Webb db89ee6904 Deprecate spring.mvc.ignore-default-model-on-redirect property
Closes gh-32381
2022-09-14 13:49:03 -07:00
Stephane Nicoll bcb5f048d2 Upgrade to Liquibase 4.16.0
Closes gh-32354
2022-09-14 15:56:59 +02:00
Andy Wilkinson 6d2a1d3f3b Adapt to breaking changes in Batch's transaction management
See gh-32237
2022-09-14 10:15:30 +01:00
Stephane Nicoll d4a88041dc Upgrade to R2DBC Bom Borca-SR2
Closes gh-32328
2022-09-14 11:01:19 +02:00
Andy Wilkinson c6990a34f9 Merge branch '2.7.x' 2022-09-14 09:20:37 +01:00
Andy Wilkinson a533f4fa32 Polish 2022-09-14 09:20:13 +01:00
Andy Wilkinson 4e8e5f623b Adapt to recent deprecations in Spring Batch
See gh-32237
2022-09-13 17:44:50 +01:00
Phillip Webb aa62e3d1bd Fix deprecation issues in WebMvcAutoConfigurationTests 2022-09-09 12:52:27 -07:00
Phillip Webb fc279b7083 Deprecate ThemeResolver auto-configuration
Update `WebMvcAutoConfiguration` to deprecate the `ThemeResolver` bean
to align with recent Spring Framework changes.
2022-09-09 12:45:24 -07:00
Andy Wilkinson aafceb3868 Merge branch '2.7.x'
Closes gh-32285
2022-09-09 16:47:06 +01:00
Andy Wilkinson f17df7bf30 Merge branch '2.6.x' into 2.7.x
Closes gh-32284
2022-09-09 16:46:43 +01:00
Andy Wilkinson 23c2f73b3f Update tests to allow them to run on Java 19
Closes gh-32280
2022-09-09 16:46:14 +01:00
Phillip Webb 46be4a3f30 Merge branch '2.7.x' 2022-09-08 19:38:18 -07:00
Phillip Webb e88a682220 Merge branch '2.6.x' into 2.7.x 2022-09-08 19:37:52 -07:00
Phillip Webb 85697ac482 Update copyright year of changed files 2022-09-08 19:36:59 -07:00
Phillip Webb 6e239d551a Update Spring Batch to upstream API changes
Fix Spring Batch tests following upstream changes related to Spring
Batch issue 4130.

Closes gh-32237
2022-09-08 19:35:27 -07:00
Phillip Webb d4ed2bd47a Support import into Eclipse 2022-06
Fix a few issues preventing clean project import into Eclipse 2022-06:

  - `buildSrc` need to limit module imports to prevent clashes
    with those in the gradle API jar.

  - The CLI app needs some classpath changes in order to allow
    compileOnly project dependencies to resolve.

  - `AbstractJpaAutoConfigurationTests` needs some minor refactoring
    in order for generic captures to work with the Eclipse compiler.
2022-09-07 15:56:57 -07:00
Andy Wilkinson 5470a6b349 Call FlywayConfigurationCustomizers after applying all other config
Closes gh-32070
2022-09-07 17:36:37 +01:00
Vedran Pavic 94f42d11e5 Add support for customizing WebJars resource handler path pattern
At present, both Spring MVC and Spring WebFlux auto-configurations
hardcode the path pattern for WebJars resource handlers to
"/webjars/**", which means users are unable to change the path.

This commit introduces "spring.mvc.webjars-path-pattern" and
"spring.webflux.webjars-path-pattern" configuration properties that
allow customization of WebJars resource handler path pattern.

See gh-31769
2022-09-07 11:46:19 +02:00
Stephane Nicoll ec63a981d0 Merge branch '2.7.x'
Closes gh-32248
2022-09-07 09:33:29 +02:00
Stephane Nicoll 2fb257ad22 Merge branch '2.6.x' into 2.7.x
Closes gh-32247
2022-09-07 09:33:17 +02:00
Stephane Nicoll 19c69ff743 Polish "Add support for detecting .yml Hazelcast config files"
See gh-32142
2022-09-07 09:32:53 +02:00
Neil Stevenson 5eaafdee9a Add support for detecting .yml Hazelcast config files
See gh-32142
2022-09-07 09:20:32 +02:00
Stephane Nicoll 9fb0ecdae9 Merge branch '2.7.x'
Closes gh-32246
2022-09-07 09:11:45 +02:00
Stephane Nicoll 960b034875 Polish "Make sure Hazelcast shutdown logs are available"
See gh-32184
2022-09-07 09:07:29 +02:00
Łukasz Dziedziul 24f3b2b1b7 Make sure Hazelcast shutdown logs are available
See gh-32184
2022-09-07 08:53:01 +02:00
Johnny Lim 2273191c03 Polish
See gh-32215
2022-09-07 08:48:08 +02:00
Scott Frederick da4de7d67d Generate the AutoConfiguration.imports file from annotations
This commit adds the `AutoConfigurationImportsAnnotationProcessor` to
the `spring-boot-autoconfigure-processor` annotation processor
module. When added to a project build, the annotation processor will
generate the
`org.springframework.boot.autoconfigure.AutoConfiguration.imports`
file automatically from `@AutoConfiguration`-annotated classes. It
also applies the annotation processor to the Spring Boot build.

Closes gh-31228
2022-09-02 15:10:22 -05:00
Sébastien Deleuze 138c55ee11 Refine ConfigurationPropertiesReflectionHintsProcessor
This commit refines ConfigurationPropertiesReflectionHintsProcessor
Java bean properties handling in order to register reflection hints
only for getters and setters, not for all methods.

It avoids including unconditionally method like SpringApplication#load
which in turn avoids shipping BeanDefinitionLoader and related transitively
used classes in the native image.

The gain is significant: it allows to remove up to 700 classes
(when no XML parser is used elsewhere) and to reduce the memory footprint
by 2M of RSS.

Closes gh-32186
2022-09-01 17:34:22 +02:00
Brian Clozel 4aa1efa2d8 Fix build with latest Spring for GraphQL changes 2022-09-01 11:26:04 +02:00
Phillip Webb c524f8c665 Merge branch '2.7.x' 2022-08-25 11:49:12 -07:00
Phillip Webb 13c0cf7e2a Refine Javadoc to use @AutoConfiguration
See gh-32166
2022-08-25 11:48:07 -07:00
Phillip Webb b2be193908 Merge branch '2.7.x' 2022-08-24 18:13:18 -07:00
Phillip Webb e31c295ee9 Merge branch '2.6.x' into 2.7.x 2022-08-24 18:13:03 -07:00
Phillip Webb adc4e05eff Polish 2022-08-24 18:12:57 -07:00
Phillip Webb a993731ee8 Merge branch '2.7.x'
Closes gh-32168
2022-08-24 17:34:17 -07:00
Phillip Webb 10ded39217 Merge branch '2.6.x' into 2.7.x
Closes gh-32167
2022-08-24 17:33:50 -07:00
Phillip Webb 24c2daa99d Improve javadoc regarding use on @Bean methods
Closes gh-32166
2022-08-24 17:33:08 -07:00
Phillip Webb 6db88e12c8 Polish 'Allow multiple hosts to be set in MongoProperties'
See gh-32125
2022-08-23 20:23:11 -07:00
thegeekyasian e0d40009f3 Allow multiple hosts to be set in MongoProperties
Update `MongoProperties` with an `additional-hosts` property which
can be used to configure MongoDB in a multi-host environment.

See gh-32125
2022-08-23 20:21:16 -07:00