Commit Graph

23798 Commits

Author SHA1 Message Date
Andy Wilkinson d7fc9a66b4 Start building against Spring Data Bom 2023.1.2 snapshots
See gh-38981
2024-01-04 13:25:40 +00:00
Andy Wilkinson 6b59c01003 Start building against Reactor Bom 2023.0.2 snapshots
See gh-38980
2024-01-04 13:25:36 +00:00
Andy Wilkinson 44f5a8bfe9 Start building against Micrometer Tracing 1.2.2 snapshots
See gh-38979
2024-01-04 13:25:31 +00:00
Andy Wilkinson e589606112 Start building against Micrometer 1.12.2 snapshots
See gh-38978
2024-01-04 13:25:26 +00:00
Andy Wilkinson d5d4ec99da Start building against Spring Data Bom 2023.0.8 snapshots
See gh-38977
2024-01-04 12:34:13 +00:00
Andy Wilkinson 905e2a623e Start building against Reactor Bom 2022.0.15 snapshots
See gh-38976
2024-01-04 12:34:09 +00:00
Andy Wilkinson 694b418f59 Start building against Micrometer Tracing 1.1.9 snapshots
See gh-38975
2024-01-04 12:34:04 +00:00
Andy Wilkinson e9f086ff86 Start building against Micrometer 1.11.8 snapshots
See gh-38974
2024-01-04 12:33:59 +00:00
Andy Wilkinson 735df3597f Merge branch '3.1.x'
Closes gh-38963
2024-01-03 15:13:27 +00:00
Andy Wilkinson c10f78ec5a Improve handling of Throwable from logging system init
Closes gh-38885
2024-01-03 15:13:05 +00:00
Andy Wilkinson 00cf1a6d13 Remove unnecessary configuration of idle timeout
Fixes gh-38960
2024-01-03 11:37:01 +00:00
Phillip Webb 7216d2b031 Merge branch '3.1.x'
Closes gh-38916
2023-12-22 10:43:46 -08:00
Phillip Webb 95a8fa561c Correctly order @AutoConfigureAfter values when sorting
Update `AutoConfigurationSorter` so that `getClassesRequestedAfter()`
results are sorted to match the earlier name/order sorting. Prior to
this commit the order of items added via `@AutoConfigureAfter` was in
an undetermined order which could cause very subtle `@ConditionalOnBean`
bugs.

Thanks very much to Alexandre Baron for their help in diagnosing and
reproducing this issue.

Fixes gh-38904
2023-12-22 08:20:25 -08:00
Phillip Webb f31ffbf927 Don't duplicate META-INF entries in nested directory jars
Update `ZipContent` so that `META-INF` entries are no longer duplicated
in nested jars created from directory entries. This aligns with the
behavior of the classic loader and prevents the same META-INF file from
being discovered twice.

Fixes gh-38862
2023-12-20 17:36:06 -08:00
Phillip Webb 20529ea90c Drop Netty restriction 2023-12-20 09:54:59 -08:00
Phillip Webb e754c91f50 Upgrade to Spring WS 4.0.9
Closes gh-38892
2023-12-20 09:17:52 -08:00
Phillip Webb 1abc0827f8 Upgrade to Netty 4.1.104.Final
Closes gh-38891
2023-12-20 09:17:48 -08:00
Phillip Webb 7dfddce1ac Upgrade to jOOQ 3.18.8
Closes gh-38890
2023-12-20 09:17:42 -08:00
Phillip Webb c1e8c18124 Upgrade to Jetty 11.0.19
Closes gh-38889
2023-12-20 09:17:38 -08:00
Phillip Webb ff3a2f7e42 Upgrade to Jetty Reactive HTTPClient 3.0.11
Closes gh-38888
2023-12-20 09:17:34 -08:00
Phillip Webb 4df87f6224 Upgrade to Hibernate 6.2.17.Final
Closes gh-38887
2023-12-20 09:17:29 -08:00
Phillip Webb 15dd37095f Merge branch '3.1.x'
Closes gh-38880
2023-12-19 23:45:42 -08:00
Phillip Webb b00d5fabe8 Auto-configure Hibernate JPA before DataSource TransactionManager
Fixes gh-38861
2023-12-19 23:44:48 -08:00
Phillip Webb dd27429195 Merge pull request #38776 from SandraAhlgrimm
* pr/38776:
  Add the LangChain4J to the list of community starters

Closes gh-38776
2023-12-19 23:14:32 -08:00
Sandra Ahlgrimm b0bc872831 Add the LangChain4J to the list of community starters
See gh-38776
2023-12-19 23:14:01 -08:00
Phillip Webb be1639fe68 Merge branch '3.1.x'
Closes gh-38879
2023-12-19 23:12:48 -08:00
meiyese 4370c6e850 Fix typo in endpoint documentation
See gh-38823
2023-12-19 23:12:06 -08:00
Phillip Webb 246a0e6f21 Merge branch '3.1.x'
Closes gh-38878
2023-12-19 23:10:49 -08:00
Yanming Zhou 8cb8999772 Ban call of URLEncoder.encode/URLDecoder.decode(String,String)
Add ArchUnit rules to ban the use of `URLEncoder` calls with String
charsets and use `Charset` calls instead.

See gh-38740
2023-12-19 23:10:18 -08:00
Phillip Webb 5354ad15b3 Merge branch '3.1.x'
Closes gh-38877
2023-12-19 22:51:48 -08:00
Yanming Zhou 8599e5a986 Remove unnecessary `toString()` calls
See gh-38739
2023-12-19 22:38:34 -08:00
Yanming Zhou b6e87cee35 Remove unnecessary `extends Object` from generic
See gh-38739
2023-12-19 22:38:19 -08:00
Yanming Zhou 84f7c2dba9 Remove unnecessary `final` modifiers
See gh-38739
2023-12-19 22:38:14 -08:00
Yanming Zhou d3a51e56b7 Remove unnecessary `static` modifiers
See gh-38739
2023-12-19 22:38:08 -08:00
Yanming Zhou ac18e3015c Use `.isEmpty()` where feasible
See gh-38739
2023-12-19 22:38:05 -08:00
Iliès BELDJILALI e39d1d14ea Hide application name placeholder when include property is false
Update log4j configuration so that an empty value is used when
`LOGGED_APPLICATION_NAME` is missing. Prior to this commit when
`logging.include-application-name` was `false` the logged output
would include the raw `${sys:LOGGED_APPLICATION_NAME}` value.

See gh-38847
2023-12-19 22:08:13 -08:00
Phillip Webb 1b498dea43 Drop Netty restriction 2023-12-19 20:45:10 -08:00
Phillip Webb 67b43baa16 Upgrade to Spring WS 4.0.9
Closes gh-38876
2023-12-19 20:38:20 -08:00
Phillip Webb b6d855fa0b Upgrade to Spring Pulsar 1.0.1
Closes gh-38875
2023-12-19 20:38:15 -08:00
Phillip Webb 32d6949733 Upgrade to Spring Kafka 3.1.1
Closes gh-38874
2023-12-19 20:38:11 -08:00
Phillip Webb 21116297f6 Upgrade to Pulsar Reactive 0.5.1
Closes gh-38873
2023-12-19 20:38:07 -08:00
Phillip Webb a04a16a783 Upgrade to Netty 4.1.104.Final
Closes gh-38872
2023-12-19 20:38:03 -08:00
Phillip Webb 31bc458a13 Upgrade to Jetty 12.0.5
Closes gh-38871
2023-12-19 20:37:58 -08:00
Phillip Webb cf5dc186f8 Upgrade to Hibernate 6.4.1.Final
Closes gh-38870
2023-12-19 20:37:53 -08:00
Brian Clozel bf21fa8e76 Upgrade to Spring Integration 6.2.1
Closes gh-38698
2023-12-19 21:22:27 +01:00
Brian Clozel 76c7fe3f8a Upgrade to Spring Session 3.2.1
Closes gh-38866
2023-12-19 19:11:15 +01:00
Brian Clozel 97f08da638 Upgrade to Spring Authorization Server 1.2.1
Closes gh-38696
2023-12-19 19:10:41 +01:00
Brian Clozel d3af5cce73 Upgrade to Spring Session 3.1.4
Closes gh-38683
2023-12-19 18:49:02 +01:00
Brian Clozel cb019e2957 Upgrade to Spring Authorization Server 1.1.4
Closes gh-38678
2023-12-19 18:48:19 +01:00
Brian Clozel 450a0ce8c7 Upgrade to Spring Security 6.1.6
Closes gh-38682
2023-12-19 12:30:36 +01:00
Brian Clozel 0fa8a27e4a Upgrade to Spring LDAP 3.1.3
Closes gh-38681
2023-12-19 12:30:04 +01:00
Brian Clozel bdb2cb131a Upgrade to Spring Security 6.2.1
Closes gh-38700
2023-12-19 11:35:57 +01:00
Brian Clozel 67458b8662 Upgrade to Spring LDAP 3.2.1
Closes gh-38699
2023-12-19 11:35:23 +01:00
Brian Clozel 1c210f5c1a Upgrade to Spring AMQP 3.1.1
Closes gh-38860
2023-12-19 11:34:54 +01:00
Phillip Webb 561c7f749b Don't start containers imported via @ImportTestcontainers
Remove early start of containers imported via `@ImportTestcontainers`
so that parallel startup can happen.

Fixes gh-38831
2023-12-17 15:22:28 -08:00
Phillip Webb 88429b6a66 Use file urls for unpacked jars
Update `JarFileArchive` so that unpacked jars use `file:` URLs rather
than `jar:file:`. This aligns with the behavior of Spring Boot 3.1 and
allows calls to `class.getSigners()` to work again.

Fixes gh-38833
2023-12-17 10:55:31 -08:00
Phillip Webb 2158f4cc43 Polish 'Use authParamString to configure Pulsar authentication'
See gh-38839
2023-12-16 22:23:37 -08:00
Chris Bono 4c0a19e8c0 Use authParamString to configure Pulsar authentication
Update `PulsarPropertiesMapper` to use JSON encoded parameters rather
than a `Map` since the `Map` method is deprecated in Pulsar. This
commit simply takes the auth params map and converts them to the
expected encoded JSON string of auth parameters.

See gh-38839
2023-12-16 22:19:45 -08:00
Phillip Webb 6ae113c18a Fix parallel startup of testcontainers
Update `TestcontainersLifecycleBeanPostProcessor` so that containers
can actually be started in parallel.

Prior to this commit, `initializeStartables` would collect beans
and in the process trigger the `postProcessAfterInitialization` method
on each bean. This would see that  `startablesInitialized` was `true`
and call `startableBean.start` directly. The result of this was that
beans were actually started sequentially and when the `start` method
was finally called it had nothing to do.

The updated code uses an enum rather than a boolean so that the
`postProcessAfterInitialization` method no longer attempts to start
beans unless `initializeStartables` has finished.

Fixes gh-38831
2023-12-16 21:57:16 -08:00
Phillip Webb 92a4a1194d Polish 2023-12-15 12:08:11 -08:00
Phillip Webb b08d441021 Merge branch '3.1.x'
Closes gh-38837
2023-12-15 11:43:47 -08:00
Phillip Webb 13fb450563 Don't call runners in parent ApplicationContext
Update `SpringApplication` so that `ApplicationRunner` and
`CommandLineRunner` beans are not considered from the parent
`ApplicationContext`.

The restores the behavior that applied before commit 7d6532cac4
whilst still retaining the correct run order.

Fixes gh-38647
2023-12-15 11:42:26 -08:00
Brian Clozel f2a74c9107 Upgrade to Spring Retry 2.0.5
Closes gh-38836
2023-12-15 18:26:21 +01:00
Brian Clozel 42830dc621 Upgrade to Spring Data Bom 2023.1.1
Closes gh-38697
2023-12-15 18:25:18 +01:00
Brian Clozel e63be1bf73 Upgrade to Spring Retry 2.0.5
Closes gh-38834
2023-12-15 17:33:42 +01:00
Brian Clozel e8546545a7 Upgrade to Spring Data Bom 2023.0.7
Closes gh-38679
2023-12-15 17:32:56 +01:00
Phillip Webb 26dc14031e Update `LoadedPemSslStore` to use lazy loading
Update `LoadedPemSslStore` so that it loads content lazily. This
restores the behavior of Spring Boot 3.1 and allows bundles to be
defined with files that don't exist as long as they are never accessed.

Fixes gh-38659
2023-12-14 22:03:07 -08:00
Phillip Webb 1d10e51755 Adapt to upstream Spring Security changes 2023-12-14 20:33:09 -08:00
Andy Wilkinson 5915db09e6 Merge branch '3.1.x' 2023-12-14 20:17:29 +00:00
Andy Wilkinson 85cfa4798c Close jar to allow it to be cleaned up after test execution
See gh-38766
2023-12-14 20:16:23 +00:00
Andy Wilkinson d7f4a8ca6a Upgrade to UnboundID LDAPSDK 6.0.11
Closes gh-38816
2023-12-14 17:08:52 +00:00
Andy Wilkinson 25b109167c Upgrade to R2DBC Proxy 1.1.3.RELEASE
Closes gh-38813
2023-12-14 17:08:38 +00:00
Andy Wilkinson 7f064bc456 Upgrade to R2DBC Postgresql 1.0.3.RELEASE
Closes gh-38812
2023-12-14 17:08:33 +00:00
Andy Wilkinson 5d3aaf98b8 Upgrade to Netty 4.1.102.Final
Closes gh-38811
2023-12-14 17:08:28 +00:00
Andy Wilkinson 79455a79f2 Upgrade to Maven Javadoc Plugin 3.6.3
Closes gh-38810
2023-12-14 17:08:24 +00:00
Andy Wilkinson 4892024b7d Upgrade to Logback 1.4.14
Closes gh-38809
2023-12-14 17:08:19 +00:00
Andy Wilkinson d95e7a5af0 Upgrade to Kotlin Serialization 1.6.2
Closes gh-38808
2023-12-14 17:08:14 +00:00
Andy Wilkinson 3b51bcc912 Upgrade to Kafka 3.6.1
Closes gh-38806
2023-12-14 17:08:05 +00:00
Andy Wilkinson 86599a5062 Upgrade to Jetty 12.0.4
Closes gh-38805
2023-12-14 17:08:00 +00:00
Andy Wilkinson 853aaeb818 Upgrade to Jersey 3.1.5
Closes gh-38804
2023-12-14 17:07:55 +00:00
Andy Wilkinson d2d303d5aa Upgrade to Jaybird 5.0.3.java11
Closes gh-38803
2023-12-14 17:07:50 +00:00
Andy Wilkinson da7cb2ad1b Upgrade to Janino 3.1.11
Closes gh-38802
2023-12-14 17:07:46 +00:00
Andy Wilkinson 8deae8275e Upgrade to HttpCore5 5.2.4
Closes gh-38801
2023-12-14 17:07:41 +00:00
Andy Wilkinson f320188023 Upgrade to HttpClient5 5.2.3
Closes gh-38800
2023-12-14 17:07:36 +00:00
Andy Wilkinson b20ed7c577 Upgrade to Groovy 4.0.16
Closes gh-38799
2023-12-14 17:07:31 +00:00
Andy Wilkinson 06068894a4 Upgrade to Dropwizard Metrics 4.2.23
Closes gh-38798
2023-12-14 17:07:27 +00:00
Andy Wilkinson 2e43819e8d Upgrade to AspectJ 1.9.21
Closes gh-38797
2023-12-14 17:07:22 +00:00
Andy Wilkinson 1d64976876 Upgrade to Netty 4.1.102.Final
Closes gh-38795
2023-12-14 14:50:58 +00:00
Andy Wilkinson aa1de9cee2 Upgrade to UnboundID LDAPSDK 6.0.11
Closes gh-38793
2023-12-14 14:47:56 +00:00
Andy Wilkinson cf9538cbcc Upgrade to R2DBC Proxy 1.1.3.RELEASE
Closes gh-38791
2023-12-14 14:47:55 +00:00
Andy Wilkinson b30bec1156 Upgrade to R2DBC Postgresql 1.0.3.RELEASE
Closes gh-38790
2023-12-14 14:47:54 +00:00
Andy Wilkinson bef2dabc27 Upgrade to Logback 1.4.14
Closes gh-38788
2023-12-14 14:47:15 +00:00
Andy Wilkinson 5199977e03 Upgrade to Jersey 3.1.5
Closes gh-38787
2023-12-14 14:47:14 +00:00
Andy Wilkinson 7129b61856 Upgrade to Jaybird 5.0.3.java11
Closes gh-38786
2023-12-14 14:47:14 +00:00
Andy Wilkinson 16cca99d1f Upgrade to Janino 3.1.11
Closes gh-38785
2023-12-14 14:47:14 +00:00
Andy Wilkinson ec81c6650c Upgrade to HttpCore5 5.2.4
Closes gh-38784
2023-12-14 14:47:13 +00:00
Andy Wilkinson 0622f6f80e Upgrade to HttpClient5 5.2.3
Closes gh-38783
2023-12-14 14:47:13 +00:00
Andy Wilkinson 6bd8c295e0 Upgrade to Hibernate 6.2.15.Final
Closes gh-38782
2023-12-14 14:47:13 +00:00
Andy Wilkinson 75643866d8 Upgrade to Groovy 4.0.16
Closes gh-38781
2023-12-14 14:47:12 +00:00
Andy Wilkinson 3b9a05713d Upgrade to Dropwizard Metrics 4.2.23
Closes gh-38780
2023-12-14 14:47:12 +00:00
Andy Wilkinson 7319d55b23 Upgrade to AspectJ 1.9.21
Closes gh-38779
2023-12-14 14:47:12 +00:00
Andy Wilkinson b62b6d56c1 Merge branch '3.1.x'
Closes gh-38794
2023-12-14 14:46:44 +00:00
Andy Wilkinson 54fb25d931 Prohibit upgrade to Netty 4.1.103.Final
Closes gh-38789
2023-12-14 14:46:28 +00:00
Moritz Halbritter 2fd89803a2 Merge branch '3.1.x' 2023-12-14 11:53:08 +01:00
Moritz Halbritter 5a385a40e9 Fix typo 2023-12-14 11:52:55 +01:00
Brian Clozel e44e0c8f1e Remove ErrorAttributes.ERROR_ATTRIBUTE
This commit removes the now defunkt `ErrorAttributes.ERROR_ATTRIBUTE`
that was introduce to register handled errors as metrics. This has been
replaced since 3.0 by a direct support in Spring Framework and had no
effect whatsoever since that release.

This also updates the documentation to point to the Framework mechanism
that replaced it.

Fixes gh-33731
2023-12-14 11:26:45 +01:00
Andy Wilkinson 8c5b7a87ae Adapt to latest changes in the locking model for context close
See gh-38666
2023-12-14 10:21:48 +00:00
Andy Wilkinson 60ebb32e8a Upgrade to Reactor Bom 2023.0.1
Closes gh-38695
2023-12-14 09:41:57 +00:00
Andy Wilkinson 96f1a46fef Upgrade to Micrometer Tracing 1.2.1
Closes gh-38694
2023-12-14 09:41:55 +00:00
Andy Wilkinson 0dedccc1a1 Upgrade to Micrometer 1.12.1
Closes gh-38693
2023-12-14 09:41:52 +00:00
Andy Wilkinson 8d5175b68d Upgrade to Reactor Bom 2022.0.14
Closes gh-38677
2023-12-14 09:25:50 +00:00
Andy Wilkinson c3e3245bb3 Upgrade to Micrometer Tracing 1.1.8
Closes gh-38676
2023-12-14 09:25:49 +00:00
Andy Wilkinson 5f51083005 Upgrade to Micrometer 1.11.7
Closes gh-38675
2023-12-14 09:25:48 +00:00
Phillip Webb a9efa96d8a Merge branch '3.1.x'
Closes gh-38770
2023-12-13 16:53:20 -08:00
Phillip Webb da31137596 Ensure that StaticResourceJars does not close cached jars
Update `StaticResourceJars` so that jars obtained via a
`JarURLConnection` are only closed when caches are not being used.

Fixes gh-38766
2023-12-13 16:51:02 -08:00
Phillip Webb b4a4e91238 Update ZipString to deal with reads that do not return all data
Refine the logic in `ZipString.hash` and `ZipString.compare` to deal
with the fact a read operation may not return all available bytes.

Fixes gh-38751
2023-12-13 13:29:37 -08:00
Andy Wilkinson afad358047 Align reactive web security more closely with servlet web security
There are some notable differences in the behavior of Spring
Security's reactive and servlet-based web security. Notably,
Servlet-based web security (`@EnableWebSecurity`) works without
any authentication manager, rejecting requests as not authorized.
By contrast reactive-based web security (`@EnableWebFluxSecurity`)
fails to start up when there's no authentication manager, either
provided directly as a bean or derived from a
ReactiveUserDetailsService. There are also further differences at
runtime where empty Monos from all ReactiveAuthenticationManagers
results in an internal error and a 500 response whereas a similar
situation in the servlet implementation results in a 401.

Previously, to accommodate these differences in behavior, Spring
Boot's auto-configuration would behave differently. In the Servlet
case, web security would be enabled whenever the necessary
dependencies were on the classpath. In the reactive case, web
security would back off in the absence of an authentication manager
to prevent a start up failure. While this difference is rooted in
Spring Security, it is undesirable and something that we want to
avoid Spring Boot users being exposed to where possible.
Unfortunately, the situation is more likely to occur than before
as ReactiveUserDetailsServiceAutoConfiguration now backs off more
readily (gh-35338). This makes it more likely that the context will
contain neither a reactive authetication manager not a reactive
user details service.

This commit reworks the auto-configurations related to reactive
security. ReactiveSecurityAutoConfiguration will now auto-configure
an "empty" reactive authentication manager that denies access through
Mono.error in the absence of a ReactiveAuthenticationManager,
ReactiveUserDetailsService, or SecurityWebFilterChain. The last of
these is to allow for the situation where a filter chain has been
defined with an authentication manager configured directly on it.
This configuration of an authentication manager allows
`@EnableWebFluxSecurity` to be auto-configured more readily,
removing one of the differences between reactive- and Servlet-based
security.

Corresponding updates to the auto-configurations for reactive OAuth2
support have also been made. They no longer try to auto-configure
`@EnableWebFluxSecurity`, relying instead upon
ReactiveSecurityAutoConfiguration, which they are ordered before, to
do that instead.

Closes gh-38713
2023-12-13 12:44:04 +00:00
Andy Wilkinson 964ccbb000 Revert "Do not enable WebFlux security unless other configuration is active"
This reverts commit beba1f176a.

See gh-38713
2023-12-13 11:17:08 +00:00
Moritz Halbritter 3ac9c44942 Merge branch '3.1.x' 2023-12-13 11:19:44 +01:00
Moritz Halbritter 82bc9a6280 Polish 2023-12-13 11:19:40 +01:00
Moritz Halbritter 2197e36d91 Merge branch '3.1.x'
Closes gh-38764
2023-12-13 11:18:19 +01:00
Moritz Halbritter d1badfe63a Document minimum supported Docker Compose version
Closes gh-38760
2023-12-13 11:18:09 +01:00
Moritz Halbritter c50172d5c7 Undeprecate 'management.metrics.tags'
Closes gh-38583
2023-12-13 08:26:11 +01:00
Moritz Halbritter e81d1226fe Prevent integer overflow when checking disk space 2023-12-12 16:26:58 +01:00
Moritz Halbritter 01f59608ac Merge branch '3.1.x'
Closes gh-38752
2023-12-12 16:23:33 +01:00
Moritz Halbritter b8021dbc65 Exclude Rabbit Stream when testing RabbitAutoConfiguration
The stream auto-configuration is tested in RabbitStreamConfigurationTests,
and excluding it prevents the creation of the "rabbitStreamEnvironment"
Environment bean, which delays the application context close by 1 second
because it has to wait for some Netty resources to gracefully shut down.

Closes gh-38750
2023-12-12 16:12:22 +01:00
Andy Wilkinson 612bf95b05 Adapt to changes in the locking model for closing an app context
See gh-38666
2023-12-12 14:51:06 +00:00
Moritz Halbritter a242bd81e2 Merge branch '3.1.x'
Closes gh-38747
2023-12-12 13:55:44 +01:00
Yanming Zhou 3c65fdfa12 Use idiomatic AssertJ assertions
See gh-38702
2023-12-12 13:53:20 +01:00
Moritz Halbritter 198dbb4a45 Auto-configure observatibility beans in sliced tests
If @AutoConfigureObservability is applied to a sliced test, it
auto-configures:

- An in-memory MeterRegistry
- A no-op Tracer
- An ObservationRegistry

Closes gh-38568
2023-12-12 11:29:43 +01:00
Moritz Halbritter ff82b8d1c1 Add auto-configuration for a no-op tracer
This auto-configuration ensures, if Micrometer Tracing is on the
classpath, that there is always a tracer. It backs off if there is
already a tracer, for example contributed by the Brave or the Otel
auto-configurations, which are run before.

See gh-38568
2023-12-12 11:29:43 +01:00
Phillip Webb ea87787279 Merge branch '3.1.x'
Closes gh-38741
2023-12-11 20:37:45 -08:00
Phillip Webb 39bc7c8582 Support getPermissions() call on Gradle 8.6-milestone-1
The `getPermissions` method is now part of the private
`ParentDirectoryStub` class so we now need to call
`setAccessible(true)`.

Fixes gh-38718
2023-12-11 20:35:06 -08:00
Phillip Webb 0fe7d78732 Restore support for custom bind converters in collections
Update the `beansConverterService` introduced in commit f4e05c91c7
so that it can also handle collection based conversions.

Fixes gh-38734
2023-12-11 17:05:27 -08:00
Andy Wilkinson beba1f176a Do not enable WebFlux security unless other configuration is active
Following the changes in gh-37504, the reactive resource server
auto-configuration could enable WebFlux security in situations where
it was otherwise in active. This could then result in an application
failing to start as no authentication manager is available.

This commit updates the configurations that enable WebFlux security
so that they fully back off unless their related configurations are
active. Previously, only the configuration of the
SecurityWebFilterChain would back off. This has been expanded to
cover `@EnableWebFluxSecurity` as well. This has required splitting
the configuration classes up so that the condition evaluation order
can be controlled more precisely. We need to ensure that the JWT
decoder bean or the opaque token introspector bean has been defined
before evaluation of the conditions for `@EnableWebFluxSecurity`.
Without this control, the import through `@EnableWebFluxSecurity` in
one location where the conditions do not matchcan prevent a
successful import in another where they do.

Fixes gh-38713
2023-12-11 12:46:29 +00:00
Moritz Halbritter 6330190913 Merge branch '3.1.x'
Closes gh-38728
2023-12-11 09:44:19 +01:00
Yanming Zhou ebfbc0ef05 Cleanup kotlin sources
1. remove unused imports
2. remove redundant semicolon
3. remove empty class body
4. remove redundant 'constructor' keyword
5. remove redundant 'Unit' return type
6. use non-null type if possible

See gh-38708
2023-12-11 09:23:42 +01:00
Moritz Halbritter cc665dd529 Merge branch '3.1.x'
Closes gh-38727
2023-12-11 09:18:25 +01:00
Donghun Shin f922b3de03 Rename local variable in BatchAutoConfiguration
See gh-38674
2023-12-11 08:25:39 +01:00
Moritz Halbritter ad586078a7 Merge branch '3.1.x'
Closes gh-38725
2023-12-11 08:18:43 +01:00
Georg Pirklbauer a8d706f485 Update Dynatrace documentation links
See gh-38706
2023-12-11 08:13:56 +01:00
Andy Wilkinson e6970243ee Retry read on ClosedByInterruptException
In gh-38154, we started handling ClosedByInterruptException. The
FileChannel was repaired by recreating it and then the exception was
rethrown. This allowed other threads to use the channel that had been
read by an interrupted thread while allowing that interruption to
continue.

This approach has proven to be insufficient as there are scenarios
where the read needs to succeed on the interrupted thread. This
commit updates the handling of ClosedByInterruptException so that
this is the case. The FileChannel is recreated as before but the
thread's interrupted flag is now cleared before retrying the read.
The flag is then reinstated so that any subsequent actions that
should fail due to the interruption will do so.

We could clear and reinstate the interrupted flag before the first
read, rather than catching ClosedByInterruptException. This approach
was rejected as it will have an impact on the performance of the
happy path where the thread hasn't been interrupted.

Fixes gh-38611
2023-12-07 10:49:40 -08:00
Phillip Webb 359a6cb5bb Use encoded version of path for jar URLs
Update `JarUrl` so that the encoded version of the path is used.
This allows jars to placed in directories with `#` or `!` in the
name.

Fixes gh-38660
2023-12-06 16:20:27 -08:00
Phillip Webb 847daf484c Fix JarUrlTests
Fix `JarUrlTests` to use the jarFile rather than temp.
2023-12-06 16:19:57 -08:00
Andy Wilkinson fc1a5033e8 Start building against Spring Security 6.2.1 snapshots
See gh-38700
2023-12-06 20:21:33 +00:00
Andy Wilkinson 91efe9396b Start building against Spring LDAP 3.2.1 snapshots
See gh-38699
2023-12-06 20:21:29 +00:00
Andy Wilkinson da4f2a4679 Start building against Spring Integration 6.2.1 snapshots
See gh-38698
2023-12-06 20:21:24 +00:00
Andy Wilkinson 174813c341 Start building against Spring Data Bom 2023.1.1 snapshots
See gh-38697
2023-12-06 20:21:19 +00:00
Andy Wilkinson 5e40739997 Start building against Spring Authorization Server 1.2.1 snapshots
See gh-38696
2023-12-06 20:21:14 +00:00
Andy Wilkinson 4fc2082972 Start building against Reactor Bom 2023.0.1 snapshots
See gh-38695
2023-12-06 20:21:09 +00:00