Commit Graph

29165 Commits

Author SHA1 Message Date
Andy Wilkinson 23afd55dc6 Create spring-boot-reactor-netty module 2025-05-14 11:42:14 +01:00
Andy Wilkinson 08f242a23c Create spring-boot-jetty module 2025-05-14 11:42:14 +01:00
Andy Wilkinson a2748e9927 Create spring-boot-undertow module 2025-05-14 11:42:13 +01:00
Andy Wilkinson 30babc0d03 Move Tomcat auto-configuration into spring-boot-tomcat 2025-05-14 11:42:12 +01:00
Andy Wilkinson 036c90b044 Move tests that use Tomcat out of spring-boot-all 2025-05-14 11:42:11 +01:00
Andy Wilkinson 8e4279fc3d Move tests that use Tomcat out of spring-boot-test 2025-05-14 11:42:10 +01:00
Andy Wilkinson 909dbd0cb4 Start splitting up spring-boot-autoconfigure 2025-05-14 11:42:10 +01:00
Andy Wilkinson 471f4201bc Create beginnings of spring-boot-tomcat module 2025-05-14 11:42:08 +01:00
Andy Wilkinson 489af2e7d4 Start splitting up spring-boot 2025-05-14 11:42:07 +01:00
Phillip Webb 9015aa8ea9 Reduce number of test dependencies
Reduce the number of direct test dependencies and instead rely on
transitive test support dependencies.
2025-05-14 11:42:06 +01:00
Phillip Webb 1dd6814ffd Add useful transitive dependencies to spring-boot-test-support
Add more `api` dependencies to `spring-boot-test-support` to reduce
the number of test dependencies needing in sub-modules.
2025-05-14 11:42:06 +01:00
Phillip Webb 33cdd29dda Split up BackgroundPreinitializer
Issue: 44065
2025-05-14 11:42:00 +01:00
Andy Wilkinson e530e945d2 Move WebServer-specific properties out of ManagementServerProperties
Issue: 44324
2025-05-14 11:41:26 +01:00
Andy Wilkinson 9c6761706b Move server-specific properties out of ServerProperties
Issue: 44064
2025-05-14 11:41:26 +01:00
Andy Wilkinson d6d24d42b0 Repackage web server classes
Issue: 44286
Issue: 44067
2025-05-14 11:41:25 +01:00
Andy Wilkinson ae83eae44c Move server-specific knowledge out of general child context creation
Issue: 44200
2025-05-14 11:41:24 +01:00
Andy Wilkinson 04aa56784a Move JerseyApplicationPath into a Jersey-specific package
Issue: 44066
2025-05-14 11:41:23 +01:00
Andy Wilkinson 0b12cebff4 Fix warnings reported in Eclipse 2025-05-14 11:37:07 +01:00
Andy Wilkinson 379b2ceb56 Fix Eclipse warnings caused by deprecation of Jackson 2 support
See gh-45535
2025-05-14 11:37:07 +01:00
Yanming Zhou e723dffb97 Remove FILE_LOG_PATTERN property from console-only log4j2.xml
See gh-45509

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2025-05-14 11:48:21 +02:00
Phillip Webb 02ee7fdb30 Suppress Jackson 2 warnings
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:22], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:22], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
See gh-45535
2025-05-13 11:42:25 -07:00
Olga Maciaszek-Sharma 5bdb0ecbb4 Improve HttpServiceClientAutoConfiguration conditions
See gh-18366

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2025-05-13 08:23:21 -07:00
Stéphane Nicoll 2ae354d6ec Polish "Remove outdated Session's Cookie override"
Closes gh-45523
2025-05-13 17:03:45 +02:00
Stéphane Nicoll 083b49030e Remove outdated Session's Cookie override
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:22], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:22], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Closes gh-45523
2025-05-13 16:28:38 +02:00
Yanming Zhou 658764bfd8 Polish MetricsAutoConfiguration
Align `meterRegistryPostProcessor` with `meterRegistryCloser`, the
`@Bean` method shouldn't be public if the return type is not public.

See gh-45521

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2025-05-13 16:18:25 +02:00
Yanming Zhou 1325429e5e Polish PrometheusProperties
See gh-45503

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2025-05-13 16:14:52 +02:00
Stéphane Nicoll 1dfa5c721c Upgrade to Tomcat 11.0.7
Closes gh-45533
2025-05-13 15:58:00 +02:00
Stéphane Nicoll 84578d12a7 Upgrade to Micrometer Tracing 1.5.0
Closes gh-45532
2025-05-13 15:52:09 +02:00
Stéphane Nicoll f866339e2a Upgrade to Micrometer 1.15.0
Closes gh-45531
2025-05-13 15:52:05 +02:00
Stéphane Nicoll f3f6152502 Upgrade to Jetty 12.0.21
Closes gh-45530
2025-05-13 15:52:01 +02:00
Stéphane Nicoll 19d0af9d2d Upgrade to Jakarta Validation 3.1.1
Closes gh-45529
2025-05-13 15:51:57 +02:00
Stéphane Nicoll c19fa8062e Upgrade to Hibernate 7.0.0.CR1
Closes gh-45528
2025-05-13 15:51:53 +02:00
Stéphane Nicoll 7393418a36 Upgrade to Couchbase Client 3.8.1
Closes gh-45527
2025-05-13 15:51:49 +02:00
Stéphane Nicoll 7bb00396a1 Upgrade to Commons Logging 1.3.5
Closes gh-45526
2025-05-13 15:51:45 +02:00
Stéphane Nicoll 2a7dcd0eb7 Switch to task for dependency upgrades
Closes gh-45525
2025-05-13 15:47:57 +02:00
Stéphane Nicoll d8a9db534f Apply ConfigurationPropertySource where possible
See gh-18366
2025-05-13 13:42:55 +02:00
Stéphane Nicoll b3f35baed3 Add metadata support for types in arbitrary modules
Previously, if a ConfigurationProperties had a nested type or was
extending from a type located outside the compilation unit, no
metadata discovered on the source code was available (documentation and
explicit default value, if any). This typically happens when such a type
resides in another module.

This commit introduces `@ConfigurationPropertiesSource` as a way to
annotate such type and have metadata generated for them in their own
module.

Type-metadata is generated as one file per type and is reused
transparently whenever that type is used. As for module metadata, an
additional file can be crafted manually and will be merged when the
metadata for the type is generated.

The following is an example structure with two types where one has
an additional metadata:

META-iNF/
  spring/
    configuration-properties/
      additional/
        com.example.SourceOne.json
      com.example.SourceOne.json
      com.example.SourceTwo.json

Those files are used only by the annotation processor and are not meant
to be public API.

See gh-18366
2025-05-13 13:42:55 +02:00
Stéphane Nicoll 2fa8d38aa7 Move web-specific FailureAnalyzer to a more focused package
This commit moves PortInUseFailureAnalyzer to o.s.b.web.server as its
current location means the whole general failure analyzer package has
to know about web servers.

Closes gh-45524
2025-05-13 13:42:17 +02:00
Phillip Webb 7b08c07e7e Replace ClientHttpRequestFactorySettings.Redirects with HttpRedirects
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:22], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:22], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Closes gh-45505
2025-05-12 21:58:00 -07:00
Olga Maciaszek-Sharma 8f6a9b9440 Support declarative HTTP Service clients
Add auto-configuration support for Spring Framework's HTTP Service
clients, supporting both `RestClient` and `WebClient` client types.

Configuration properties are provided under `spring.http.client.service`
and `spring.http.reactiveclient.service` names. Group specific
properties are available under `....service.group.<name>.`.

Auto-configuration support includes automatic registration of user
defined `HttpServiceGroupConfigurer` beans. `RestClientCustomizer` and
`WebClientCustomizer` beans are also supported.

Closes gh-31337

Co-authored-by: Rossen Stoyanchev <rossen.stoyanchev@broadcom.com>
Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2025-05-12 21:21:49 -07:00
Phillip Webb f1f54382ed Merge branch 'main' into 4.0.x 2025-05-12 17:58:06 -07:00
Phillip Webb 48ed394679 Remove `settings` suffix from http client properties
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Remove `spring.http.client` deprecation and change
`spring.http.reactiveclient.settings` to `spring.http.reactiveclient`.

Closes gh-45507
2025-05-12 17:55:02 -07:00
Yanming Zhou ef5031fd0e Stop considering "spring.batch.initialize-schema"
See gh-45380

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2025-05-12 16:33:56 +02:00
Phillip Webb 1308629ae4 Disable GraphQL tests until we have a compatible release
See gh-45494
2025-05-09 17:38:12 -07:00
Stéphane Nicoll e7b4f65c68 Suppress `@Nullable` usage warnings in GraphQL tests
See gh-45494
2025-05-09 17:38:12 -07:00
Stéphane Nicoll 564bfeef95 Introduce GraphQL media type static final
See gh-45487
See gh-45494
2025-05-09 17:38:12 -07:00
Phillip Webb 36fb1e9b4b Replace Actuator @Nullable with @OptionalParameter
Closes gh-45389
2025-05-09 17:38:12 -07:00
Stéphane Nicoll a0944b00d0 Migrate to updated native hints API and new reachability JSON
Replace hint API calls with updated version and fix tests that
relied on previous JSON files.

See gh-45487

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2025-05-09 17:38:12 -07:00
Stéphane Nicoll 5ea0674bad Migrate to new HttpHeaders API
See gh-45487

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2025-05-09 17:38:12 -07:00
Stéphane Nicoll 6fceab2c90 Replace spring-jcl with vanilla commons-logging
See gh-45487

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2025-05-09 17:38:11 -07:00