Commit Graph

6260 Commits

Author SHA1 Message Date
Stephane Nicoll e6a5895c05 Start build against Spring Session Bean snapshots
See gh-17581
2019-07-19 11:13:43 +02:00
Stephane Nicoll 32e00d5dd2 Start building against Spring Data Lovelace snapshots
See gh-17353
2019-07-19 11:11:42 +02:00
Stephane Nicoll 1d4e9cb6a4 Start building against Spring Framework 5.1 snapshots
See gh-17351
2019-07-19 11:10:58 +02:00
Andy Wilkinson 3dc20ff934 Recommend third-party tracing/observability solutions
Closes gh-17047
2019-07-19 10:04:27 +01:00
Stephane Nicoll 08afbe286c Merge branch '2.1.x'
Closes gh-17580
2019-07-19 10:35:01 +02:00
Stephane Nicoll b8d92cb0ae Fix @DataJdbcTest to be transactional as advertized
Closes gh-17513
2019-07-19 10:33:59 +02:00
Stephane Nicoll 5903e9a57a Polish 2019-07-19 10:33:52 +02:00
Andy Wilkinson 741d8735d2 Merge branch '2.1.x'
Closes gh-17576
2019-07-18 17:57:07 +01:00
dreis2211 43833c7bf0 Remove unused java-statsd-client dependencies
See gh-17508
2019-07-18 17:54:48 +01:00
Andy Wilkinson 41957ec2ad Polish "Polish OutputCapture and its JUnit Jupiter extension"
See gh-17049
2019-07-18 17:46:56 +01:00
Sam Brannen e1c595a67f Polish OutputCapture and its JUnit Jupiter extension
- Polish Javadoc
- Improve error message in OutputCapture
- Use ExtensionContext.Store in OutputCaptureExtension

See gh-17049
2019-07-18 17:46:55 +01:00
Stephane Nicoll 4ce9c6edb3 Polish "Make layout parameter available as a user property"
See gh-17277
2019-07-18 18:20:06 +02:00
Marc Rohlfs d2e34e6b07 Make layout parameter available as a user property
This commit allows the layout parameter of the Maven repackage goal to
be set from the command line.

See gh-17277
2019-07-18 18:20:06 +02:00
Andy Wilkinson cc85746942 Merge branch '2.1.x'
Closes gh-17575
2019-07-18 17:17:05 +01:00
Andy Wilkinson 591250f75e Polish "Hide loader classes from Tomcat's ServletContext resource paths"
See gh-17538
2019-07-18 17:05:31 +01:00
adavid9 a81325bbbc Hide loader classes from Tomcat's ServletContext resource paths
See gh-17538
2019-07-18 17:05:27 +01:00
Andy Wilkinson 0f105f7471 Fail fast if spring.config.location uses unknown file extension
Closes gh-17241
2019-07-18 15:34:49 +01:00
Stephane Nicoll dd2f20fcd2 Polish "Add support for configuring Tomcat's relaxed path and query chars"
See gh-17510
2019-07-18 16:00:06 +02:00
dirkdeyne 1fee797af7 Add support for configuring Tomcat's relaxed path and query chars
See gh-17510
2019-07-18 15:04:29 +02:00
Stephane Nicoll be988d7072 Polish "Add HealthIndicator for Hazelcast"
See gh-17499
2019-07-18 15:00:53 +02:00
Dmytro Nosan fca5a2b824 Add HealthIndicator for Hazelcast
See gh-17499
2019-07-18 14:58:18 +02:00
dreis2211 2038fac825 Remove testsupport.assertj package
See gh-17557
2019-07-18 14:20:28 +02:00
Andy Wilkinson 3bf5cf1124 Merge branch '2.1.x'
Closes gh-17562
2019-07-18 07:22:24 +01:00
Andy Wilkinson b725c60177 Deprecate DeploymentInfo customization with reactive Undertow
Fixes gh-17555
2019-07-18 06:54:38 +01:00
Phillip Webb a9ba7080ce Merge branch '2.1.x' 2019-07-17 21:48:42 +01:00
Phillip Webb 30b5ba87ae Merge branch '2.0.x' into 2.1.x 2019-07-17 21:48:01 +01:00
Phillip Webb fd67f7ba3f Merge branch '1.5.x' into 2.0.x 2019-07-17 21:47:04 +01:00
Phillip Webb d567261790 Polish 2019-07-17 21:38:44 +01:00
Andy Wilkinson dad7fb4f6d Add NettyServerCustomizer beans to the auto-configured factory
Closes gh-17556
2019-07-17 14:58:11 +01:00
Andy Wilkinson ea1139755d Ensure that customizers registered multiple times are only called once
Closes gh-17264
2019-07-17 14:52:29 +01:00
Stephane Nicoll 62233a0750 Merge branch '2.1.x'
Closes gh-17554
2019-07-17 14:29:16 +02:00
Stephane Nicoll b6ca1eadeb Fix prefix for datasource metrics
Closes gh-17553
2019-07-17 14:28:12 +02:00
Stephane Nicoll 56ce2b8e3f Polish "Add metrics support for idle jdbc connections"
See gh-17504
2019-07-17 14:14:47 +02:00
ayudovin 9acc02b5cc Add metrics support for idle jdbc connections
See gh-17504
2019-07-17 14:14:47 +02:00
Andy Wilkinson 808b373def Merge branch '2.1.x'
Closes gh-17552
2019-07-17 12:45:48 +01:00
Andy Wilkinson 9dabc0e14d Cleared deferred lines after each test
Previously, DeferredLinesWriter would collect MockMvc output from
every test that has executed. If a test eventually failed, the
output from every test up to including the one that had failed would
be output, rather than just the output for the test that has just
failed.

This commit clears the deferred lines after each test, thereby
ensuring that when a failure occurs only the lines from the failing
test are output.

Fixes gh-17551
2019-07-17 12:29:41 +01:00
Stephane Nicoll f32020aaad Polish "Add reference to amqp-rabbit-spring-boot-autoconfigure"
See gh-17537
2019-07-17 11:30:57 +02:00
EugeneMsv e632ea706d Add reference to amqp-rabbit-spring-boot-autoconfigure
See gh-17537
2019-07-17 11:29:22 +02:00
Stephane Nicoll cc6f321da4 Improve detection of NoSuchMethodError on Java 13
Closes gh-17544
2019-07-17 11:17:37 +02:00
Stephane Nicoll 3a49996dbd Merge branch '2.1.x'
Closes gh-17547
2019-07-17 10:30:36 +02:00
Stephane Nicoll a64317b114 Fix broken link to Spring Integration metrics section
Closes gh-17543
2019-07-17 10:26:40 +02:00
Andy Wilkinson 73f7a9318f Merge branch '2.1.x'
Closes gh-17546
2019-07-17 09:07:28 +01:00
Andy Wilkinson e84477cfe2 Only perform Quartz DataSource init when using JDBC store
Fixes gh-17545
2019-07-17 09:04:17 +01:00
Phillip Webb 74d00354f5 Refine BuildInfoMojo time property
Update `BuildInfoMojo` so that the time property now defaults to
`${session.request.startTime}` rather than the time the Mojo was
created. Also update javadoc to make it clear that any supplied
value will be passed to `Instant.parse`.

See gh-17390
2019-07-16 13:51:03 +01:00
Stephane Nicoll 1f7615a964 Polish "Add support for configuring Spring Session SaveMode"
See gh-17514
2019-07-16 11:30:38 +02:00
Vedran Pavic e073792448 Add support for configuring Spring Session SaveMode
See gh-17514
2019-07-16 11:09:54 +02:00
wonwoo 93bcc3dcf5 Update documentation to use JUnit Jupiter
See gh-17507
2019-07-16 11:04:50 +02:00
dreis2211 4ec035977b Polish testsupport.junit.platform package
See gh-17524
2019-07-15 21:35:25 +01:00
Andy Wilkinson cbc17c237b Make it easier to determine each servlet filter's order
Closes gh-17520
2019-07-15 17:10:32 +01:00
Andy Wilkinson 8aed06452d Allow custom resource handlers to provide favicon.ico
Closes gh-17381
2019-07-15 14:18:45 +01:00
Stephane Nicoll a3e94f4412 Harmonize component scan in slice tests
This commit updates ConfigurationPropertiesScanRegistrar to apply the
same component scan filters than the ones applied on standard classpath
scanning.

As a result, configuration properties scanning is automatically disabled
in slice tests and can be included by an explicit import or a dedicated
TypeFilter implementation if necessary.

Closes gh-16659
2019-07-15 15:05:12 +02:00
Phillip Webb eff1147ccc Rename classpath runner package
Remove `runner` since we're no longer tied to JUnit 4.

See gh-17491
2019-07-15 13:40:26 +01:00
Phillip Webb 1117fdb2b3 Make ModifiedClassPathExtension package private
Meta-annotate `ClassPathExclusions` and `ClassPathOverrides` with
so that the `ModifiedClassPathExtension` no longer needs to be
used directly.

See gh-17491
2019-07-15 13:38:26 +01:00
Phillip Webb b6ec1332a0 Polish ModifiedClassPathClassLoader
Remove the `ModifiedClassPathClassLoaderFactory` in favor of
factory methods on `ModifiedClassPathClassLoader`.

See gh-17491
2019-07-15 13:37:34 +01:00
Phillip Webb 4fe5e9e31e Remove direct junit-platform-launcher dependency
Replace any direct `junit-platform-launcher` dependencies and instead
rely on the test runner providing it. Launcher related class are not
handled via reflection.

This update allows us to workaround SUREFIRE-1679.

Closes gh-17517
2019-07-15 13:35:08 +01:00
Phillip Webb 543fcdbbfd Delete internal OutputCaptureRule
Delete our internal `OutputCaptureRule` since we not longer have any
tests using it.
2019-07-15 00:36:13 +01:00
Phillip Webb 13b39cbbbf Delete ModifiedClassPathRunner
Delete `ModifiedClassPathRunner` since we no longer have any tests
that use it.

See gh-17491
2019-07-15 00:33:00 +01:00
Phillip Webb bd81bb90eb Polish ModifiedClassPath support
See gh-17491
2019-07-15 00:32:34 +01:00
dreis2211 0f0278e69b Migrate ModifiedClassPath tests to JUnit 5
Migrate the remaining JUnit 4 tests to JUnit 5, making use of the
new `ModifiedClassPathExtension`.

See gh-17491
2019-07-15 00:31:03 +01:00
dreis2211 2a4c48cb91 Add JUnit 5 ModifiedClassPathExtension
Add a JUnit 5 extension that allows tests to be run with a
modified classpath. Since JUnit 5 does not currently offer a way
to run tests with a different classpath, we instead fake the
original invocation and launch an entirely new run for each
method.

See gh-17491
2019-07-15 00:28:53 +01:00
dreis2211 90d824f6cb Extract ModifiedClassPathClass logic
Extract classes from `ModifiedClassPathRunner` so that they can
be reused.

See gh-17491
2019-07-15 00:27:42 +01:00
dreis2211 ca1808ecae Migrate to MockRestServiceServer
Migrate `RestClientTestWithoutJacksonIntegrationTests` to use
Spring's `MockRestServiceServer`.

See gh-17491
2019-07-15 00:26:16 +01:00
dreis2211 1bc9c8544e Polish LoggingApplicationListenerTests
See gh-17491
2019-07-15 00:26:12 +01:00
dreis2211 b0bf2dd7ab Migrate to ApplicationContextRunner
Migrate a new tests to use the `ApplicationContextRunner`.

See gh-17491
2019-07-15 00:26:08 +01:00
Phillip Webb 0cb6a7f47d Polish 2019-07-15 00:24:19 +01:00
Phillip Webb 01933f9b06 Merge previously split strings
Merge some string lines that were previously split because of the
90 chars wide formatting.
2019-07-15 00:24:19 +01:00
Phillip Webb c3816bfe7b Polish output capture names 2019-07-15 00:24:18 +01:00
Phillip Webb cdf43a7489 Polish 2019-07-14 19:42:56 +01:00
Phillip Webb 8d4a2add63 Allow OutputCaptureRule to be used with AssertJ
Update `OutputCaptureRule` so that it now implements
`CapturedOutput` and can be used directly with AssertJ.

Closes gh-17512
2019-07-14 19:42:42 +01:00
Stephane Nicoll 79b29396d0 Merge branch '2.1.x'
Closes gh-17506
2019-07-14 13:14:21 +02:00
dreis2211 e9203a280c Test the Gradle Plugin against Gradle 5.5.1
See gh-17496
2019-07-14 13:13:17 +02:00
dreis2211 82047a2544 Polish
See gh-17505
2019-07-14 11:38:40 +02:00
Phillip Webb b7e092e821 Fix upstream RSocket method renames
Align with the recent upstream Spring Framework changes triggered by
their issue #23170.
2019-07-13 14:01:04 +01:00
Madhura Bhave 6164e3efe8 Merge branch '2.1.x' 2019-07-10 18:26:25 -07:00
Madhura Bhave aebb60d8b8 Fix tests
Setting the log file name to a random value in smoke tests
doesn't work because the logger context has already been initialized.
2019-07-10 18:14:58 -07:00
Madhura Bhave d590c3ed10 Merge branch '2.1.x'
Closes gh-17486
2019-07-10 15:32:22 -07:00
Madhura Bhave 773dda3d55 Log file location should be evaluated just once
Using a random value for the logfile name caused
the logfile endpoint to return a 404 as the name
was resolved from the environment on every request.
This commit registers a bean for LogFile which is then
used by the logfile endpoint.

Fixes gh-17434
2019-07-10 14:46:09 -07:00
Andy Wilkinson dc0432665b Use ephemeral ports rather than 8080 in our tests
Closes gh-17025
2019-07-10 17:22:40 +01:00
Brian Clozel 906f7637ed Add synchronoss multipart dependency in webflux starter
Fixes gh-17484
2019-07-10 16:19:39 +02:00
Dmytro Nosan 8dd9c6baa1 Allow build.time to be disabled so BuildInfoMojo's output is repeatable
See gh-17390
2019-07-10 13:40:17 +01:00
Andy Wilkinson 1fffe0ab3e Merge branch '2.1.x'
Closes gh-17482
2019-07-10 13:37:32 +01:00
Dmytro Nosan 93d0427fb5 Polish AbstractDependsOnBeanFactoryPostProcessor
See gh-17480
2019-07-10 13:36:57 +01:00
Andy Wilkinson 47f4bb0d64 Merge branch '2.1.x'
Closes gh-17481
2019-07-10 13:30:10 +01:00
Andy Wilkinson f753c31988 Polish "Set up MongoClient beans' dependencies by type rather than name"
See gh-16627
2019-07-10 13:13:19 +01:00
ielatif 39f1039425 Set up MongoClient beans' dependencies by type rather than name
See gh-16627
2019-07-10 13:10:41 +01:00
Brian Clozel 32ecb63002 Add reactor-tools dependency for javadoc generation
See gh-17128
2019-07-10 13:59:45 +02:00
Andy Wilkinson 6adcd75481 Merge branch '2.1.x'
Closes gh-17479
2019-07-10 12:37:40 +01:00
Andy Wilkinson 80650f485d Polish "Allow depended on beans to be identified by type"
See gh-17020
2019-07-10 12:25:57 +01:00
Dmytro Nosan 9923ffe9bd Allow depended on beans to be identified by type
Prior to this commit, `AbstractDependsOnBeanFactoryPostProcessor`
could only identify depended on beans by name.

See gh-17020
2019-07-10 12:25:57 +01:00
Stephane Nicoll acfb7f28f4 Merge branch '2.1.x'
Closes gh-17478
2019-07-10 12:49:13 +02:00
Stephane Nicoll 852f4a280c Fix supported java version range in documentation
Closes gh-17476
2019-07-10 12:48:50 +02:00
Brian Clozel 3c28622ebc Add support for reactor-tools debug agent
The `reactor-tools` dependency now brings a new Reactor Debug Agent
which instruments loaded classes for better Reactor stacktraces.
This commit removes the `spring.reactor.stacktrace-mode.enabled`
configuration property since the related Reactor Hook is about to be
removed.
As a replacement, we're introducing `spring.reactor.debug-agent.enabled`
which tells whether the Reactor Debug Agent should be loaded, given that
the `reactor-tools` dependency is available. This option is enabled by
default, since adding the dependency on classpath is a strong signal
already.

Fixes gh-17128
2019-07-10 12:06:26 +02:00
Brian Clozel b1a3849b27 Disable Jackson XML support in RSocket codecs
Prior to this commit, having the `spring-boot-starter-rsocket` and the
`jackson-dataformat-xml` dependencies on classpath would result in a
`ClassCastException` when the RSocket auto-configuration tries to
configure Jackson CBOR codecs for RSocket strategies.

This commit disables the Jackson XML support for the CBOR codec in
RSocket.

Fixes gh-17425
2019-07-10 12:06:26 +02:00
Brian Clozel 2830847344 Optimize reactor operators in actuator support
This commit uses native Reactor operators `Mono.fromCallable` and
`subscribeOn` for better performance and support.

Fixes gh-17452
2019-07-10 12:06:26 +02:00
dreis2211 25586a2e23 Use Assertions.contentOf() where possible
See gh-17444
2019-07-10 06:40:52 +01:00
Johnny Lim 255469b82f Add Javadoc `@since` tags for new additional Tomcat connectors methods
See gh-17473
2019-07-10 06:32:16 +01:00
dreis2211 32549cfc85 Remove folder that only contains package-info
See gh-17471
2019-07-10 06:24:40 +01:00
Andy Wilkinson be3a737532 Merge branch '2.1.x'
Closes gh-17470
2019-07-09 20:05:30 +01:00
Andy Wilkinson 6748b20863 Prevent JUL loggers from being GCed once their level has been set
Fixes gh-17217
2019-07-09 19:51:55 +01:00
Stephane Nicoll c7311631c0 Merge branch '2.1.x'
Closes gh-17467
2019-07-09 18:01:28 +02:00
Stephane Nicoll 3fb15a502b Remove outdated reference to Guava in the reference guide
Closes gh-17446
2019-07-09 18:00:57 +02:00
Dmytro Nosan fd9e8503bb Polish BatchAutoConfiguration
See gh-17462
2019-07-09 16:56:16 +01:00
Andy Wilkinson edff0f87e2 Merge branch '2.1.x'
Closes gh-17466
2019-07-09 16:52:13 +01:00
Andy Wilkinson acd9b61c8e Make Batch JPA auto-configuration back off without a DataSource
Fixes gh-17465
2019-07-09 15:46:45 +01:00
Andy Wilkinson a40bc64f6e Merge branch '2.1.x'
Closes gh-17463
2019-07-09 15:14:41 +01:00
Andy Wilkinson c5241f0e82 Remove accidental usage of com.hazelcast.util.Base64
Closes gh-17461
2019-07-09 15:03:31 +01:00
Andy Wilkinson d93c79316d Align with body method changes in RequestBodySpec
Closes gh-17460
2019-07-09 12:13:23 +01:00
Andy Wilkinson 3e6c15c451 Deprecate auto-configuration for Joda-Time
Closes gh-17419
2019-07-09 11:52:36 +01:00
Andy Wilkinson 9f253603db Drop -d option from CLI as it was not POSIX compliant
Closes gh-16663
2019-07-09 09:48:49 +01:00
Johnny Lim 426ef749db Polish
See gh-17413
2019-07-09 07:40:30 +02:00
Madhura Bhave 939a247d87 Merge pull request #17448 from izeye
* pr/17448:
  Fix typo

Closes gh-17448
2019-07-08 16:04:35 -07:00
Johnny Lim e42f4d0279 Fix typo
See gh-17448
2019-07-08 16:04:12 -07:00
Andy Wilkinson b0626bca32 Merge branch '2.1.x'
Closes gh-17454
2019-07-08 15:54:04 +01:00
Andy Wilkinson 02bea78229 Retain as much Batch auto-config as possible without Spring JDBC
Closes gh-17451
2019-07-08 15:35:16 +01:00
Andy Wilkinson 5b7c0e0c58 Merge branch '2.1.x'
Closes gh-17453
2019-07-08 14:44:34 +01:00
Andy Wilkinson a023f308ed Make JDBC-based batch configurer back off without a DataSource
Closes gh-17449
2019-07-08 14:43:26 +01:00
Andy Wilkinson 072453bf58 Polish "Add support for configuring a Batch-specific DataSource"
See gh-17375
2019-07-08 13:16:47 +01:00
Dmytro Nosan f449665e2a Add support for configuring a Batch-specific DataSource
See gh-17375
2019-07-08 13:15:24 +01:00
Andreas Gebhardt ed7cfedb51 Fix JavaDoc within spring-boot-test-support
See gh-17443
2019-07-08 12:48:02 +01:00
Andy Wilkinson 3ba25b9ee9 Simplify class loading check in pooled DataSource condition
Closes gh-17284
2019-07-08 12:19:55 +01:00
Andy Wilkinson 638b4b8186 Rename methods to make copying behaviour more clear
Closes gh-17441
2019-07-05 19:09:19 +01:00
Andy Wilkinson b39479bc07 Polish "Add config property for Kafka consumer isolation level"
See gh-17389
2019-07-05 17:23:45 +01:00
Ryan Dunckel 1b8f955fec Add config property for Kafka consumer isolation level
See gh-17389
2019-07-05 17:16:58 +01:00
Andy Wilkinson 0d124e9857 Remove use of field injection from spring-boot-devtools
Closes gh-17442
2019-07-05 14:59:01 +01:00
Andy Wilkinson bd22ca0268 Polish 2019-07-04 19:36:32 +01:00
Andy Wilkinson 2816635418 Polish 2019-07-04 17:51:20 +01:00
Andy Wilkinson 4b2a116fa7 Use String indexOf(char) and lastIndexOf(char) where possible
Closes gh-11416
2019-07-04 17:44:40 +01:00
Andy Wilkinson 6a777a7f9b Disable HiddenHttpMethodFilter by default
HiddenHttpMethodFilter can be problematic as it causes early
consumption of a request body if the body may contain parameters. This
happens as the filter needs to read the parameters to see if an
_method parameter is present. The filter is only beneficial for web
applications that are the hidden HTTP method functionality but is
potentially detriimental to all applications that are not. As such
we no longer believe that it should be enabled by default and users
should be required to opt in.

Closes gh-16953
2019-07-04 14:50:01 +01:00
Andy Wilkinson 2af815f2cf Merge branch '2.1.x'
Closes gh-17432
2019-07-04 12:56:22 +01:00
Andy Wilkinson 7f85aba546 Auto-configure Data Mongo if user provides MongoDbFactory but no client
Previously, if a user defined a MongoDbFactory bean but did not define
a client bean, MongoDataAutoConfiguration would back off leaving the
context without a MongoTemplate, etc.

This commit reworks the auto-configuration so that only the
auto-configuration of a MongoDbFactory is dependent on the existence
of a Mongo client bean. Auto-configuration of the other components
that depend on a MongoDbFactory will now continue in the absence of a
Mongo client bean.

Closes gh-17416
2019-07-04 12:36:03 +01:00
Andy Wilkinson 345c36828f Polish "Use Spring 5 module of Jersey"
See gh-17412
2019-07-04 10:26:39 +01:00
dreis2211 7c6fd31d06 Use Spring 5 module of Jersey
See gh-17412
2019-07-04 10:26:28 +01:00
Andy Wilkinson aa01bd3890 Polish "Polish GradleCompatibilityExtension's javadoc"
See gh-17411
2019-07-04 10:18:18 +01:00
dreis2211 dc4cc214fe Polish GradleCompatibilityExtension's javadoc
See gh-17411
2019-07-04 10:13:17 +01:00
Andy Wilkinson 9d5fa98334 Merge branch '2.1.x'
Closes gh-17429
2019-07-04 10:07:40 +01:00
Andy Wilkinson 7553b60e68 Test the Gradle Plugin against Gradle 5.5
Closes gh-17428
2019-07-04 10:05:57 +01:00
Phillip Webb 4483f41791 Don't validate using BeanPropertyBindingResult
Update `ValidationBindHandler` so that a custom `AbstractBindingResult`
is used rather than `BeanPropertyBindingResult`. This allows us to
validate results, regardless of whether the actual bound instance has
public getters or setter.

Closes gh-17424
2019-07-03 21:59:08 -07:00
Madhura Bhave 3bd7760f9c Polish "Allow Undertow's options to be configured via the environment
See gh-17356
2019-07-03 17:48:56 -07:00
HaiTao Zhang 417f4dd7fa Allow Undertow's options to be configured via the environment
See gh-17356
2019-07-03 17:20:31 -07:00
Madhura Bhave 39b15af5d6 Polish "Provide links / when using a separate management port"
See gh-17418
2019-07-03 16:19:40 -07:00
HaiTao Zhang c108629311 Provide links for actuators at / when using a separate management port
See gh-17418
2019-07-03 16:19:40 -07:00
Phillip Webb edea223841 Merge branch '2.1.x'
Closes gh-17422
2019-07-03 16:06:19 -07:00
Phillip Webb 2f88dd735e Polish 2019-07-03 15:52:51 -07:00
Phillip Webb cd5f40aec2 Validate onFailure returned binding results
Update `ValidationBindHandler` so that any non-null result returned by
the parent `onFailure` method triggers re-validation.

Fixes gh-17421
2019-07-03 15:52:51 -07:00
Phillip Webb d641a1e23a Polish BindHandler javaodc 2019-07-03 15:52:51 -07:00
Andy Wilkinson e0048f234b Polish 2019-07-03 21:59:51 +01:00
Andy Wilkinson c5cae28261 Add support for plain text thread dumps to the threaddump endpoint
When a request that accepts text/plain is received, the threaddump
endpoint will now return a thread dump in plain text. The format of
this text is modelled after the output produced by JVisualVM when
connecting to a remote process over JMX. Note that this output does
not include all of the information in, for example, JStack's output
as it is not available via Java 8's ThreadInfo API.

Rather than the custom formatting logic, using ThreadInfo's toString()
method was considered but its output is documented as being undefined
and implementation specific. The implementation used while developing
this feature produced output that did not match that of JStack or
JVisualVM and truncated stack traces quite considerably.

At the time of writing the format produced by the endpoint could be
consumed by both Thread Dump Analyzer [1] and https://fastthread.io.

Closes gh-2339

[1] https://github.com/irockel/tda
2019-07-03 21:51:56 +01:00
Phillip Webb a66c4d3096 Unify method visibility of private classes
Apply checkstyle rule to ensure that private and package private
classes do not have unnecessary public methods. Test classes have
also been unified as much as possible to use default scoped
inner-classes.

Closes gh-7316
2019-07-03 11:39:47 -07:00
Andy Wilkinson 40f66c80f8 Merge branch '2.1.x'
Closes gh-17409
2019-07-02 17:34:25 +01:00
Andy Wilkinson 82fd4ce9b9 Fix empty context path warning when using Jetty with WebFlux
Previously, the context path was set to an empty string. The led to
Jetty logging a warning about an empty context path and then using
/ instead.

This commit avoids the warning while leaving the context path's end
result unchanged by setting the context path to /.

Closes gh-17399
2019-07-02 17:24:34 +01:00