Commit Graph

39552 Commits

Author SHA1 Message Date
Andy Wilkinson
2b3ef96156 Merge branch '2.7.x'
Closes gh-32407
2022-09-16 17:03:34 +01:00
Andy Wilkinson
a800f7d77c Merge branch '2.6.x' into 2.7.x
Closes gh-32406
2022-09-16 17:03:13 +01:00
Andy Wilkinson
61e11cd361 Ensure that TCCL is clean when DataSource is accessed
Previously, when using Tomcat, its web app class loader was the thread
context class loader when H2ConsoleAutoConfiguration triggered
initialization of Hikari's pool. This was the case because it's done
in the bean method of a ServletRegistrationBean. Such Servlet-related
beans are intentionally created with Tomcat's web app classloader as
the TCCL. This arrangement results in the pool's threads using
Tomcat's web app class loader as their TCCL which is not desirable.
One consequence of this was that Tomcat could log a warning at
shutdown about the thread being left running when it will, in fact,
be stopped as part of the context being closed.

This commit updates H2ConsoleAutoConfiguration to set the TCCL to its
own ClassLoader while the DataSource information is being logged.

Closes gh-32382
2022-09-16 16:24:57 +01:00
Andy Wilkinson
5cb68eab1e Remove HotSpot specifics from HeapDumper strategy interface
Closes gh-27533
2022-09-16 12:53:43 +01:00
Andy Wilkinson
f731279fef Merge branch '2.7.x'
Closes gh-32403
2022-09-16 11:39:25 +01:00
Andy Wilkinson
7827e8166e Merge branch '2.6.x' into 2.7.x
Closes gh-32402
2022-09-16 11:38:07 +01:00
Andy Wilkinson
ab26050fe7 Document support for Java 19
Closes gh-32259
2022-09-16 11:37:14 +01:00
Stephane Nicoll
a8f08996e0 Merge branch '2.7.x' 2022-09-16 07:43:31 +02:00
Stephane Nicoll
b293541906 Upgrade to Spring HATEOAS 2.0.0-M6
Closes gh-31855
2022-09-16 07:41:50 +02:00
Stephane Nicoll
93601611fd Merge branch '2.6.x' into 2.7.x 2022-09-16 07:41:31 +02:00
Stephane Nicoll
756eaea766 Upgrade to Spring HATEOAS 1.5.2
Closes gh-32378
2022-09-16 07:41:04 +02:00
Stephane Nicoll
998396dd8a Upgrade to Spring HATEOAS 1.4.5
Closes gh-32400
2022-09-16 07:39:56 +02:00
Madhura Bhave
b44a7e242c Support Mongo's Stable API in MongoHealthIndicator
Closes gh-30849
2022-09-15 16:48:22 -07:00
Phillip Webb
7f5785182d Switch @SpringBootTest to UseMainMethod.NEVER by default
See gh-22405
2022-09-15 12:37:26 -07:00
Phillip Webb
48f3cd75d4 Refine SpringBootTest.useMainMethod support
Refine `SpringBootContextLoader` so that calls to the main method do
not exit early and the hook is only used when necessary.

See gh-22405
2022-09-15 10:48:58 -07:00
Stephane Nicoll
f1b60eef55 Upgrade to Spring Retry 2.0.0-M1
Closes gh-32293
2022-09-15 18:06:17 +02:00
Andy Wilkinson
2b503ee334 Add AOT-generated classes as a dependency
Previously, the AOT-generated classes were added directly to the
compile classpath of the AOT compilation task. This didn't work
perfectly in IntelliJ IDEA, leaving the generated classes in the
runtime scope and causing compilation problems where the
AOT-generated source tried to reference those classes.

This commit updates the plugin to add the AOT-generated classes as
a dependency to the AOT source set's implementation configuration.
This makes the classes available during compilation by the source
set's Java compilation task while also makeing IntelliJ IDEA aware
of their presence on the compile classpath.

Closes gh-32395
2022-09-15 14:02:54 +01:00
Andy Wilkinson
0476b5da5d Upgrade to Selenium HtmlUnit 3.64.0 and Selenium 4.4.0
Closes gh-32372
Closes gh-32373
2022-09-15 12:31:56 +01:00
Andy Wilkinson
aa67f2422a Merge branch '2.7.x' 2022-09-15 11:58:08 +01:00
Andy Wilkinson
52522b87f0 Merge branch '2.6.x' into 2.7.x
Closes gh-32393
2022-09-15 11:57:28 +01:00
Andy Wilkinson
77f428498f Compile against SnakeYAML 1.32 and test against older versions
Closes gh-32392
2022-09-15 11:55:44 +01:00
Stephane Nicoll
d111aa21cf Merge branch '2.7.x' 2022-09-15 11:11:39 +02:00
Stephane Nicoll
3803cda746 Upgrade to Spring Framework 6.0.0-M6
Closes gh-31834
2022-09-15 11:11:28 +02:00
Stephane Nicoll
150682a2cc Merge branch '2.6.x' into 2.7.x 2022-09-15 11:10:12 +02:00
Stephane Nicoll
4aabe7caf5 Upgrade to Spring Framework 5.3.23
Closes gh-32274
2022-09-15 11:09:43 +02:00
Stephane Nicoll
78fb738117 Upgrade to Spring Framework 5.3.23
Closes gh-32267
2022-09-15 11:08:55 +02:00
Stephane Nicoll
e7a2f0cd5b Merge branch '2.7.x' 2022-09-15 10:06:56 +02:00
Stephane Nicoll
423f6c353a Upgrade CI to Docker 20.10.18
Closes gh-32375
2022-09-15 10:06:45 +02:00
Stephane Nicoll
8e56b77869 Merge branch '2.6.x' into 2.7.x 2022-09-15 10:06:31 +02:00
Stephane Nicoll
29cffc6e40 Upgrade CI to Docker 20.10.18
Closes gh-32376
2022-09-15 10:06:07 +02:00
Stephane Nicoll
3a55c3a530 Upgrade CI to Docker 20.10.18
Closes gh-32377
2022-09-15 10:05:31 +02:00
Stephane Nicoll
9391f329fb Upgrade to Versions Maven Plugin 2.12.0
Closes gh-32391
2022-09-15 09:39:18 +02:00
Stephane Nicoll
8f67cfd709 Upgrade to Undertow 2.2.19.Final
Closes gh-32390
2022-09-15 09:39:16 +02:00
Stephane Nicoll
74c1f5bede Upgrade to UnboundID LDAPSDK 6.0.6
Closes gh-32389
2022-09-15 09:39:13 +02:00
Stephane Nicoll
92b99e3a3f Upgrade to Tomcat 10.0.23
Closes gh-32388
2022-09-15 09:39:11 +02:00
Stephane Nicoll
c10a8cb195 Upgrade to SQLite JDBC 3.39.3.0
Closes gh-32387
2022-09-15 09:39:08 +02:00
Stephane Nicoll
59448ce5d2 Upgrade to SnakeYAML 1.32
Closes gh-32386
2022-09-15 09:39:06 +02:00
Stephane Nicoll
b352ebfc5a Upgrade to RSocket 1.1.3
Closes gh-32385
2022-09-15 09:39:04 +02:00
Stephane Nicoll
16bb543c16 Upgrade to Maven Shade Plugin 3.4.0
Closes gh-32384
2022-09-15 09:39:01 +02:00
Phillip Webb
4d037c3003 Update SpringBootContextLoader to support AOT
Update `SpringBootContextLoader` so that it now implements the
`AotContextLoader` interface. The `ContextLoaderHook` will abandon
at `contextLoaded` if the test class is being AOT processed.

This commit also introduces a new `AotApplicationContextInitializer`
which allows us to plug-in an alternative AOT application context
listener when the `SpringApplication` is running in test mode.

Closes gh-31965
2022-09-14 22:37:47 -07:00
Phillip Webb
d1e7c9bd70 Introduce 'nativeTest' maven profile
Update `spring-boot-start-parent` with a new `nativeTest` profile. When
active, this profile will trigger AOT processing of test code and call
the native build tools 'test' goal.

Closes gh-32383
2022-09-14 22:37:41 -07:00
Phillip Webb
41e0bbf4bb Add SpringBootTest.useMainMethod support
Add a new `useMainMethod` attribute to `SpringBootTest` which can be
used to determine how the test should run. The three available options
are:

	- `ALWAYS`
	- `NEVER`
	- `WHEN_AVAILABLE`

The default is `WHEN_AVAILABLE` which will attempt to launch the test
using the `main` method if there is one.

The `SpringBootContextLoader` has been updated to use the new
`SpringApplicationHook` interface when the main method is being used.

Closes gh-22405
2022-09-14 22:37:37 -07:00
Phillip Webb
fadbb4b763 Polish SpringBootContextLoader 2022-09-14 22:34:53 -07:00
Phillip Webb
d3957dfa3e Provide a public API for SpringApplication hooks
Create a new public SpringApplication Hook API based on the existing
`SpringApplicationRunListener` interface.

The previous package-private `SpringApplicationHooks` class has been
replaced with a public `SpringApplicationHook` interface which acts as
a factory that can create additional `SpringApplicationRunListener`
instances to hook in.

The boolean result from the previous `preRefresh` method has been
replaced with an `AbandonedRunException` which can be thrown from
the `SpringApplicationRunListener`.

Closes gh-32301
2022-09-14 22:34:50 -07:00
Phillip Webb
88913b11ce Allow additional listeners registration in early events
Update `EventPublishingRunListener` so that event listeners may add
additional listeners to the `SpringApplication` during early events.

Prior to this commit, the listeners were collected only once which
meant that if a listener for an `ApplicationStartingEvent` called
`application.addListener(...)`, it would be ignored.

Closes gh-32300
2022-09-14 22:34:39 -07:00
Phillip Webb
6955ed9dcf Make EventPublishingRunListener package private
Closes gh-32299
2022-09-14 13:50:27 -07:00
Phillip Webb
20b91c5ae2 Include 'classesDirectory' in ProcessTestAotMojo classpath
Update `ProcessTestAotMojo` so that the classesDirectory and
the testClassesDirectory are on the classpath when compiling
code.

See gh-32191
2022-09-14 13:50:27 -07:00
Phillip Webb
db89ee6904 Deprecate spring.mvc.ignore-default-model-on-redirect property
Closes gh-32381
2022-09-14 13:49:03 -07:00
Stephane Nicoll
f0df4635c5 Merge branch '2.7.x' 2022-09-14 22:20:50 +02:00
Stephane Nicoll
101d5c0efb Merge branch '2.6.x' into 2.7.x 2022-09-14 22:19:11 +02:00