Commit Graph

2483 Commits

Author SHA1 Message Date
Stephane Nicoll
2004c062df Upgrade to Tomcat 9.0.53
Closes gh-27963
2021-09-13 11:04:02 +02:00
Stephane Nicoll
d6cc1f6d7d Polish "Use more precise variables to detect Azure App Service"
See gh-27819
2021-09-06 08:28:58 +02:00
Julien Dubois
69b23470c7 Use more precise variables to detect Azure App Service
See gh-27819
2021-09-06 08:12:22 +02:00
Stephane Nicoll
3dab5ff2c0 Merge branch '2.4.x' into 2.5.x
Closes gh-27873
2021-09-05 17:02:17 +02:00
Henning Pöttker
831e28b001 Fix typo in javadoc
See gh-27856
2021-09-05 17:01:31 +02:00
Phillip Webb
1215bbc10b Merge branch '2.4.x' into 2.5.x
Closes gh-27859
2021-09-02 11:16:42 -07:00
Phillip Webb
61764389c2 Merge branch '2.3.x' into 2.4.x
Closes gh-27858
2021-09-02 11:15:32 -07:00
Phillip Webb
44eb8c39d2 Align ApplicationTemp with Files.createTempDirectory
Update `ApplicationTemp` to align the way that it creates temp folders
with the way that `Files.createTempDirectory` works.

Closes gh-27857
2021-09-02 11:13:26 -07:00
Phillip Webb
15d0078eca Merge branch '2.4.x' into 2.5.x
Closes gh-27830
2021-08-27 22:40:56 -07:00
Phillip Webb
87dbda2339 Ensure TypeConverterConverter is thread safe
Update `TypeConverterConverter` do that a new `SimpleTypeConverter` is
obtained for each `convert` operation. Prior to this commit the same
`SimpleTypeConverter` could be accessed concurrently from multiple
threads which is not allowed.

Fixes gh-27829
2021-08-27 22:08:40 -07:00
Andy Wilkinson
6d8ba3e8b1 Merge branch '2.4.x' into 2.5.x
Closes gh-27757
2021-08-18 17:56:32 +01:00
Andy Wilkinson
ffbd28b60a Polish "Polish access modifiers for test classes"
See gh-27736
2021-08-18 17:52:42 +01:00
izeye
8a425dedfd Polish access modifiers for test classes
See gh-27736
2021-08-18 17:38:40 +01:00
Andy Wilkinson
aafa21686a Merge branch '2.4.x' into 2.5.x
Closes gh-27638
2021-08-12 12:32:56 +01:00
Andy Wilkinson
3bed23d9dc Replace PropertyMapper.CachingSupplier with use of SingletonSupplier
Closes gh-27635
2021-08-12 12:04:18 +01:00
Stephane Nicoll
1d29443e71 Merge branch '2.4.x' into 2.5.x
Closes gh-27618
2021-08-10 10:04:01 +02:00
Henning Pöttker
5b15c2191b Fix typo in javadoc
See gh-27614
2021-08-10 09:59:30 +02:00
Stephane Nicoll
a9ea8d95f3 Merge branch '2.4.x' into 2.5.x
Closes gh-27555
2021-08-04 08:55:51 +02:00
wuwen
46c47dcd29 Remove dead code in DefaultErrorAttributes
See gh-27538
2021-08-04 08:45:30 +02:00
Andy Wilkinson
589a22eb0d Merge branch '2.4.x' into 2.5.x
Closes gh-27470
2021-07-23 11:02:24 +01:00
Andy Wilkinson
9e81fb3e38 Fix race condition in Jetty graceful shutdown tests
Some of the Jetty graceful shutdown tests were flaky due to the way
in which Jetty behaves when it is stopped.
Stopping the Jetty web server interrupts the thread that's handling
the active request. This initiates a race between the request-handling
thread which will decrement the number of active requests and the
main thread which expects an active request to cause the shutdown
result to be REQUESTS_ACTIVE. The test passes when the main thread
wins and fails as a request is active which it's checked. When the
request-handling thread wins the test fails as the count of active
requests has been deprecated before it is checked.

The blocking servlet that's used to stall a request and keep it
active needs to be updated to ignore the thread being interrupted
and continue waiting. This will ensure that a request remains active
until the main thread has checked the active request count and
determine the result of the shutdown.

Closes gh-27464
2021-07-23 10:30:17 +01:00
Andy Wilkinson
18b4898977 Polish "Fix deriving DataSources from custom type"
See gh-27453
2021-07-22 11:41:54 +01:00
saraswathy-krish
d0e2823c49 Fix deriving DataSources from custom type
Eliminate the unsupported datasource property exception thrown
when trying to derive a datasource from an unknown datasource type.

See gh-27453
2021-07-22 11:41:54 +01:00
Andy Wilkinson
bb26b7bdf5 Polish
Closes gh-27431
2021-07-21 11:53:10 +01:00
izeye
734293d491 Polish
See gh-27418
2021-07-21 11:17:43 +01:00
Andy Wilkinson
29c83bfd76 Instantiate detectors with ClassLoader that discovered them
Fixes gh-27422
2021-07-21 10:57:30 +01:00
Andy Wilkinson
a5e95ef4c8 Merge branch '2.4.x' into 2.5.x
Closes gh-27419
2021-07-20 17:59:53 +01:00
Andy Wilkinson
b5587b053d Use ClassLoader that will load Yaml to check if it's present
Fixes gh-27133
2021-07-20 17:59:40 +01:00
dreis2211
0ea3b9246a Add Java 17 to JavaVersion enum
See gh-26769
2021-07-20 15:12:50 +01:00
Andy Wilkinson
9d2cb162e6 Configure initializer dependencies grouped by detector
Previously, database initializers were detected and were configured
with dependencies based on their detection order. For example, if
detectors a, b, and c detected initializers a1, b1, b2, and c1,
c1 would depend on b2, b2 on b1, and b1 on a1:

------     ------     ------     ------
| c1 | --> | b2 | --> | b1 | --> | a1 |
------     ------     ------     ------

This could cause a dependency cycle in certain situations, for
example because the user had already configured b1 to depend on b2.

This commit reduces the risk of a cycle being created by batching
the initializers by their detector, with dependencies being
configured between each batch rather than between every initializer.
In the example above, this results in c1 depending on b1 and b2,
and b1 and b2 depending on a1:

           ------
------     | b1 |     ------
| c1 | --> |    | --> | a1 |
------     | b2 |     ------
           ------

As b1 and b2 were detected by the same detector, no dependency
between those initializers is defined.

Closes gh-27131
2021-07-19 20:00:59 +01:00
Andy Wilkinson
705feeed6a Polish "Allow additional JVM args when running tests via toolchain"
See gh-27089
2021-07-13 15:28:04 +01:00
dreis2211
01b0156fed Allow additional JVM args when running tests via toolchain
See gh-27089
2021-07-13 15:24:45 +01:00
Andy Wilkinson
94f94f30f5 Polish "Detect AbstractDataSourceInitializers as DB initializers"
See gh-27215
2021-07-09 12:05:56 +01:00
Henning Pöttker
433f3d6bc4 Detect AbstractDataSourceInitializers as DB initializers
See gh-27215
2021-07-09 12:04:17 +01:00
Madhura Bhave
0f70c46746 Merge branch '2.4.x' into 2.5.x
Closes gh-27210
Closes gh-27211
2021-07-08 13:04:48 -07:00
Madhura Bhave
42e556dd73 Handle file with name matching an optional wildcard location
Previously, the presence of a file with the same name
as an optional wildcard location would cause a failure. With
this change the pattern is resolved only if the resource is a
directory.

Additionally, if an optional wildcard search location that was a file
would also fail with an exception. This commit fixes that so that those
locations are not resolved.

Fixes gh-27120
Fixes gh-27209
2021-07-08 13:01:15 -07:00
Andy Wilkinson
283b4a6ed2 Improve error message for non-options-capable ConnectionFactory
Fixes gh-26977
2021-07-08 09:17:55 +01:00
Stephane Nicoll
888393d63b Merge branch '2.4.x' into 2.5.x
Closes gh-27154
2021-07-06 09:10:03 +02:00
Stephane Nicoll
5ec0c7ed12 Polish "Fix duration to microseconds conversion"
See gh-27149
2021-07-06 09:07:48 +02:00
marckchr
a406a46fa1 Fix duration to microseconds conversion
See gh-27149
2021-07-06 09:07:47 +02:00
Madhura Bhave
55593a7ac1 Merge branch '2.4.x' into 2.5.x
Closes gh-27137
2021-07-01 15:46:00 -07:00
Madhura Bhave
eb4144eb97 Add clarification on when @DevaultValue is used during binding
Closes gh-26742
2021-07-01 15:39:16 -07:00
Andy Wilkinson
5a9fa3c8f1 Only close context that is active
Previously, SpringApplicationShutdownHook would call close() on any
registered application context even if it wasn't active as it had
already been closed. This could lead to deadlock if the context was
closed and System.exit was called during application context refresh.

This commit updates SpringApplicationShutdownHook so that it only
calls close() on active contexts. This prevents deadlock as it avoids
trying to sychronize on the context's startupShutdownMonitor on
the shutdown hook thread while it's still held on the main thread
which called System.exit and is waiting for all of the shutdown hooks
to complete.

Fixes gh-27049
2021-06-24 14:07:02 +01:00
Andy Wilkinson
e2d68aa8b2 Merge branch '2.4.x' into 2.5.x
See gh-27072
2021-06-24 09:53:04 +01:00
Andy Wilkinson
a7872f47da Minimize Instantiator's public API
See gh-27043
2021-06-24 09:27:08 +01:00
Phillip Webb
b093db104c Pass ResourceLoader.getClassLoader() to Instantiator
Update calls to `Instantiator` to that they also include
`ResourceLoader.getClassLoader()`.

Closes gh-27071
2021-06-24 00:03:16 -07:00
Phillip Webb
641dfbdf98 Merge branch '2.4.x' into 2.5.x
Fixes gh-27072
2021-06-23 23:32:50 -07:00
Phillip Webb
5088927f80 Pass ClassLoader to Instantiator
Update `Instantiator` so that it can accept a `ClassLoader` when
creating instances and rework `EnvironmentPostProcessorsFactory` to
use the new methods.

Prior to this commit we would use the `ClassLoader` to get the class
names from `SpringFactories` but not when actually creating the
instances.

Fixes gh-27043
2021-06-23 23:30:53 -07:00
Phillip Webb
2c518f1dff Merge branch '2.4.x' into 2.5.x 2021-06-23 21:02:05 -07:00
Phillip Webb
84fab65b9a Merge branch '2.4.x' into 2.5.x
Closes gh-27060
2021-06-23 21:00:46 -07:00