Commit Graph

3934 Commits

Author SHA1 Message Date
Moritz Halbritter 2cce123bb5 Add property to control 'path' field inclusion in error responses
By default it is included.

Closes gh-38619
2024-01-09 09:33:00 +01:00
Andy Wilkinson c3a5e7695a Polish "Treat null as CloudPlatform.NONE"
See gh-38510
2024-01-05 16:29:10 +00:00
Yanming Zhou 01bb806672 Treat null as CloudPlatform.NONE
See gh-38510
2024-01-05 16:23:39 +00:00
Andy Wilkinson 28490738ae Revert "Upgrade to HttpClient5 5.3"
This reverts commit 31f3f31ac1.

See gh-39007
2024-01-05 11:40:41 +00:00
Andy Wilkinson 4b89723861 Remove APIs that were deprecated for removal in 3.3.0
Closes gh-39039
2024-01-05 11:20:35 +00:00
Andy Wilkinson 31f3f31ac1 Upgrade to HttpClient5 5.3
Closes gh-39007
2024-01-04 17:32:10 +00:00
Andy Wilkinson 6bd042e83b Upgrade to Commons DBCP2 2.11.0
Closes gh-39002
2024-01-04 17:26:37 +00:00
Andy Wilkinson a1c7c0bccc Upgrade to AssertJ 3.25.1
Closes gh-38997
2024-01-04 17:26:35 +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 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 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 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
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
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
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
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
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
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
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 ad5b844e1f Fix checkstyle issues
MissingParametersFailureAnalyzer looks like it has been commited by
accident.
2023-12-06 11:22:54 +01:00
Phillip Webb b5de38787c Restore `Session.Cookie` class for binary back-compatibility
Fixes gh-38589
2023-12-05 15:00:26 -08:00
Phillip Webb ffdd405fb1 Update NoUniqueBeanDefinitionFailureAnalyzer with parameter hints
Add addition description and action text to help point to the
fact that the `NoUniqueBeanDefinitionException` can be thrown
due to a missing `-parameters` compiler setting.

Closes gh-38652
2023-12-05 15:00:26 -08:00
Phillip Webb ce7d384d2c Add MissingParametersFailureAnalyzer
Add a new failure analyzer that provides hints whenever parameter
names cannot be discovered.

Closes gh-38603
2023-12-05 15:00:26 -08:00
Phillip Webb f609022731 Add suppressed missing parameters exception from ValueObjectBinder
Update `DataObjectBinder` interface and `ValueObjectBinder`
implementation so that suppressed exceptions are added whenever
parameter names cannot be discovered.

See gh-38603
2023-12-05 14:58:49 -08:00
Phillip Webb 6b58051aad Polish Binder code 2023-12-05 14:58:49 -08:00
Moritz Halbritter f9a1eb000e Merge branch '3.1.x'
Closes gh-38658
2023-12-05 11:51:03 +01:00
Lars Uffmann 5981a3fd33 Build against UCP and JDBC driver for Oracle Database variant ucp11
See gh-38654
2023-12-05 11:40:35 +01:00
Arthur Gavlyukovskiy 829bec7602 Update documentation about jetty http2 dependency
See gh-38632
2023-12-04 13:34:29 +01:00
Moritz Halbritter 6744cc2887 Apply awaitTerminationPeriod to SimpleAsyncTaskScheduler
Closes gh-38530
2023-11-30 10:25:33 +01:00
Moritz Halbritter e454470bf9 Apply awaitTerminationPeriod to SimpleAsyncTaskExecutor
Closes gh-38528
2023-11-30 09:25:49 +01:00
Andy Wilkinson 8de81cb06e Disable bind on init for all Tomcat connectors
If a connector is bound on init, it won't be unbound when stop()
is called. This leaves the connector running when it should have
been stopped. We currently disable bind on init for the main
connector but not for any additional connectors. This commit
disables bind on it for all connectors unless it is been
explicitly enabled through the bindOnInit property.

Closes gh-38564

Co-authored-by: Moritz Halbritter <moritz.halbritter@broadcom.com>
2023-11-29 14:28:09 +00:00
Moritz Halbritter 62a6d384f6 Merge branch '3.1.x'
Closes gh-38600
2023-11-29 14:00:01 +01:00
Tom Frenken 43bc104c4e Use system properties when constructing Apache HttpClient
See gh-38591
2023-11-29 13:49:20 +01:00
Moritz Halbritter 86c2f28cb4 Prevent keep alive thread from blocking the AOT processing
Instead of creating the thread directly in the constructor, the thread
is now created when the context is refreshed and stopped when the
context is closed.

As AOT processing never refreshes the context, the thread is never
started and can't block the AOT processing task.

Closes gh-38531
2023-11-27 13:41:02 +01:00
Andy Wilkinson a40f3da028 Merge branch '3.1.x'
Closes gh-38499
2023-11-22 12:35:58 +00:00
Andy Wilkinson ae5bae393b Remove unnecessary toLowerCase call from remainderIsDashes
Closes gh-38498
2023-11-22 12:35:36 +00:00
Johnny Lim 175b6473c7 Polish
See gh-38389
2023-11-22 10:16:19 +01:00
Phillip Webb 59493e8306 Fix failing tests following version upgrades 2023-11-20 21:03:17 -08:00
abdullah-jaffer 6f3b3fa6f6 Replace Function<String, String> with UnaryOperator<String>
See gh-38390
2023-11-20 20:05:03 -08:00
Phillip Webb ba56953ea5 Skip ValueObjectBinder if parameter names cannot be discovered
Update `ValueObjectBinder` so that it is skipped if parameter names
cannot be discovered. This is much more likely as of Since Spring
Framework 6.1 as it no longer performs ASM parsing to discover names.

Fixes gh-38201
2023-11-13 10:24:06 -08:00
Claudio Nave 61aecdedd6 Remove Liquibase javax.activation excludes
Liquibse no longer declares a dependency on `javax.activation`
(see https://github.com/liquibase/liquibase/issues/4487) so we
can now remove our exclusions.

See gh-38274
2023-11-09 11:44:31 -08:00
Moritz Halbritter e3210e72d5 Polish "Report friendly error when failing to find AOT initializer"
See gh-38188
2023-11-07 10:37:27 +01:00
Yanming Zhou 8126d2652d Report friendly error when failing to find AOT initializer
See gh-38188
2023-11-07 10:37:13 +01:00
Moritz Halbritter b9946bd029 Merge branch '3.1.x'
Closes gh-38243
2023-11-07 10:21:13 +01:00
Jake 8932de0fe2 Fix typo
See gh-38241
2023-11-07 10:07:14 +01:00
Moritz Halbritter d6c28b3fc7 Merge branch '3.1.x'
Closes gh-38198
2023-11-03 12:28:38 +01:00
Moritz Halbritter fb1a4ba470 Merge branch '3.0.x' into 3.1.x
Closes gh-38197
2023-11-03 12:28:22 +01:00
Moritz Halbritter 6b69525291 Merge branch '2.7.x' into 3.0.x
Closes gh-38196
2023-11-03 12:28:11 +01:00
Moritz Halbritter 18f9dc9b94 Document that customizers are not applied to additional connectors
Closes gh-38183
2023-11-03 12:27:55 +01:00
Andy Wilkinson 9eda564d06 Fix check for using CoordinatedRestoreAtCheckpointStartup
Closes gh-38186
2023-11-03 09:58:13 +00:00
Scott Frederick 99986a2fdd Polish SSL internals 2023-11-02 14:41:06 -05:00
Moritz Halbritter d3f177be71 Polish SSL 2023-11-02 09:36:06 +01:00
Phillip Webb a35fb7505f Merge branch '3.1.x'
Closes gh-38179
2023-11-01 18:22:39 -07:00
Phillip Webb 683d791104 Merge branch '3.0.x' into 3.1.x
Closes gh-38178
2023-11-01 18:22:28 -07:00
Phillip Webb e5c8723dda Merge branch '2.7.x' into 3.0.x
Closes gh-38177
2023-11-01 18:22:06 -07:00
Phillip Webb eecb15d1ba Rename startDaemonAwaitThread() inside TomcatWebServer to match intent
Closes gh-38155
2023-11-01 18:21:36 -07:00
Phillip Webb 9b71ef4114 Polish and refactor some SSL internals
Polish and refactor some of the internal SSL code to make it easier to
add additional functionality in the future.
2023-11-01 16:14:59 -07:00
Phillip Webb 30a7426e86 Apply key property to the keystore and not to the truststore
Update `PropertiesSslBundle` so that key properties are now
only applied to the keystore and not the truststore.

Closes gh-38125
2023-11-01 16:10:51 -07:00
Phillip Webb 1b61bc1f20 Move PEM verification to spring-boot-autoconfigure
Move `KeyVerifier` to spring-boot-autoconfigure to reduce the
public API required in `PemSslStoreBundle`.

This commit also moves the verify property so that is can be set
per store.

Closes gh-38173
2023-11-01 16:10:16 -07:00
Phillip Webb 5e5d2265f5 Introduce `PemSslStore` as an alternative to `PemSslStoreDetails`.
Add a `PemSslStore` interface that can be used as an alternative
to `PemSslStoreDetails` when PEM content has already been loaded
and parsed.

Closes gh-38175
2023-11-01 16:06:28 -07:00
Phillip Webb 2b39ec6f60 Introduce a public `PemContent` class
Update `PemContent` so that it now holds PEM data and is public.
This update is required so that in the future we can make use of
our PEM parsing code in spring-boot-autoconfigure.

Closes gh-38174
2023-11-01 16:02:51 -07:00
Phillip Webb 2c6fca8df7 Allow alias and password to be configured on a per PEM store basis
Closes gh-38124
2023-11-01 16:02:33 -07:00
Phillip Webb 8bf847e549 Rename keyAlias parameter to alias
Rename the keyAlais parameter to alias since it may be used as either
the key alias or the certificate alias.

Also clarify the javadoc for keyPassword.

Closes gh-38099
2023-11-01 16:01:46 -07:00
Andy Wilkinson 173e6543fd Merge branch '3.1.x'
Closes gh-38168
2023-11-01 15:06:20 +00:00
Andy Wilkinson 40ce6182a1 Merge branch '3.0.x' into 3.1.x
Closes gh-38167
2023-11-01 15:03:29 +00:00
Andy Wilkinson b7f00c1087 Merge branch '2.7.x' into 3.0.x
Closes gh-38166
2023-11-01 15:02:54 +00:00
Christoph Dreis 990afd844f Fix typos in method names
See gh-38153
2023-11-01 14:59:49 +00:00
Moritz Halbritter 20edbb402f Merge branch '3.1.x' 2023-10-31 10:23:13 +01:00
Moritz Halbritter 607ed86edb Merge branch '3.0.x' into 3.1.x 2023-10-31 10:23:01 +01:00
Moritz Halbritter 3d4a9dd059 Polish StandardConfigDataResource 2023-10-31 09:49:01 +01:00
Moritz Halbritter e7c26b9410 Polish BeanDefinitionLoader 2023-10-31 09:49:01 +01:00
Johnny Lim 1b6431c219 Fix shouldStopKeepAliveThreadIfContextIsClosed()
See gh-38103
2023-10-30 09:26:16 +01:00
Moritz Halbritter 5ff4a961b1 Polish 0fbb1f7890
See gh-38029
2023-10-26 15:18:02 +02:00
Moritz Halbritter 8095c2a94b Polish "Extract "server.ports" hardcoding into a constant"
See gh-38029
2023-10-26 14:35:02 +02:00
DevSeoRex 01e2f70c73 Extract "server.ports" hardcoding into a constant
See gh-38029
2023-10-26 14:31:57 +02:00
Andy Wilkinson 0950d4416a Pass in filter's name when adding to MockMvc
Closes gh-38001
2023-10-24 12:39:42 +01:00
Phillip Webb 7bd9989614 Fix merge conflict errors
See gh-37999
2023-10-23 19:40:44 -07:00
Phillip Webb 2ac69160c7 Revert "Allow PemPrivateKeyParser to parse multiple keys"
This reverts commit 32e6ce210e.

Closes gh-37999
2023-10-23 18:32:12 -07:00
Johnny Lim b5d4983829 Polish
See gh-37984
2023-10-23 11:15:27 +02:00
Andy Wilkinson 9897576562 Polish d22969ae
The current threads must be retrieved each time so that we can see
the keep-alive thread dying.

See gh-37736
2023-10-20 12:57:17 +01:00
Andy Wilkinson d22969ae09 Tolerate race condition in shouldStopKeepAliveThreadIfContextIsClosed
See gh-37736
2023-10-20 10:19:34 +01:00
Phillip Webb 3eeb1b2849 Merge branch '3.1.x' 2023-10-19 23:21:42 -07:00
Phillip Webb 9f3afb3636 Merge branch '3.0.x' into 3.1.x 2023-10-19 23:21:20 -07:00
Phillip Webb 7c864804d5 Merge branch '2.7.x' into 3.0.x 2023-10-19 23:21:08 -07:00
Phillip Webb d47f8bf945 Update copyright year of changed files 2023-10-19 23:20:43 -07:00
Phillip Webb 25ce0ef3fc Refine `PemContent` and PEM parsers 2023-10-19 23:19:45 -07:00
Phillip Webb 32e6ce210e Allow PemPrivateKeyParser to parse multiple keys
Update `PemPrivateKeyParser` so that it can parse multiple keys in a
single PEM file.

Closes gh-37970
2023-10-19 22:01:23 -07:00