Commit Graph

3750 Commits (39cf17ed815b1ca6cdc9278744900ca059a5ab39)

Author SHA1 Message Date
Stephane Nicoll e94a1f7988 Replace outcome of JsonMixins scanning in AOT optimized contexts
This commit adds an AOT contribution that replaces the scanning of
@JsonMixin by a mapping in generated code. This makes sure that such
components are found in a native image.

Closes gh-32567
2 years ago
Andy Wilkinson 5199ffe6a9 Allow auto-configured Rabbit Stream Environment to be customized
Closes gh-32580
2 years ago
Andy Wilkinson 0ae7e935c3 Allow user to replace auto-configured Data JDBC beans
Closes gh-32571
2 years ago
Andy Wilkinson e6568596b9 Make max header size config consistent across web servers
Closes gh-29382
2 years ago
Andy Wilkinson 4f86f685c5 Reinstate support for Infinispan
Closes gh-32556
2 years ago
Phillip Webb e0b67889a8 Use Stream.toList instead of Stream.collect when possible
Update code to make use of `Stream.toList()` whenever possible.

Closes gh-28177
2 years ago
Andy Wilkinson 803d353d49 Fix formatting of R2dbcDataAutoConfiguration
See c2b8d3d.
2 years ago
Stephane Nicoll c2b8d3de21 Declare beans that can be instantiated at build-time static
This commit updates the bean factory methods for beans that can be
instantiated at build-time to be static. Doing so makes sure that
the enclosing configuration class does not have to be resolved in
order to create the instance.

Closes gh-32570
2 years ago
Andy Wilkinson 51df7813a5 Remove code deprecated in 2.x and add since and forRemoval attributes
Closes gh-32548
Closes gh-32549
2 years ago
Andy Wilkinson 0bfa9cd704 Upgrade to Logback 1.4 and SLF4J 2.0
Closes gh-12649
2 years ago
Andy Wilkinson 7d583939ff Auto-configure stream template and env irrespective of listener type
Closes gh-32477
2 years ago
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
2 years ago
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
2 years ago
Scott Frederick f9c341c75a Revert "Generate the AutoConfiguration.imports file from annotations"
This reverts commit da4de7d67d.
2 years ago
Andy Wilkinson 2977373505 Polish "Add property to configure Spring Session Redis repository type"
See gh-32205
2 years ago
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
2 years ago
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
2 years ago
dreis2211 bac7d62476 Fix Spring Batch deprecations
See gh-32419
2 years ago
Andy Wilkinson 2b3ef96156 Merge branch '2.7.x'
Closes gh-32407
2 years ago
Andy Wilkinson a800f7d77c Merge branch '2.6.x' into 2.7.x
Closes gh-32406
2 years ago
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
2 years ago
Phillip Webb db89ee6904 Deprecate spring.mvc.ignore-default-model-on-redirect property
Closes gh-32381
2 years ago
Stephane Nicoll bcb5f048d2 Upgrade to Liquibase 4.16.0
Closes gh-32354
2 years ago
Andy Wilkinson 6d2a1d3f3b Adapt to breaking changes in Batch's transaction management
See gh-32237
2 years ago
Stephane Nicoll d4a88041dc Upgrade to R2DBC Bom Borca-SR2
Closes gh-32328
2 years ago
Andy Wilkinson c6990a34f9 Merge branch '2.7.x' 2 years ago
Andy Wilkinson a533f4fa32 Polish 2 years ago
Andy Wilkinson 4e8e5f623b Adapt to recent deprecations in Spring Batch
See gh-32237
2 years ago
Phillip Webb aa62e3d1bd Fix deprecation issues in WebMvcAutoConfigurationTests 2 years ago
Phillip Webb fc279b7083 Deprecate ThemeResolver auto-configuration
Update `WebMvcAutoConfiguration` to deprecate the `ThemeResolver` bean
to align with recent Spring Framework changes.
2 years ago
Andy Wilkinson aafceb3868 Merge branch '2.7.x'
Closes gh-32285
2 years ago
Andy Wilkinson f17df7bf30 Merge branch '2.6.x' into 2.7.x
Closes gh-32284
2 years ago
Andy Wilkinson 23c2f73b3f Update tests to allow them to run on Java 19
Closes gh-32280
2 years ago
Phillip Webb 46be4a3f30 Merge branch '2.7.x' 2 years ago
Phillip Webb e88a682220 Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb 85697ac482 Update copyright year of changed files 2 years ago
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
2 years ago
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.
2 years ago
Andy Wilkinson 5470a6b349 Call FlywayConfigurationCustomizers after applying all other config
Closes gh-32070
2 years ago
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
2 years ago
Stephane Nicoll ec63a981d0 Merge branch '2.7.x'
Closes gh-32248
2 years ago
Stephane Nicoll 2fb257ad22 Merge branch '2.6.x' into 2.7.x
Closes gh-32247
2 years ago
Stephane Nicoll 19c69ff743 Polish "Add support for detecting .yml Hazelcast config files"
See gh-32142
2 years ago
Neil Stevenson 5eaafdee9a Add support for detecting .yml Hazelcast config files
See gh-32142
2 years ago
Stephane Nicoll 9fb0ecdae9 Merge branch '2.7.x'
Closes gh-32246
2 years ago
Stephane Nicoll 960b034875 Polish "Make sure Hazelcast shutdown logs are available"
See gh-32184
2 years ago
Łukasz Dziedziul 24f3b2b1b7 Make sure Hazelcast shutdown logs are available
See gh-32184
2 years ago
Johnny Lim 2273191c03 Polish
See gh-32215
2 years ago
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
2 years ago
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
2 years ago