Commit Graph

8544 Commits

Author SHA1 Message Date
Andy Wilkinson a8b8f43180 Improve description of spring.datasource.initialization-mode
Closes gh-21121
2020-11-04 16:46:28 +00:00
Andy Wilkinson c289ba0c2c Recommend disabling context root redirects with proxied Tomcat
Closes gh-22908
2020-11-04 10:13:55 +00:00
Andy Wilkinson 28ccf54b21 Ignore schema username when auto-configuring a test DB
Previously, when an embedded test database was being auto-configured
any schema username and password specified by the user would result
in a separate embedded test database being created to load the schema.
This then left the actual test database without the schema causing
test failures.

This commit updates the test database auto-configuration to set the
schema username to an empty string in a property source that's added
first to the environment's property sources. This causes any schema
username configured by the user to be ignored, preventing the creation
of a separate database for schema.sql processing.

Fixes gh-19321
2020-11-04 09:30:19 +00:00
Pascal Schumacher 5472fcf433 Fix typo in Spring Session documentation
See gh-24020
2020-11-03 20:31:42 +00:00
Andy Wilkinson 2f280b01e1 Improve Spring Session back-off documentation
Closes gh-23151
2020-11-03 19:42:57 +00:00
Andy Wilkinson 35bff55097 Ensure that Quartz can be auto-configured with a Quartz-specific TM
Previously, Quartz could be configured with a specific DataSource
using `@QuartzDataSource` but it was not possible to configure a
Quartz-specific transaction manager. This could result in the
different DataSources being used by Quartz itself and Quart'z
DataSourceTransactionManager.

This commit introduces a new qualifier, `@QuartzTransactionManager`,
that can be used to avoid the above-described problem. Any
`@QuartzTransactionManager`-annotated bean will be used by the
Quartz auto-configure configuration instead of the application's main
`TransactionManager`. If no such qualified bean is present, the
application's main TransactionManager, if any, will be used as before.

Fixes gh-20184
2020-11-03 15:56:44 +00:00
Andy Wilkinson 6548ca4c11 Implement equals and hashCode in TestTypeExcludeFilter
Fixes gh-23978
2020-11-03 14:50:00 +00:00
Andy Wilkinson 30a0ccab02 Remove use of `@PostConstruct` from main code
When running on Java 11 (where `@PostConstruct` is no longer part of
the JRE) and without a dependency on jakarta-annotation-api,
`@PostContruct` annotions are silently dropped. This leads to obscure and
hard-to-track down changes in the behaviour of our auto-configuration
as the `@PostConstruct`-annotated methods are not invoked.

To allow users to run on Java 11 without having jakarta-annotation-api
on the classpath, this commit removes use of `@PostConstruct` from main
code. A Checkstyle rule has also been added to prevent its usage in
main code from being reintroduced.

Closes gh-23723
2020-11-03 13:59:38 +00:00
Andy Wilkinson 622606d85a Make it clearer that only the main DataSource bean may be replaced
Closes gh-23808
2020-11-03 10:24:44 +00:00
Andy Wilkinson d32d65b02c Add tip about providing as much typo info as possible in @Bean methods
Closes gh-22925
2020-11-03 10:16:20 +00:00
Andy Wilkinson e7eb7739dc Use overriding rather than overridden getter methods in config prop AP
Fixes gh-23966
2020-10-29 15:30:46 +00:00
Phillip Webb cf09451ffb Retain inner-class data on incremental compile
Ensure that metadata sourced from inner-types is not deleted when
performing an incremental compile. Prior to this commit, the source
type was searched using the `Outer$Inner` format. This is not supported
`Elements.getTypeElement` so we now convert the names to `Outer.Inner`.

Closes gh-10886
2020-10-28 21:13:08 -07:00
Stephane Nicoll 11b55f650c Upgrade to Spring Kafka 2.3.12
Closes gh-23786
2020-10-28 22:28:05 +01:00
Stephane Nicoll 124c148c51 Upgrade to Spring Integration 5.2.9
Closes gh-23956
2020-10-28 22:27:19 +01:00
Stephane Nicoll f2afd28b9a Upgrade to Spring AMQP 2.2.12
Closes gh-23783
2020-10-28 20:24:56 +01:00
Stephane Nicoll 9c4e5904e7 Upgrade to Micrometer 1.3.15
Closes gh-23790
2020-10-28 16:30:05 +01:00
Stephane Nicoll 8bd7cc417e Upgrade to Spring Data Moore-SR11
Closes gh-23776
2020-10-28 16:29:27 +01:00
Stephane Nicoll 93e36a97ab Remove version elements from Maven plugin documentation
This commit removes `<version>` from the Maven Plugin documentation
where it makes sense so that versions aren't hardcoded unnecessarily.

Rather, a plugin or dependency management should be in place so those
are not needed.

Closes gh-23909
2020-10-28 13:39:03 +01:00
Stephane Nicoll a3818d690e Fix custom layout example so that tokens are replaced 2020-10-28 13:37:59 +01:00
Andy Wilkinson b9516bc77c Await registration of http.server.requests meter
Previously, the test would make an HTTP request and, as soon as the
response was received, it would check the presence and value of the
http.server.requests meter. This create a race condition between the
meter being registered once the response had been flushed and the
meter's presence being checked. If the check won the race, the test
would fail.

This commit updates the test to wait for up to 5 seconds for the
meter to be present and have a count of 1, matching the single request
that has been made.

Fixes gh-23919
2020-10-27 15:54:22 +00:00
Stephane Nicoll 8b49f792cb Upgrade to Spring Framework 5.2.10
Closes gh-23773
2020-10-27 15:48:17 +01:00
Stephane Nicoll d5cb6c1a4f Upgrade to RSocket 1.0.3
Closes gh-23910
2020-10-27 03:25:59 +01:00
Stephane Nicoll 7fa5ff46f7 Upgrade to Reactor Dysprosium-SR13
Closes gh-23769
2020-10-26 18:15:58 +01:00
Andy Wilkinson ac8d55db78 Upgrade to Spring Security 5.2.7.RELEASE
Closes gh-23862
2020-10-26 10:25:29 +00:00
Andy Wilkinson dc523c1bbd Upgrade to Lombok 1.18.16
Closes gh-23861
2020-10-26 10:25:27 +00:00
Andy Wilkinson 072bfae4af Upgrade to Postgresql 42.2.18
Closes gh-23860
2020-10-26 10:25:26 +00:00
Andy Wilkinson e9fe96b0ba Upgrade to Neo4j Ogm 3.2.17
Closes gh-23859
2020-10-26 10:25:25 +00:00
Andy Wilkinson 3b63e2c6da Upgrade to Hibernate Validator 6.0.21.Final
Closes gh-23858
2020-10-26 10:25:24 +00:00
Andy Wilkinson fdf44f1fd1 Upgrade to Hibernate 5.4.22.Final
Closes gh-23857
2020-10-26 10:25:22 +00:00
Andy Wilkinson 53a458ffcf Upgrade to Elasticsearch 6.8.13
Closes gh-23856
2020-10-26 10:25:21 +00:00
Andy Wilkinson 5854abcbf1 Upgrade to Jetty 9.4.33.v20201020
Closes gh-23855
2020-10-26 10:25:19 +00:00
Andy Wilkinson 4588889da4 Upgrade to Tomcat 9.0.39
Closes gh-23854
2020-10-26 10:25:18 +00:00
Andy Wilkinson 1ef399b6fa Upgrade to Httpclient 4.5.13
Closes gh-23853
2020-10-26 10:25:16 +00:00
Andy Wilkinson e8cf97bdbb Upgrade to Byte Buddy 1.10.17
Closes gh-23852
2020-10-26 10:25:15 +00:00
Andy Wilkinson 46392bc50d Upgrade to Mysql 8.0.22
Closes gh-23851
2020-10-26 10:25:14 +00:00
Andy Wilkinson 39e81521cb Upgrade to Joda Time 2.10.8
Closes gh-23850
2020-10-26 10:25:13 +00:00
Andy Wilkinson 1cc0a45749 Upgrade to Undertow 2.0.32.Final
Closes gh-23849
2020-10-26 10:25:11 +00:00
Andy Wilkinson fc94588d9f Upgrade to Rxjava2 2.2.20
Closes gh-23848
2020-10-26 10:25:10 +00:00
Andy Wilkinson d6c20b917b Upgrade to Netty 4.1.53.Final
Closes gh-23847
2020-10-26 10:25:09 +00:00
Andy Wilkinson b0ddcdd695 Upgrade to Dropwizard Metrics 4.1.14
Closes gh-23846
2020-10-26 10:25:07 +00:00
Andy Wilkinson 91a71e3ca7 Upgrade to Hazelcast 3.12.10
Closes gh-23845
2020-10-26 10:25:06 +00:00
Andy Wilkinson 1b10af0c55 Upgrade to Caffeine 2.8.6
Closes gh-23844
2020-10-26 10:25:04 +00:00
Brian Clozel 9478cd2dfb Document how to configure h2c protocol
Prior to this commit, the how-to documentation would say that Spring
Boot does not support the h2c protocol. While it's not supported
out-of-the-box with a configuration property, this protocol can still be
configured using server customizers.

This commit documents, with code snippets, the server customizers one
should use to configure the h2c protocol in an application - for each
supported server.

Closes gh-21997
2020-10-22 20:04:35 +02:00
Brian Clozel 5eb1e26e10 Add HttpEncodingAutoConfiguration to WebMvcTest
Prior to this commit, tests using the `@WebMvcTest` annotation would not
include the `HttpEncodingAutoConfiguration`. This means that, even if
configured, the encoding filter would not be configured in MVC tests,
resulting in an inconsistency with `@SpringBootTest` tests.

This commit ensures that the `HttpEncodingAutoConfiguration` is included
when `@WebMvcTest` is used.

Fixes gh-23749
2020-10-22 20:02:45 +02:00
Stephane Nicoll a601901a6c Start building against Spring Kafka 2.3.12 snapshots
See gh-23786
2020-10-21 15:06:01 +02:00
Stephane Nicoll 2415987c70 Start building against Spring AMQP 2.2.12 snapshots
See gh-23783
2020-10-21 15:05:07 +02:00
Stephane Nicoll bc8d200905 Start building against Spring Data Moore-SR11 Snapshots
See gh-23776
2020-10-21 15:04:18 +02:00
Stephane Nicoll 551623435b Start building against Spring Framework 5.2.10 snapshots
See gh-23773
2020-10-21 09:49:47 +02:00
Stephane Nicoll 7b4e3462ec Start building against Reactor Dysprosium-SR13 snapshots
See gh-23769
2020-10-21 09:48:50 +02:00
Stephane Nicoll 4f4cc8b182 Polish contribution
See gh-23755
2020-10-20 16:56:30 +02:00
cdalexndr 2f2b1b9656 Note that using LiveReload requires Devtools restart to be enabled
See gh-23755
2020-10-20 16:53:49 +02:00
Andy Wilkinson 11bc62fb83 Stop using PostConstruct to default session timeout to ServerProperties'
Fixes gh-23716
2020-10-19 14:31:01 +01:00
Andy Wilkinson 2a40bd7853 Register shutdown hook so it can tidy up a partial refresh
Previously, the shutdown hook was only registered once refresh has
completed. If the JVM was shut down during refresh (or after refresh
and before the hook was registered) the hook wouldn't run and the
partially refreshed context would not be cleaned up.

This commit moves the registration of the shutdown hook to before
refresh processing begins. This ensures that the hook is available
to clean up the context if the JVM is shutdown while refresh is in
progress.

Fixes gh-23625
2020-10-19 09:16:07 +01:00
Andy Wilkinson 7fc345f587 Apply server.undertow.eager-filter-init to factory
Fixes gh-23675
2020-10-13 13:02:36 +01:00
Andy Wilkinson 667ccdae84 Simplify temp directory creation and improve diagnostics
Closes gh-23622
2020-10-13 11:18:06 +01:00
Phillip Webb ce70e7d768 Merge branch '2.1.x' into 2.2.x
Closes gh-23613
2020-10-07 11:40:55 -07:00
Phillip Webb 1db2f5f960 Support Formatter conversion service beans
Update `ConversionServiceDeducer` to also include `Formatter` beans
when they are qualified with `@ConfigurationPropertiesBinding`.

Fixes gh-23576
2020-10-07 11:34:57 -07:00
Phillip Webb c523295694 Merge branch '2.1.x' into 2.2.x
Closes gh-23610
2020-10-07 11:04:39 -07:00
Phillip Webb 206356728c Add upgrading section to reference docs
Add a section to the reference documentation with links to the release
notes on the wiki.

Closes gh-23529
2020-10-07 11:04:20 -07:00
Andy Wilkinson 7ac14203ab Expand Gradle plugin's docs on setting bootRun's system properties
Closes gh-23578
2020-10-06 14:35:30 +01:00
Madhura Bhave c0f158dffd Polish "Do not fail if h2Console bean cannot connect to db"
See gh-23566
2020-10-01 18:16:11 -07:00
Shraddha Yeole 2d76de29ff Do not fail if h2Console bean cannot connect to db
See gh-23566
2020-10-01 18:10:48 -07:00
Madhura Bhave 3118ca9313 Polish 2020-10-01 18:01:11 -07:00
ketaki-t 66aa24b5f0 Remove documentation for unsupported gradle versions
See gh-23562
2020-10-01 17:13:26 -07:00
Andy Wilkinson 323af718e2 Only change the method of requests that Jetty won't handle by default
Previously, JettyEmbeddedErrorHandler would change the method of every
request that is handles to GET. This was being done to work around
Jetty's error handling only dealing with GET, POST, and HEAD requests
by default. It had the unwanted side-effect of causing an error
response to a HEAD request having a body as, from the error handling's
perspective, it was a GET request.

This commit updates JettyEmbeddedErrorHandler to only set the method
on a request for which error handling is being performed if the method
isn't already one that will be handled, leaving the method of GET,
POST, and HEAD requests unchanged.

Unfortunately, short of implementing an HTTP client, this change cannot
be tested as the Apache HttpClient, OkHttp, and the JDK's
HttpURLConnection all silently drop the body of a response to a HEAD
request, preventing a test from asserting that a body hasn't been sent.

Closes gh-23551
2020-10-01 12:29:44 +01:00
Stephane Nicoll fd3683646a Migrate SessionAutoConfigurationMongoTests to Testcontainers
Closes gh-23512
2020-09-29 10:34:59 +02:00
Rujun Chen 8330752b11 Add mising entry for Netty tcnative dependency management
See gh-23502
2020-09-28 09:18:44 +02:00
Andy Wilkinson e74f777971 Remove use of spring-core's Assert from PropertiesLauncher
Fixes gh-23474
2020-09-26 09:11:05 +01:00
Andy Wilkinson 6dc8e6815d Align default tldScanPatterns with Tomcat's
Previously, we configured embedded Tomcat in such a way that no TLD
scan patterns were configured. This differed from a standalone
Tomcat installation where 4 patterns are configured that take
precedence over some of the skip patterns. The missing scan patterns
resulted in the skip patterns preventing the discovery of Log4j2's
TLDs.

This commit updates TomcatServletWebServerFactory to configure the
same four scan patterns as standalone Tomcat configures by default.

Fixes gh-23302
2020-09-24 17:51:38 +01:00
Andy Wilkinson bf9d23e55a Consider SpringBootTest's web environment in context cache key
Previously, the web environment configured on `@SpringBootTest` was not
part of the context cache key. As a result, two test classes that has
identical configuration other than one using a MOCK web environment and
the other using a DEFINED_PORT web environment would share a context
when they should not do so. Classes that use MOCK and RANDOM_PORT were
not affected as the use of RANDOM_PORT results in a property for the
port being added to the environment.

This commit adds a new ContextCustomizer, SpringBootTestWebEnvironment,
that is used to capture the `webEnvironment` from `@SpringBootTest`
and use it in its hashCode and equals implementations. This fixes the
problem as all context customizers are evaluated when determing the
equality of two context cache keys.

Fixes gh-23085
2020-09-24 14:43:51 +01:00
Pavel Gordon 62eb835a4e Fix link to Log4j's JDK Logging Adapter in reference documentation
See gh-23459
2020-09-23 14:36:00 +02:00
Andy Wilkinson 24102656f2 Fix Log4j2 XML configuration tests on Windows
See gh-22983
2020-09-22 16:03:58 +01:00
Stephane Nicoll 2999f09a40 Rework tip on templates location in the IDE
This commit rework the tip on locating templates when running the app
in the IDE. Using classpath* should not change anything as this won't
make a difference without a pattern in the path.

Closes gh-23068
2020-09-22 16:44:16 +02:00
Stephane Nicoll 7f84a92ef1 Document that Java 15 is supported
Closes gh-23447
2020-09-22 15:19:47 +02:00
dreis2211 fba1fb23e4 Fix multi-release JAR test on JDK 15
Backport of 54f93e9

See gh-23445
2020-09-22 10:09:18 +02:00
Phillip Webb b443d22c59 Merge branch '2.1.x' into 2.2.x
Closes gh-23443
2020-09-21 23:19:41 -07:00
Phillip Webb cc442c5c0d Make HandlerFunctionDescription JDK 15 compatible
Update `HandlerFunctionDescription` so that it will work with JDK 15.

Closes gh-23442
2020-09-21 23:18:02 -07:00
Phillip Webb 4945806d84 Make `StringSequence.isEmpty()` public
Make `StringSequence.isEmpty()` public for compatibility with JDK 15.

Closes gh-23440
2020-09-21 22:26:20 -07:00
Andy Wilkinson 0edf7cb9b9 Polish Log4j2 XML configuration tests
See gh-22983
2020-09-21 19:26:40 +01:00
Andy Wilkinson f6492cd0c0 Consume level and dateformat patterns as system props in Log4j config
Previously LOG_LEVEL_PATTERN and LOG_DATEFORMAT_PATTERN were not
consumed as system properties in log4j2.xml and log4j2-file.xml. As a
result, the logging.pattern.level and logging.pattern.dateformat
configuration properties, which are translated into the
LOG_LEVEL_PATTERN and LOG_DATEFORMAT_PATTERN system properties
respectively had no effect.

This commit updates the log4j2.xml and log4j2-file.xml config files to
consume LOG_LEVEL_PATTERN and LOG_DATEFORMAT_PATTERN as system
properties. When the system property is not set, the configuation falls
back to the default values specified in the config files. Tests for
both log4j2.xml and log4j2-file.xml to verify the behaviour have also
bean added.

Fixes gh-22983
2020-09-21 15:08:41 +01:00
Andy Wilkinson 581190d7a0 Test the Gradle plugin against 6.7-rc-1
Closes gh-23425
2020-09-21 12:14:35 +01:00
Andy Wilkinson 360e29af48 Polish "Add note about Kotlin main class name"
See gh-23418
2020-09-21 10:40:29 +01:00
Sebastiaan Fernandez 0bde5fda9b Add note about Kotlin main class name
See gh-23418
2020-09-21 10:36:16 +01:00
Andy Wilkinson 95f26c6358 Configure Flyway with initSqls for any DataSource configuration
Previously, spring.flyway.init-sqls was only applied to Flyway's
configuration if Flyway was being configured to create the DataSource.
If Flyway was being configured to use an existing DataSource, init-sqls
was not applied. This is a hangover from when the init SQLs support was
introduced. At that time, Flyway only supported SQL to initialize the
connection when it was creating the DataSource. Flyway 5.2 added init
SQL support no matter how Flyway's DataSource was configured.

This commit updates FlywayAutoConfiguration to always apply the
init-sqls property to Flyway's configuration. The property's
documentation does not describe the current limitation so this change
should align the behaviour with what the documentation leads people to
expect.

Fixes gh-23392
2020-09-18 13:03:24 +01:00
Andy Wilkinson 5ec673ff2a Add anchors to section headers in Gradle plugin docs
Fixes gh-23402
2020-09-18 09:06:54 +01:00
Stephane Nicoll ab2115633f Upgrade to Micrometer 1.3.14
Closes gh-23388
2020-09-17 08:46:30 +02:00
Stephane Nicoll 35b33303d0 Upgrade to Spring Session Corn-SR4
Closes gh-23186
2020-09-17 08:45:52 +02:00
Stephane Nicoll 91c1d52fc1 Upgrade to Micrometer 1.1.18
Closes gh-23384
2020-09-17 07:40:59 +02:00
Stephane Nicoll db04672403 Upgrade to Spring Session Bean-SR12
Closes gh-23185
2020-09-17 07:37:14 +02:00
Stephane Nicoll e5d135c61c Upgrade to Spring Kafka 2.3.11
Closes gh-23198
2020-09-17 07:23:41 +02:00
Andy Wilkinson d3d96f0417 Upgrade to Spring REST Docs 2.0.5.RELEASE
Closes gh-23374
2020-09-16 17:45:34 +01:00
Andy Wilkinson e87e52d035 Merge branch '2.1.x' into 2.2.x
Closes gh-23375
2020-09-16 17:38:02 +01:00
Andy Wilkinson 106968a115 Upgrade to Spring REST Docs 2.0.5.RELEASE
Closes gh-23374
2020-09-16 17:36:34 +01:00
Stephane Nicoll 9ab8ad6e74 Upgrade to Spring AMQP 2.2.11
Closes gh-23372
2020-09-16 18:23:06 +02:00
Stephane Nicoll 9a09a3c570 Upgrade to Spring AMQP 2.1.17
Closes gh-23371
2020-09-16 18:20:34 +02:00
Stephane Nicoll bac5a7909e Upgrade to Spring Data Moore-SR10
Closes gh-23195
2020-09-16 15:44:25 +02:00
Stephane Nicoll b1e47811af Upgrade to Spring Data Lovelace-SR20
Closes gh-23194
2020-09-16 15:40:09 +02:00
Stephane Nicoll d7a5d44a75 Upgrade to Spring Ws 3.0.10.RELEASE
Closes gh-23336
2020-09-16 10:02:17 +02:00
Stephane Nicoll d5aeb828e6 Upgrade to Neo4j Ogm 3.2.16
Closes gh-23335
2020-09-16 10:02:15 +02:00
Stephane Nicoll 3f520f18d7 Upgrade to Tomcat 9.0.38
Closes gh-23334
2020-09-16 10:02:14 +02:00