Commit Graph

3752 Commits

Author SHA1 Message Date
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
Moritz Halbritter 0cc0b48a67 Add runtime hints for freemarker
Registers reflection hints for the FreeMarkerTemplateAvailabilityProperties
class.

Closes gh-32052
2022-08-23 09:23:42 +02:00
Moritz Halbritter 7a8d7a9cd9 Polish TemplateAvailabilityProviders 2022-08-23 09:20:29 +02:00
Stephane Nicoll d637fe37cc Merge branch '2.7.x'
Closes gh-32146
2022-08-23 07:25:57 +02:00
Stephane Nicoll 7a91fa90d5 Merge branch '2.6.x' into 2.7.x
Closes gh-32145
2022-08-23 07:25:45 +02:00
Stephane Nicoll 7f2d4fceec Polish "Allow Netty default leak detection to be overidden"
See gh-32144
2022-08-23 07:20:49 +02:00
Russell You 51f2e40c69 Allow Netty default leak detection to be overidden
See gh-32144
2022-08-23 07:12:24 +02:00
Stephane Nicoll 639f980876 Avoid proxy on Validator in ValidationAutoConfiguration
Closes gh-32134
2022-08-22 14:44:18 +02:00
Stephane Nicoll e3ddb54cb8 Adapt JPA auto-configuration to PersistenceManagedTypes
This commit exposes a PersistenceManagedTypes bean with the entities
to consider in a typical auto-configuration scenario. This allows the
result of the scanning to be optimized AOT, if necessary.

Closes gh-32119
2022-08-19 16:17:44 +02:00
Stephane Nicoll f2f5bae314 Add native hints for default LDIF file
Closes gh-32084
2022-08-18 15:31:58 +02:00
Stephane Nicoll 4823b8ef7b Merge branch '2.7.x'
Closes gh-32104
2022-08-17 13:33:33 +02:00
Stephane Nicoll 3fcfcc4a3b Merge branch '2.6.x' into 2.7.x
Closes gh-32103
2022-08-17 13:33:24 +02:00
Stephane Nicoll 3b01325c6b Use asList consistently
Closes gh-32102
2022-08-17 13:32:36 +02:00
Stephane Nicoll d6f6bcb770 Polish "Add socketKeepAlive configuration property for Elasticsearch"
See gh-32051
2022-08-17 08:25:51 +02:00
puppylpg 122d40a110 Add socketKeepAlive configuration property for Elasticsearch
See gh-32051
2022-08-17 08:25:39 +02:00
Andy Wilkinson 8e3346c24f Catch exception that's thrown on Java 11 and later
See gh-32034
2022-08-10 11:20:33 +01:00
Andy Wilkinson 889c40355c Tolerate Flyway 9
Closes gh-32034
2022-08-09 17:50:47 +01:00
Andy Wilkinson c6872e57a9 Remove support for Flyway 8.x and earlier
Closes gh-32036
2022-08-09 15:38:16 +01:00
Andy Wilkinson ba93e6c0ed Restore support for Jersey
Closes gh-28637
2022-08-08 15:45:20 +01:00
Madhura Bhave 0991bd3983 Harmonize data configuration
Any classes that rely on Spring Data being on the classpath
have been moved under a data package.

Certain configuration properties have also been updated to
accurately reflect whether Spring Data is required for the
auto-configuration to work.

Closes gh-11574
2022-08-05 13:32:25 -07:00
Andy Wilkinson 2f0dfc341c Merge branch '2.7.x'
Closes gh-31972
2022-08-03 15:20:34 +01:00
Andy Wilkinson 700460c322 Merge branch '2.6.x' into 2.7.x
Closes gh-31971
2022-08-03 14:58:07 +01:00
Andy Wilkinson fa73b73898 Fail build on missing configuration property descriptions
Closes gh-31916
2022-08-03 14:45:42 +01:00
Johnny Lim 6a4681baf5 Polish
See gh-31948
2022-08-02 15:14:23 +02:00
Brian Clozel 38f1bc9793 Reinstate Spring for GraphQL auto-configuration
This commit adds the Spring for GraphQL auto-configuration back
into Spring Boot 3.0, now that a 1.1.0 release is scheduled with the
required baseline. This release also needs GraphQL Java 19.0 as a
baseline.

Closes gh-31809
2022-08-01 14:33:25 +02:00
Stephane Nicoll 0e9f8a5994 Merge branch '2.7.x'
Closes gh-31922
2022-07-29 14:47:20 +02:00
Stephane Nicoll 4806881716 Merge branch '2.6.x' into 2.7.x
Closes gh-31921
2022-07-29 14:35:15 +02:00
Stephane Nicoll 3a5b40645a Restore support for C3P0
Closes gh-31920
2022-07-29 14:07:59 +02:00
Phillip Webb 22144987e9 Update copyright year of changed files 2022-07-29 12:10:03 +01:00
Andy Wilkinson 44beb11d38 Merge branch '2.7.x'
Closes gh-31915
2022-07-29 07:06:30 +01:00
Andy Wilkinson 6d279abe21 Merge branch '2.6.x' into 2.7.x
Closes gh-31914
2022-07-29 07:06:09 +01:00
Andy Wilkinson d39e146a7d Polish "Allow config prop annotation processor to find reactive cookie props"
See gh-31912
2022-07-29 07:05:21 +01:00
Kalpesh 1f0d5f1130 Allow config prop annotation processor to find reactive cookie props
See gh-31912
2022-07-29 07:05:21 +01:00
Phillip Webb 57e967576e Adapt to upstream Spring Framework AOT changes 2022-07-27 21:44:18 +01:00
Andy Wilkinson a4bafa88bc Disable schema validation when testing against Hazelcast 3
We have hazelcast configuration files that are used with multiple
versions of Hazelcast. Version 3's scheme doesn't allow us to set
<auto-detection enabled="false" />. To work around this, we
configure a system property that causes Hazelcast to disable schema
validation.

See gh-38163
2022-07-27 18:29:54 +01:00
Stephane Nicoll fdb1ee5f97 Adapt to deprecations in Spring Framework
See https://github.com/spring-projects/spring-framework/issues/27954
See gh-29699
2022-07-27 18:18:09 +02:00
Stephane Nicoll aac3ccf59c Adapt to deprecations in Spring Framework
See https://github.com/spring-projects/spring-framework/issues/27780
2022-07-27 17:47:02 +02:00
Stephane Nicoll c413f9adbe Merge branch '2.7.x'
Closes gh-31884
2022-07-27 09:23:39 +02:00
Stephane Nicoll 53a652ec65 Merge branch '2.6.x' into 2.7.x
Closes gh-31883
2022-07-27 09:23:05 +02:00
Stephane Nicoll 9cb614c626 Migrate Hazelcast 3 sanity tests to Hazelcast 4
Closes gh-31881
2022-07-27 09:09:35 +02:00
Stephane Nicoll 59139e632b Polish "Disable auto-detection in tests that start Hazelcast"
See gh-31863
2022-07-27 08:30:17 +02:00
Adrian Bob aad9c8906a Disable auto-detection in tests that start Hazelcast
This commit updates test configurations to disable auto-detection of
Hazelcast instances.

See gh-31863
2022-07-27 08:16:48 +02:00
Stephane Nicoll 782e3f75b6 Polish Hazelcast configuration
This commit updates the XSD to 4.2 and removes the "tcp-ip" network
option as it is disabled by default.

See gh-31863
2022-07-27 08:15:53 +02:00
Madhura Bhave aac1829106 Make Batch auto-configuration back-off is spring-jdbc isn't present
See gh-29487
2022-07-26 15:11:00 -07:00
Madhura Bhave 2804c84648 Adapt to spring-jdbc being required by Spring Batch
Closes gh-29487
2022-07-26 14:03:22 -07:00
Phillip Webb 7377d85096 Merge branch '2.7.x'
Closes gh-31866
2022-07-26 12:18:14 +01:00
Phillip Webb a4ef6a7c5c Merge branch '2.6.x' into 2.7.x
Closes gh-31865
2022-07-26 12:13:16 +01:00
Phillip Webb f8412847dc Update copyright year for "Fix typos in code and documentation"
See gh-31734
2022-07-26 12:08:30 +01:00
Marc Wrobel dbfc6bded4 Fix typos in code and documentation
See gh-31734
2022-07-26 12:08:07 +01:00
Andy Wilkinson 0980362a88 Merge branch '2.7.x'
Closes gh-31843
2022-07-22 12:20:17 +01:00
Andy Wilkinson 64dcfe520d Merge branch '2.6.x' into 2.7.x
Closes gh-31842
2022-07-22 12:15:39 +01:00
Andy Wilkinson a1443d1cdc Enforce ordering in additional-spring-configuration-metadata.json files
Closes gh-31575
2022-07-22 12:09:58 +01:00
Madhura Bhave 4057dd198b Change preference of session store implementations
The order has been determined based on usage statistics.

Closes gh-27756
2022-07-20 15:36:52 -07:00
Andy Wilkinson 4bd82bb5af Polish "Upgrade to Flyway 9.0.1"
See gh-31723
2022-07-20 15:44:01 +01:00
Vedran Pavic f1bf80f5e1 Upgrade to Flyway 9.0.1
See gh-31723
2022-07-20 15:44:00 +01:00
Andy Wilkinson 2814175505 Polish "Add auto-configuration for JdkClientHttpConnector"
See gh-31709
2022-07-20 12:18:50 +01:00
lihan e16734f937 Add auto-configuration for JdkClientHttpConnector
See gh-31709
2022-07-20 12:16:14 +01:00
Stephane Nicoll c31ad5f175 Merge branch '2.7.x'
Closes gh-31802
2022-07-20 09:52:51 +02:00
Stephane Nicoll 6469a02c35 Merge branch '2.6.x' into 2.7.x
Closes gh-31801
2022-07-20 09:52:41 +02:00
Stephane Nicoll 585a57be76 Update copyright year of changed file
See gh-31798
2022-07-20 09:45:57 +02:00
aoyvx abe938eb2c Use Bean ClassLoader consistently to resolve class names
See gh-31798
2022-07-20 09:45:33 +02:00
Moritz Halbritter c67876f913 Add resource hints for schema and data scripts
This only registers the default locations, not the one users can provide
via 'spring.sql.init.schema-locations' and
'spring.sql.init.data-locations'.

Closes gh-31533
2022-07-20 09:15:50 +02:00
Andy Wilkinson 62ec5c19de Remove temporary workaround for deprecations in Spring Batch
TaskExecutorJobLauncher has been improved so that its inherited
methods are no longer deprecated.

See gh-31623 and b599bfe5ac
2022-07-19 17:59:58 +01:00
Andy Wilkinson 0f7079a05a Add missing auto-config to Elasticsearch reactive repo tests
See 5c057a2730
2022-07-19 17:16:30 +01:00
Brian Clozel 7c7a32a568 Auto-configure GraphQL subscription exception handling
Closes gh-31794
2022-07-19 16:53:11 +02:00
Andy Wilkinson 5c057a2730 Auto-configure the new Elasticsearch clients
This commit introduces auto-configuration for the new Elasticsearch
clients that are based upon their new Java client. The new Java
client builds on top of their existing low-level REST client,
replacing the high-level REST client which has been deprecated.
As part of introducing support for the new Elasticsearch client,
the auto-configuration for the templates (both imperative and
reactive) provided by Spring Data has also been updated to use the
new templates that build upon the new Java client.

As part of these changes, support for the high-level REST client and
the old Spring Data Elasticsearch templates has been removed. One
significant change is that the new reactive template is no longer
based on WebClient. As a result, the WebClient-specific configuration
property has been removed.

Closes gh-30647
Closes gh-28597
Closes gh-31755
2022-07-19 15:26:42 +01:00
Moritz Halbritter f9ccfc1e12 Register Encoding on ReflectionHints for binding
Closes gh-31528
2022-07-19 16:22:08 +02:00
Andy Wilkinson b599bfe5ac Temporarily work around deprecations in Spring Batch
See gh-31623
2022-07-19 15:14:34 +01:00
Stephane Nicoll 501472697d Add resource hints for default templates location
Closes gh-31310
2022-07-18 15:14:21 +02:00
Stephane Nicoll f5f3d7cc67 Polish "Add configuration property for RemoteIpValve's trusted proxies"
See gh-31576
2022-07-18 11:58:05 +02:00
lihan 7d6129547f Add configuration property for RemoteIpValve's trusted proxies
See gh-31576
2022-07-18 11:50:52 +02:00
Stephane Nicoll 92b8bcbdac Upgrade to Lettuce 6.2.0.RELEASE
Closes gh-31761
2022-07-15 12:12:21 +02:00
Andy Wilkinson 3405a54f9e Exclude Jetty toolchain dependencies in favor of official API artifacts
Closes gh-31720
2022-07-14 13:55:26 +01:00
Stephane Nicoll 4ae4698093 Polish "Add config property for KafkaAdmin modifyTopicConfigs"
See gh-31679
2022-07-13 16:10:35 +02:00
Michael Kreis 677c05a5b1 Add config property for KafkaAdmin modifyTopicConfigs
See gh-31679
2022-07-13 16:01:33 +02:00
Andy Wilkinson 88ee31c422 Upgrade to R2DBC 1.0
With the 1.0 release of the SPI, R2DBC's bom is no longer published.
This commit updates Spring Boot's dependency management to no longer
use the bom. Tests have also been updated to adapt to slight changes
in R2DBC's configuration options and their default values.

Closes gh-31702
2022-07-13 12:09:56 +01:00
Andy Wilkinson 4bd3534b7d Adapt to change in Security's filtering behavior
Spring Security now filters every dispatch by default and not only
once-per-request. Security configuration has been updated in a number of
places to restore the old behavior as needed for the tests to pass.
gh-31703 has been opened to review this and to investigate if we can
now remove the error page security filter and rely on the filtering of
every dispatch instead.

In addition to switching to once-per-request filtering where needed,
this commit also restructures the configuration of the error page
security filter. The restructuring was necessary to ensure that the
privilege evaluator bean has been defined before the conditions on the
error page security filter are evaluated. Without the change, the filter
was no longer being configured as the privilege evaluator hadn't been
defined before the on bean condition was evaluated. We may want to back
port this change as the ordering doesn't appear to have been defined
before and we were just getting lucky.

See gh-31622
See spring-projects/spring-security#11466
2022-07-13 12:09:46 +01:00
Madhura Bhave d66e108703 Revert actuator changes related to path pattern parsing
See gh-31547
2022-07-12 15:25:41 -07:00
Stephane Nicoll 67b5f42769 Name RuntimeHintsRegistrar implementations consistently
Closes gh-31695
2022-07-12 19:50:26 +02:00
Madhura Bhave 7954f5e566 Adapt to change in default strategy for URL path matching in Spring MVC
Closes gh-31547
2022-07-12 09:59:44 -07:00
Stephane Nicoll a5862dd55d Merge branch '2.7.x'
Closes gh-31691
2022-07-12 14:51:46 +02:00
Stephane Nicoll cb2844d527 Merge branch '2.6.x' into 2.7.x
Closes gh-31690
2022-07-12 14:51:33 +02:00
Stephane Nicoll a368919600 Polish "Fix deprecation metadata for grid-fs-database"
See gh-31689
2022-07-12 14:42:49 +02:00
Felix Scheinost d5e18e61c5 Fix deprecation metadata for grid-fs-database
See gh-31689
2022-07-12 14:42:36 +02:00
Oliver Drotbohm b10c57551c Upgrade to Hibernate 6.1.1.Final
This commit makes the following potentially breaking changes:

- Dependency management for modules that do not exist in Hibernate
  6.1 has been removed.
- Hibernate's modules are now in the org.hibernate.orm group. Users
  not using the starter or using modules that are not in the starter
  will have to update their build configuration accordingly.
- spring.jpa.hibernate.use-new-id-generator-mappings has been removed
  as Hibernate no longer supports switching back to the old ID
  generator mappings.

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>

Closes gh-31674
2022-07-12 09:36:34 +01:00
Andy Wilkinson 03ec079040 Start building against Reactor 2022.0.0-M4 snapshots again
See gh-31609
2022-07-11 18:19:26 +01:00
Andy Wilkinson a5b178657f Revert "Start building against Reactor 2022.0.0-M4 snapshots"
This reverts commit 47993c094b.

Couchbase and Spring Data Couchbase are not compatibile with the
latest Reactor snapshots as they use deprecated API that has now
been removed.

See gh-31609
2022-07-08 18:23:36 +01:00
Andy Wilkinson efc5391496 Adapt to deprecations in Framework's scheduling APIs
See gh-31241
2022-07-08 17:53:55 +01:00