Commit Graph

8579 Commits (aefeb3ffafaa6b841368f6c1241508d0a4b59a9d)

Author SHA1 Message Date
Phillip Webb 611447c4d5 Fix checkstyle issue caused by polish commit
See gh-22946
4 years ago
Phillip Webb 35994b061c Polish 'Remove ResourceUtils.getURL logging config check'
Extend `initializeSystem` to search the exception stack for a
FileNotFoundException before reporting the error. This allows
us to provide a similar stack trace to the one that used to be
thrown when we had the `ResourceUtils.getURL` check.

See gh-22946
4 years ago
Ralph Goers 684b65e80c Remove ResourceUtils.getURL logging config check
Remove `ResourceUtils.getURL` checking from `LoggingApplicationListener`
so that logging systems can implement custom location support.

Prior to this commit, we checked in the listener if the specified config
location could be opened as a URL. This unfortunately prevents Log4J
extensions such as `log4j-spring-cloud-config-client` from implementing
configurable SSL and credentials support.

See gh-22946
4 years ago
Andy Wilkinson 627ede8bff Remove duplicate jackson-datatype-jsr310 dependency
Closes gh-23123
4 years ago
Andy Wilkinson 5cd910c7ce Replace Embedded Mongo with Testcontainers' MongoDB support
Closes gh-23090
4 years ago
Andy Wilkinson 84a12c8436 Upgrade to Testcontainers 1.14.3
Closes gh-23122
4 years ago
Andy Wilkinson 04540887af Widen timeout and delay to accommodate Windows' imprecision under load
Closes gh-23093
4 years ago
Andy Wilkinson 6f047c8356 Polish "Handle null RSocketServer address when setting port property"
See gh-23084
4 years ago
spencergibb f08f948c3e Handle null RSocketServer address when setting port property
See gh-23084
4 years ago
Andy Wilkinson b57b2f0b44 Test the Gradle Plugin against 6.5 and 6.6
Closes gh-23075
4 years ago
Stephane Nicoll 5b0f22e8fe Fix unintended import on commons lang
Closes gh-23059
4 years ago
Stephane Nicoll f1455b156a Polish "Add example of custom Actuator operations"
See gh-23028
4 years ago
Ivo Smid e8de069e00 Add example of custom Actuator operations
See gh-23028
4 years ago
Phillip Webb 17e2d72bcb Fix Windows path issue in JarFileWrapperTests
See gh-22991
4 years ago
Phillip Webb 3fe2005e06 Use @AfterEach to close the source jar file
Update `JarFileWrapperTests` so that the jar files are closed after each
test.

See gh-22991
4 years ago
dreis2211 06eb7e9777 Mention correct JUnit 5 annotations in Kotlin testing section
See gh-23002
4 years ago
Phillip Webb 2a137a2d8a Remove Mockito from JarFileWrapperTests
Remove Mockto from JarFileWrapperTests since it seems to be failing on
later versions of Java.

See gh-22991
4 years ago
Phillip Webb 4e76138ebc Update copyright year of changed files 4 years ago
Phillip Webb 5997cbd21f Refine AbstractJarFile method visibility
Refine method visibility in an attempt to fix test issues on Java 11+.

See gh-22991
4 years ago
Phillip Webb aac367e9c5 Attempt to fix memory leak in JarFile class
Create a new `JarFileWrapper` class so that we can wrap and existing
`JarFile` and offer a version that can be safely closed.

Prior to this commit, we provided wrapper functionality in the `JarFile`
class itself. Unfortunately, because we override `close` and also create
a lot of wrappers this caused memory issues when running on Java 11.

With Java 11 `java.util.zip.ZipFile` class uses `FinalizableResource`
for any implementation that overrides `close()`. This means that any
wrapper classes will not be garbage collected until the JVM finalizer
thread runs.

Closes gh-22991
4 years ago
Phillip Webb 10da595302 Polish 'Order metrics auto-configurations correctly'
See gh-21134
4 years ago
Martin Benda 02b7ec787e Order metrics auto-configurations correctly
Update metrics auto-configurations so that they are auto-configured
after `CompositeMeterRegistryAutoConfiguration` in order to ensure
the `MeterRegistry` bean has been defined.

Prior to this commit, metrics auto-configurations that depended on a
`MeterRegistry` has `@AutoConfigureAfter(MetricsAutoConfiguration.class)`
which is not sufficient since `MetricsAutoConfiguration` does not export
a `MeterRegistry`.

See gh-21134
4 years ago
Phillip Webb 3271542d98 Add @Interited to @TypeExcludeFilters
Update `@TypeExcludeFilters` so that it is also annotated with
`@Inherited`.

Closes gh-22939
4 years ago
Phillip Webb 89a6f83344 Fix and improve SpringApplicationBuilder javadoc
Update SpringApplicationBuilder.properties method javadoc to fix
inaccuracies and apply more consistency.

Closes gh-22962
4 years ago
Phillip Webb 3e939cbabd Polish method order 4 years ago
Maciej Walkowiak 15de956566 Fix typo `Assert4J` -> `AssertJ`
See gh-22948
4 years ago
Stephane Nicoll f61a632a37 Polish "Fix conditions that lead to auto-configure PushGateway"
See gh-22919
4 years ago
smlc c355b95f6c Fix conditions that lead to auto-configure PushGateway
See gh-22919
4 years ago
Johnny Lim 68e2dd626d Mention configuration customizers for WebTestClient and RestAssured
See gh-22765
4 years ago
Stephane Nicoll ee2363fca7 Polish "Harmonize Discover the HTTP Port at Runtime How-To"
See gh-22898
4 years ago
John Franco 303768b2b5 Harmonize Discover the HTTP Port at Runtime How-To
See gh-22898
4 years ago
Madhura Bhave cdbb7f441a Do not ignore null/empty values from SPRING_APPLICATION_JSON
Fixes gh-21542
4 years ago
Stephane Nicoll ccffd50285 Document the limitation of default value detection
Closes gh-22685
4 years ago
Stephane Nicoll 64a5aa9340 Polish 4 years ago
Andy Wilkinson b2c0c958c9 Upgrade to Dependency Management Plugin 1.0.10.RELEASE
Closes gh-22615
4 years ago
Stephane Nicoll dd9c9fd171 Polish "Migrate legacy endpoint that have a dash in their id"
See gh-21615
4 years ago
Gabriele Bianchet-David 0f9f10f97e Migrate legacy endpoint that have a dash in their id
See gh-21615
4 years ago
Stephane Nicoll 8962d6ca21 Polish 4 years ago
Stephane Nicoll 333af3d4e7 Polish "Propagate the cause that led Reactor"s debug agent to fail"
See gh-22777
4 years ago
davidbilge 12c419054a Propagate the cause that led Reactor"s debug agent to fail
Prior to this commit, DebugAgentEnvironmentPostProcessor throws a
RuntimeException with a generic error message if its initialization
fails. The causing exception is discarded, which makes error analysis
unnecessarily difficult.

This commit attaches the cause to the newly thrown RuntimeException.

See gh-22777
4 years ago
Madhura Bhave f39f33bb8d Fix documentation related to the health endpoint's inner details
Closes gh-22490
4 years ago
Phillip Webb fdd6a89a61 Polish 4 years ago
Andy Wilkinson 07699ea6ff Retry when dependency resolution fails in ModifiedClassPathClassLoader
Closes gh-22763
4 years ago
Andy Wilkinson 63f7c75b61 Polish 4 years ago
Andy Wilkinson b53f54f2cf Add tip about using AopTestUtils.getTargetProxy with proxied spy beans
Closes gh-22281
4 years ago
Andy Wilkinson bfe250e5d3 Clarify docs on schema and data SQL scripts with Flyway and Liquibase
Closes gh-20920
4 years ago
Andy Wilkinson 71ffb44a3c Remove WebClient's in-memory buffer size limit for endpoint tests
Previously, the endpoints' responses could occasionally exceed
WebClient's in-memory buffer limt, for example if the threads endpoint
was reporting a large number of threads or the threads had large
stacks.

This commit disables WebClient's in-memory buffer size limit so that
the tests passing is not dependent on the size of the endpoints'
responses.

Closes gh-22743
4 years ago
Andy Wilkinson 2238b0d797 Try to make FileSystemWatcherTests.waitsForQuietPeriod() more robust
Previously, waitsForQuietPeriod would iterate 10 times, touching a new
file and then sleeping for 100ms at it did so. With a quiet period of
200ms, this was intended to result in a single change set containing
10 files. However, the test would fail occasionally as multiple change
sets were detected. The test is multi-threaded and is, therefore, at
the mercy of the scheduler. If the thread that is iterating and
touching the files takes over 200ms to be scheduled – exceeding the
watcher's quiet period – the watcher may detect a change set while the
changes are still being made. Eliminating this possibilty would require
the test to participate in the watcher's synchronization, which would
require some changes to its implementation. Instead, this commit
aims to avoid the problem by sleeping for 1/10 of the time (10ms) and
expecting a single change set of 100 files. The hope is that the much
shorter sleep time will result in the file touching thread being
scheduled well within the 200ms quiet period.

Closes gh-22732
4 years ago
Stephane Nicoll 4082cddce2 Merge branch '2.1.x' into 2.2.x
Closes gh-22705
4 years ago
Johnny Lim bd2874de49 Fix broken links to Micrometer registry docs
See gh-22704
4 years ago
Andy Wilkinson 59b1df4548 Polish "Look in correct context when finding Liquibase beans"
See gh-22681
4 years ago
biergit 62156810cf Look in correct context when finding Liquibase beans
See gh-22681
4 years ago
Andy Wilkinson 49f8943a5f Register ErrorPageFilter for async dispatch
Fixes gh-19471
4 years ago
Andy Wilkinson 22dc4e7608 Clarify documentation on @AutoConfigureRestDocs with WebTestClient
Closes gh-15977
4 years ago
Andy Wilkinson 1871cffc7d Document that constructor binding does not support @…Unit annotations
Closes gh-22565
4 years ago
Andy Wilkinson 72551242fd Allow XADataSource auto-config with no spring.datasource properties
Fixes gh-20229
4 years ago
Andy Wilkinson 5ea8bb0676 Recommend the use of a MeterBinder when a metric depends on a bean
Closes gh-19557
4 years ago
Stephane Nicoll 16aa8fbc88 Fix actuator dependency on Jackson JSR 310 module
This commit harmonizes dependency declarations for Jackson in the
actuator. Both Jackson and JSR 310 are back to optional in the core
actuator module and mandatory when using the auto-configuration.

Closes gh-22624
4 years ago
Andy Wilkinson 856c55b188 List DevTools in section overview of multi-page documentation
Closes gh-22591
4 years ago
dreis2211 c405b8b9c9 Fix link to Elasticsearch health indicator
See gh-22598
4 years ago
Andy Wilkinson ea5284ca91 Polish "Use milliseconds when configuring awaitTerminationPeriod"
See gh-22604
4 years ago
Tadaya Tsuyukubo 685a6116d1 Use milliseconds when configuring awaitTerminationPeriod
Prior to this change, TaskExecutorBuilder used seconds as its precision
to map the awaitTerminationPeriod value. This caused a loss of
millisecond information in the period.

This commit fixes the loss by converting the period to millisecond and
using setAwaitTerminationMillis to configure the executor.

See gh-22604
4 years ago
Andy Wilkinson d9b61c4aaa Update link to App Engine's Spring Boot sample
Closes gh-22607
4 years ago
Andy Wilkinson 0a01875d41 Improve documentation about swapping one technical starter for another
Closes gh-20408
4 years ago
Andy Wilkinson 812a0ed0c6 Define the reference doc authors in a single place
Closes gh-20896
4 years ago
Andy Wilkinson b631fa1405 Describe MongoClientSettingsBuilderCustomizer in the documentation
Closes gh-21696
4 years ago
Andy Wilkinson be428ef0f2 Document the need for configuration files to have a file extension
Closes gh-22278
4 years ago
Andy Wilkinson 1b48daf1d5 Do not ignore unknown fields when invalid fields are being ignored
Previously, ignoring invalid fields would cause the failure for an
unknown field to be ignored, irrespective of the ignoreUnknownFields
attribute on `@ConfigurationProperties`.

This commit updates the NoUnboundElementsBindHandler to ensure that
any UnboundConfigurationPropertiesException is thrown rather than
being ignored when the handler has been wrapped by an
IgnoreErrorsBindHandler.

Fixes gh-22308
4 years ago
Andy Wilkinson 41954533b2 Fix Mock|SpyBean context caching
The fix for gh-20916 updated DefinitionsParser so that the
ResolvableType for each MockBean or SpyBean field included the
implementation class from which the field was found. Where the field
was declared with a variable generic signature that was made constant
by its implementation class, this allowed the correct concrete type to
be determined. It also had the unintended side-effect of preventing two
test classes with identical `@MockBean` and `@SpyBean` configuration
from sharing a context as the resolvable types for their mock and spy
bean fields would now be different.

This commit updates DefinitionsParser to only include the
implementation class in the ResolvableType if the field's generic type
is variable. For cases where it is not variable, this restores the
behaviour prior to the fix for gh-20916.

Fixes gh-22566
4 years ago
Andy Wilkinson 16eaae0b2f Defer background pre-init till the environment is prepared
Previously, background pre-init was started in response to the
application starting event. This meant that it would be running while
the logging turbo filter was in place and was rejecting all logging.
As a result, any logging performed during pre-init would be lost.

This commit changes background pre-init so that it is now started
in response to the application environment prepared event. By this
point, the logging turbo filter has been removed as the logging levels
have been configured from the environment.

Closes gh-21897
4 years ago
Andy Wilkinson b98c3dccfd Fix property-based configuration of Undertow socket options
Previously, only UndertowOptions was used as the source of options for
both server and socket options, but it only contains server options.
As a result, attempting to configure any socket options defined by
XNIO's Options class would fail.

This commit updates the property-based configuration of options to use
UndertowOptions as the source for server options and XNIO's Options as
the source for socket options.

Fixes gh-22502
4 years ago
Andy Wilkinson 1c3528f5a4 Include Jackson Modules in WebMvcTest and WebFluxTest
Fixes gh-22530
4 years ago
Andy Wilkinson 7b3c0a9e09 Advise against java.util.Optional configuration properties
Closes gh-21868
4 years ago
Andy Wilkinson ce7210c4f0 Merge branch '2.1.x' into 2.2.x
Closes gh-22563
4 years ago
Nelson Osacky 585aed8f8f Add generated-snippets as output to test goal
The generated snippets were not declared as an output to the
`spring-boot-actuator-autoconfigure` test goal so when the test was
pulled from the cache, it did not contain the `generated-snippets`
directory. This directory is required as an input to the Asciidoctor
plugin.

See gh-22555
4 years ago
Andy Wilkinson 1a43cd1c8e Merge branch '2.1.x' into 2.2.x
Closes gh-22551
4 years ago
Nelson Osacky 0494007893 Disable extra scans for full profile.
The extra scans were not disabled for the full profile, only the
regular profile.

See gh-22550
4 years ago
Andy Wilkinson f4508b4059 Merge branch '2.1.x' into 2.2.x
Closes gh-22547
4 years ago
Nelson Osacky e41a53cf85 Add Gradle Enterprise Extension
This adds build caching and build scans.

The changes required disabling scans when using the maven invoker
plugin in order to not cause duplicate build scans when invoking other
maven builds. There is also an empty `.mvn` folder in the
spring-boot-starters project to prevent duplicate build scans as well
since there is no way to pass properties to the maven-javadoc-plugin.

The checkstyle plugin was causing a cache miss with the
`propertyExpansion` because it contains an absolute path. The absolute
path is now ignored and instead the files are added as inputs to the
checkstyle plugin. This only enables the local build cache. The remote
cache is not yet enabled.

On my local machine:

./mvnw clean install build times go from about 30 minutes to about 10 minutes.
./mvnw clean install -Pfull build times go from about 60 minutes to about 13 minutes.

See gh-22089
4 years ago
Andy Wilkinson 9c5e59371f Upgrade to Jackson 2.10.5
Closes gh-22432
4 years ago
Andy Wilkinson f93bae4bd3 Upgrade to Aspectj 1.9.6
Closes gh-22539
4 years ago
Andy Wilkinson ce803cc678 Upgrade to Micrometer 1.3.11
Closes gh-22538
4 years ago
Andy Wilkinson 698db27a75 Upgrade to Aspectj 1.9.6
Closes gh-22537
4 years ago
Andy Wilkinson db242794ec Upgrade to Micrometer 1.1.16
Closes gh-22536
4 years ago
Stephane Nicoll 4f3b03afcf Merge branch '2.1.x' into 2.2.x
Closes gh-22525
4 years ago
Stephane Nicoll 0440a9a78c Upgrade to Groovy 2.5.13
Closes gh-22505
4 years ago
Phillip Webb b5e70157dc Update copyright year of changed files 4 years ago
Phillip Webb 51a26a4d5a Polish 4 years ago
Stephane Nicoll d9c34d5b84 Upgrade to Spring Integration 5.1.12
Closes gh-22511
4 years ago
Stephane Nicoll 68497649b1 Upgrade to Spring Integration 5.2.8
Closes gh-22385
4 years ago
Stephane Nicoll d1f9adc189 Upgrade to Spring Kafka 2.3.10
Closes gh-22386
4 years ago
Stephane Nicoll ad976bec20 Upgrade to Spring AMQP 2.2.9
Closes gh-22383
4 years ago
Stephane Nicoll baa6a8aeb1 Upgrade to Spring AMQP 2.1.16
Closes gh-22507
4 years ago
Stephane Nicoll d5301f8b0a Upgrade to Spring Data Moore-SR9
Closes gh-22384
4 years ago
Stephane Nicoll 8b20840a1a Upgrade to Spring Data Lovelace-SR19
Closes gh-22382
4 years ago
Andy Wilkinson 8448763976 Upgrade to Spring Framework 5.2.8.RELEASE
Closes gh-22372
4 years ago
Andy Wilkinson 249e7dab01 Upgrade to Reactor Dysprosium-SR10
Closes gh-22374
4 years ago
Andy Wilkinson cb371b276f Upgrade to Spring Session Bom Corn-SR3
Closes gh-22451
4 years ago
Andy Wilkinson e8f220a749 Upgrade to Neo4j Ogm 3.2.14
Closes gh-22450
4 years ago
Andy Wilkinson 11cd2bb5c9 Upgrade to Kotlin Coroutines 1.3.8
Closes gh-22449
4 years ago
Andy Wilkinson ffe3dc766b Upgrade to Hsqldb 2.5.1
Closes gh-22448
4 years ago
Andy Wilkinson cddfb888fc Upgrade to Hibernate 5.4.18.Final
Closes gh-22447
4 years ago
Andy Wilkinson fef61aea2c Upgrade to Jetty 9.4.30.v20200611
Closes gh-22446
4 years ago
Andy Wilkinson bbf8b01741 Upgrade to Tomcat 9.0.37
Closes gh-22445
4 years ago
Andy Wilkinson 123a490a39 Upgrade to Johnzon Jsonb 1.2.8
Closes gh-22444
4 years ago
Andy Wilkinson a568f0fd07 Upgrade to Activemq 5.15.13
Closes gh-22443
4 years ago
Andy Wilkinson 76457321a8 Upgrade to Byte Buddy 1.10.13
Closes gh-22442
4 years ago
Andy Wilkinson b24797d31a Upgrade to Mysql 8.0.21
Closes gh-22441
4 years ago
Andy Wilkinson b621cfc8e6 Upgrade to Jakarta Servlet 4.0.4
Closes gh-22440
4 years ago
Andy Wilkinson fdbb464375 Upgrade to Netty 4.1.51.Final
Closes gh-22439
4 years ago
Andy Wilkinson 9aef4c5cf4 Upgrade to Micrometer 1.3.10
Closes gh-22438
4 years ago
Andy Wilkinson c52ff06741 Upgrade to Dropwizard Metrics 4.1.11
Closes gh-22437
4 years ago
Andy Wilkinson 1a63d78679 Upgrade to Db2 Jdbc 11.5.4.0
Closes gh-22436
4 years ago
Andy Wilkinson 09d3bf0655 Upgrade to Hazelcast 3.12.8
Closes gh-22435
4 years ago
Andy Wilkinson 9836aa1afe Upgrade to Appengine Sdk 1.9.81
Closes gh-22434
4 years ago
Andy Wilkinson da59518d2c Upgrade to Caffeine 2.8.5
Closes gh-22433
4 years ago
Andy Wilkinson a87bf7a25a Upgrade to Couchbase Client 2.7.16
Closes gh-22431
4 years ago
Andy Wilkinson 8b8fcb16dc Upgrade to Spring Framework 5.1.17.RELEASE
Closes gh-22370
4 years ago
Andy Wilkinson 636b4a9a81 Upgrade to Reactor Californium-SR20
Closes gh-22371
4 years ago
Andy Wilkinson 6315fe3a61 Upgrade to Spring Session Bom Bean-SR11
Closes gh-22430
4 years ago
Andy Wilkinson 3f8a0b516f Upgrade to Neo4j Ogm 3.1.20
Closes gh-22429
4 years ago
Andy Wilkinson 9baefc5993 Upgrade to Jetty 9.4.30.v20200611
Closes gh-22428
4 years ago
Andy Wilkinson 50b05ac652 Upgrade to Tomcat 9.0.37
Closes gh-22427
4 years ago
Andy Wilkinson 1113d5cc23 Upgrade to Activemq 5.15.13
Closes gh-22426
4 years ago
Andy Wilkinson 775231e3e9 Upgrade to Mysql 8.0.21
Closes gh-22425
4 years ago
Andy Wilkinson 83ca02f16d Upgrade to Netty 4.1.51.Final
Closes gh-22424
4 years ago
Andy Wilkinson dd9c9fa7be Upgrade to Micrometer 1.1.15
Closes gh-22423
4 years ago
Andy Wilkinson c166b5b23e Upgrade to Appengine Sdk 1.9.81
Closes gh-22422
4 years ago
Andy Wilkinson 43fd27bb71 Upgrade to Jackson 2.9.10.20200621
Closes gh-22421
4 years ago
Andy Wilkinson c90dc87b0b Upgrade to Couchbase Client 2.7.16
Closes gh-22420
4 years ago
Andy Wilkinson 21f733b89b Merge branch '2.1.x' into 2.2.x
Closes gh-22409
4 years ago
Andy Wilkinson 179d2c79d6 Avoid trivialising what the reader's learning about
Closes gh-22408
4 years ago
Stephane Nicoll bb7b2e197c Start building against Spring Kafka 2.3.10 snapshots
See gh-22386
4 years ago
Stephane Nicoll 8589449052 Start building against Spring Integration 5.2.8 snapshots
See gh-22385
4 years ago
Stephane Nicoll 4e554b8c2b Start building against Spring Data Moore-SR9 snapshots
See gh-22384
4 years ago
Stephane Nicoll 0e4b6d3203 Start building against Spring AMQP 2.2.9 snapshots
See gh-22383
4 years ago
Stephane Nicoll 4a0031a21e Start building against Spring Data Lovelace-SR18 snapshots
See gh-22382
4 years ago
Stephane Nicoll 819ff56e94 Start building against Reactor Dysprosium-SR10 snapshots
See gh-22374
4 years ago
Stephane Nicoll 84303e682c Start building against Spring Framework 5.2.8 snapshots
See gh-22372
4 years ago
Stephane Nicoll 2658ea76e6 Start building against Reactor Californium-SR20 snapshots
See gh-22371
4 years ago
Stephane Nicoll c31917daa0 Start building against Spring Framework 5.1.17 snapshots
See gh-22370
4 years ago
Andy Wilkinson d9882f2c88 Clarify the effects of ordering auto-configuration classes
Closes gh-22337
4 years ago
Andy Wilkinson 9558779dd4 Replace ConfigurationPropertiesBeanDefinitionValidator with a FailureAnalyzer
Previously, regular bean definitions for configuration properties classes
that attempt to use constructor binding were detected in a bean factory
post-processor, ConfigurationPropertiesBeanDefinitionValidator. This
validation examined every standard bean definition and failed if it
encountered one for a class that should have used constructor binding.
There were two downsides to this approach:

1. Reflection used to identify if the bean should be using constructor
   binding triggered class loading that could prevent subsequent
   instrumentation by a load-time weaver.
2. The cost of the validation was incurred when there was no
   misconfiguration to report.

This commit replaces ConfigurationPropertiesBeanDefinitionValidator
with a failure analyzer. This failure analyzer only runs once a failure
has occurred and the application context is not going to complete
refresh. This avoids causing problems with subsequent instrumentation
and also avoids the cost of validation and error reporting unless there
is an error.

Fixes gh-20798
4 years ago
Andy Wilkinson afa5b12bdb Make reactive Jetty auto-config back off without jetty-servlet
Fixes gh-22275
4 years ago
Andy Wilkinson 66987533d1 Link to application properties section from externalized config list
Closes gh-22262
4 years ago
Andy Wilkinson 4e79bb1cff Disable bean method proxying in SpringBootJdbcConfiguration
Closes gh-22231
4 years ago
Andy Wilkinson 14f24dbecc Merge branch '2.1.x' into 2.2.x
Closes gh-22248
4 years ago
Andy Wilkinson 26f591264c Fix handling of NestedServletException with no root cause
Fixes gh-22169
4 years ago
Andy Wilkinson a8d3f9af31 Polish "Rename NoneOfNestedConditions to NoneNestedConditions in example docs"
See gh-22207
4 years ago
Clayton Walker 7fee70a625 Rename NoneOfNestedConditions to NoneNestedConditions in example docs
See gh-22207
4 years ago
Andy Wilkinson a0f1424393 Polish "Fix unwrapping of captured PrintStream in test support's OutputCapture"
See gh-22214
4 years ago
XenoAmess 75a64bd901 Fix unwrapping of captured PrintStream in test support's OutputCapture
See gh-22214
4 years ago
Andy Wilkinson 4301580095 Improve testing of PropertyPlaceholderAutoConfiguration
Since Spring Framework 4.3.0.RC2, a default embedded value resolver
has been registered with the bean factory when one is not otherwise
configured. This meant that placeholders in `@Value` would be resolved
with or without PropertyPlaceholderAutoConfiguration defining a
PropertySourcesPlaceholderConfigurer bean. However, placeholders in
bean definitions would only be resolved if a
PropertySourcesPlaceholderConfigurer was defined.

This commit updates PropertyPlaceholderAutoConfigurationTests to align
with this change in Framework. We now test that placeholders are
resolved in `@Value` annotations with or without the auto-configuration
and that placeholders in bean definitions are only resolved with the
auto-configured.

Closes gh-22230
4 years ago
Andy Wilkinson 21453b5016 Ignore scoped targets when finding matching beans
Fixes gh-22038
4 years ago
Andy Wilkinson 81d6751ba7 Use ApplicationContextRunner in ConditionalOnSingleCandidateTests 4 years ago
Andy Wilkinson a13acf9f2b Upgrade to Reactor Dysprosium-SR9
Closes gh-21937
4 years ago
dreis2211 8c0e302f2e Accept empty filter dispatcher types in auto-configurations
Prior to this commit, the usage of EnumSet.copyOf resulted in exceptions when
the underlying collection was empty.

See gh-22138
4 years ago
Andy Wilkinson 3922fb7164 Polish "Avoid NPE when binder is closed before started event"
See gh-22141
4 years ago
im47cn b34c268547 Avoid NPE when binder is closed before started event
Previously, if TomcatMetricsBinder destroy() was called before it had
received an ApplicationStartedEvent an NPE would be thrown due to
TomcatMetrics being null. This NPE was then caught and logged at
warning level by the disposable bean adapter.

This prevents the NPE by checking that the TomcatMetrics instance is
null before calling close() on it.

See gh-22141
4 years ago
May c1b9d3c226 Simplify logic in ErrorPage's equals method
See gh-22082
4 years ago
Andy Wilkinson 5475f10657 Remove WebClient's in-memory buffer size limit for endpoint tests
Previously, the thread dump endpoint's response could exceed
WebClient's in-memory buffer limt when there were a large number of
threads or the threads had large stacks.

This commit disables WebClient's in-memory buffer size limit so that
the test passing is not dependent on the number of active threads and
their stack sizes.

Closes gh-22101
4 years ago
Scott Frederick b27303704f Fix RedisReactiveHealthIndicator in clustered configuration
Prior to Spring Data Redis version 2.2.8, the contents of the
Properties object returned from the
ReactiveRedisConnection.ServerCommands.info API were the same
for clustered and non-clustered Redis configurations, containing a set
of key/value pairs. This allowed ReactiveRedisHealthIndicator to get
a version property using a well-known key. Starting with Spring Data
Redis 2.2.8, the info property keys contain a host:port prefix in a
clustered Redis configuration. This prevented
ReactiveRedisHealthIndicator from getting the version property as
before and resulted in the health always being reported as DOWN.

This commit adjusts ReactiveRedisHealthIndicator to detect the
clustered configuration from Spring Data Redis and find the version
property for one of the reported cluster nodes.

Fixes gh-22061
4 years ago
Andy Wilkinson 3fed27fd90 Merge branch '2.1.x' into 2.2.x
Closes gh-22085
4 years ago
Andy Wilkinson 0b4533659f Use Groovy's bom in spring-boot-dependencies
Closes gh-22084
4 years ago
Phillip Webb e6eb02603c Polish 'Inherit show-details property in health groups'
Rework the inheritance so that the property metadata JSON more
accurately reflects the default value.

See gh-22022
4 years ago
Leo Li 10de88884f Inherit show-details property in health groups
Update `Group` properties so that the `showDetails` value does not
inherit `Show.NEVER`. Prior to this commit, the `Group` properties
would not correctly inherit a `showDetails` value from the main
`management.endpoint.health.show-details` property.

See gh-22022
4 years ago
Phillip Webb 3b3a49db1f Polish 'Fix infinite loop in FieldValues'
See gh-22040
4 years ago
Konrado85 39a853c57b Fix infinite loop in FieldValues
Update `FieldValues` test object so that it doesn't cause an infinite
loop if it is actually created.

See gh-22040
4 years ago
Stephane Nicoll 9b803af3c3 Polish "Document how to exclude an annotation processor with Maven"
See gh-22000
4 years ago
Marco Pens 627c0b1031 Document how to exclude an annotation processor with Maven
See gh-22000
4 years ago
Andy Wilkinson 41173f7c40 Polish "Use Awaitility instead of Thread.sleep"
See gh-21988
4 years ago
Tomek Szmytka c13385ea74 Use Awaitility instead of Thread.sleep
See gh-21988
4 years ago
Andy Wilkinson 67604a5416 Only process main metadata as it already includes additional metadata
Previously, the configuration property table generation was reading
both the main metadata and the additional metadata from each project.
This was unnecessary as the annotation processor will have already
merged the additional metadata into the main metadata before writing
it to disk. Processing both the main and additional metadata led to
a clash as the metadata overlapped. When the entry in the additional
metadata won the clash, the resulting entry in the configuration
property table would lose any details that aren't contained in the
additional metadata.

This commit updates the property table generation code to only use
the main metadata files.

Fixes gh-21131
4 years ago
Andy Wilkinson 1b62abab9a Configure context on SizeAndTimeBasedRollingPolicy
Previously, when file-based logging was enabled, Logback would output
the following during logging system initialization:

LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy

This commit updates the default logback configuration to set the
context on the SizeAndTimeBasedRollingPolicy that it creates.

Fixes gh-21056
4 years ago
Andy Wilkinson 907b64a5eb Remove redundant stop() calls from LiveReloadServerTests 4 years ago
Madhura Bhave 615cf63a82 Make MockBean resolve right type for abstract test class
Fixes gh-20916
4 years ago
Stephane Nicoll 58974ab9cf Start building against Reactor Dysprosium-SR9 snapshots
See gh-21937
4 years ago
Stephane Nicoll ec8c1e3860 Update copyright year of changed files
See gh-21906
4 years ago
lltx de897b9b72 Fix wrong property reference to keys-to-sanitize in Javadoc
See gh-21906
4 years ago
Stephane Nicoll f8a0ca0d80 Upgrade to Netty Tcnative 2.0.31.Final
Closes gh-21889
5 years ago
Stephane Nicoll 9af5f70b75 Upgrade to Spring Batch 4.2.4
Closes gh-21783
5 years ago
Stephane Nicoll e64bfb80e4 Upgrade to Postgresql 42.2.14
Closes gh-21888
5 years ago
Stephane Nicoll 664436a3d6 Upgrade to Spring Kafka 2.3.9
Closes gh-21781
5 years ago
Stephane Nicoll 49ba5dc6bc Upgrade to Postgresql 42.2.14
Closes gh-21887
5 years ago
Stephane Nicoll c496f2401f Upgrade to Netty Tcnative 2.0.31.Final
Closes gh-21886
5 years ago
Stephane Nicoll 7dee9e34b5 Upgrade to Spring Kafka 2.2.14
Closes gh-21780
5 years ago
Phillip Webb ac197be815 Fix checkstyle issue 5 years ago
Phillip Webb 3f36f6ea47 Rollback to Spring Batch 4.2.2
See gh-21885
5 years ago
Phillip Webb 02bfc9d30a Polish 5 years ago
Madhura Bhave 4e014da9e9 Return all loggers for Log4j2
This commit aligns log4j2's behavior with logback such that loggers
with a null configuredLevel are also returned by the actuator endpoint.

Fixes gh-20037
5 years ago
Madhura Bhave 92ce94b3d8 Align default log levels for Log4j2 and Logback
Fixes gh-21293
5 years ago
Scott Frederick 0fa1d0ef2e Handle bind exceptions in management context
This commit updates the logic for handling binding exceptions in the
management context when it is separate from the application context.
The changes allow the exception details to be visible to
DefaultErrorAttributes without causing the servlet container to
detect an error condition.

Fixes gh-21036
5 years ago
Andy Wilkinson 3927bd81eb Upgrade to Spring Integration 5.2.7.RELEASE
Closes gh-21778
5 years ago
Andy Wilkinson 4eea0329d3 Upgrade to Spring Data Moore SR8
Closes gh-21775
5 years ago
Andy Wilkinson ea55bb32a2 Upgrade to Spring Data Lovelace-SR18
Closes gh-21774
5 years ago
Andy Wilkinson 4eba8e2dc2 Upgrade to Spring Integration 5.1.11.RELEASE
Closes gh-21777
5 years ago
Stephane Nicoll f5b0ebc9c2 Upgrade to Maven Shade Plugin 3.2.4
Closes gh-21838
5 years ago
Stephane Nicoll 331390cd74 Upgrade to Spring Security 5.2.5.RELEASE
Closes gh-21836
5 years ago
Stephane Nicoll 4c15c512fa Upgrade to Spring Amqp 2.2.7.RELEASE
Closes gh-21835
5 years ago
Stephane Nicoll 7a0b22086f Upgrade to Postgresql 42.2.13
Closes gh-21834
5 years ago
Stephane Nicoll 6ca229c678 Upgrade to Kotlin Coroutines 1.3.7
Closes gh-21833
5 years ago
Stephane Nicoll a91c157bf4 Upgrade to Hibernate Validator 6.0.20.Final
Closes gh-21832
5 years ago
Stephane Nicoll 5ae2a9e25c Upgrade to Hibernate 5.4.17.Final
Closes gh-21831
5 years ago
Stephane Nicoll 1f6582e3e4 Upgrade to Jaybird 3.0.9
Closes gh-21830
5 years ago
Stephane Nicoll c3cf3bd72b Upgrade to Elasticsearch 6.8.10
Closes gh-21829
5 years ago
Stephane Nicoll d07b460247 Upgrade to Jetty 9.4.29.v20200521
Closes gh-21828
5 years ago
Stephane Nicoll eadc6d07b8 Upgrade to Groovy 2.5.12
Closes gh-21827
5 years ago
Stephane Nicoll ad321895d5 Upgrade to Awaitility 4.0.3
Closes gh-21826
5 years ago
Stephane Nicoll 78a06d5343 Upgrade to Tomcat 9.0.36
Closes gh-21825
5 years ago
Stephane Nicoll ec5dc3bfa4 Upgrade to Johnzon Jsonb 1.2.7
Closes gh-21824
5 years ago
Stephane Nicoll a2738b51d6 Upgrade to Byte Buddy 1.10.11
Closes gh-21823
5 years ago
Stephane Nicoll 2eff659fa4 Upgrade to Rsocket 1.0.1
Closes gh-21822
5 years ago
Stephane Nicoll 518cdf2751 Upgrade to Netty 4.1.50.Final
Closes gh-21821
5 years ago
Stephane Nicoll 62d3f0d872 Upgrade to Micrometer 1.3.9
Closes gh-21820
5 years ago
Stephane Nicoll 9acfc81244 Upgrade to Dropwizard Metrics 4.1.9
Closes gh-21819
5 years ago
Stephane Nicoll 6aa7f7aed5 Upgrade to Hikaricp 3.4.5
Closes gh-21818
5 years ago
Stephane Nicoll cda93e0af7 Upgrade to Okhttp3 3.14.9
Closes gh-21817
5 years ago
Stephane Nicoll 7b3070cd8c Upgrade to Caffeine 2.8.4
Closes gh-21816
5 years ago
Stephane Nicoll b118d8953b Upgrade to Couchbase Client 2.7.15
Closes gh-21815
5 years ago
Andy Wilkinson 48acaa4bd9 Make AutoConfigureMockMvc use SecurityProperties' filter ordering
Previously, AutoConfigureMockMvc used Spring Security's default filter
ordering, ignoring the value configured by SecurityProperties that is
used at runtime. This resulted in different ordering at runtime and in
tests.

This commit updates the configuration for AutoConfigureMockMvc to
import the Spring Security filter auto-configuration, thereby ensuring
that the ordering configured via SecurityProperties is applied.

Fixes gh-21801
5 years ago
Stephane Nicoll 5d2a9e9220 Upgrade to Maven Shade Plugin 3.2.4
Closes gh-21814
5 years ago
Stephane Nicoll 8841feb311 Upgrade to Spring Security 5.1.11.RELEASE
Closes gh-21813
5 years ago
Stephane Nicoll 9d80ece9a5 Upgrade to Spring Amqp 2.1.15.RELEASE
Closes gh-21812
5 years ago
Stephane Nicoll c456b633d5 Upgrade to Postgresql 42.2.13
Closes gh-21811
5 years ago
Stephane Nicoll b560501c3c Upgrade to Hibernate Validator 6.0.20.Final
Closes gh-21810
5 years ago
Stephane Nicoll fa9890b381 Upgrade to Jaybird 3.0.9
Closes gh-21809
5 years ago
Stephane Nicoll 357ada7aa0 Upgrade to Jetty 9.4.29.v20200521
Closes gh-21808
5 years ago
Stephane Nicoll 544b688b62 Upgrade to Groovy 2.5.12
Closes gh-21807
5 years ago
Stephane Nicoll 4724839aea Upgrade to Tomcat 9.0.36
Closes gh-21806
5 years ago
Stephane Nicoll a07ccb0c39 Upgrade to Netty 4.1.50.Final
Closes gh-21805
5 years ago
Stephane Nicoll 27c94bd649 Upgrade to Micrometer 1.1.14
Closes gh-21804
5 years ago
Stephane Nicoll e88ae68430 Upgrade to Couchbase Client 2.7.15
Closes gh-21803
5 years ago
Madhura Bhave 36faa1d42a Document using system properties in gradle plugin docs
Closes gh-21317
5 years ago
Stephane Nicoll 6597c0c7f7 Start building against Spring Data Moore-SR8 snapshots
See gh-21775
5 years ago
Stephane Nicoll cc3575b3f4 Merge branch '2.1.x' into 2.2.x 5 years ago
Stephane Nicoll 79f0e38c54 Start building against Spring Data Lovelace-SR18 snapshots
See gh-21774
5 years ago
Stephane Nicoll 9a457527fd Polish test 5 years ago
Stephane Nicoll 180e57a8d7 Start building against Spring Batch 4.2.3 snapshots
See gh-21783
5 years ago
Stephane Nicoll 7b4707aab5 Start building against Spring Kafka 2.3.9 snapshots
See gh-21781
5 years ago
Stephane Nicoll 5cde880562 Start building against Spring Integration 5.2.7 snapshots
See gh-21778
5 years ago
Stephane Nicoll 679816d3a4 Upgrade to Spring Framework 5.2.7
Closes gh-21738
5 years ago
Stephane Nicoll 36a05375c7 Start building against Spring Kafka 2.2.14 snapshots
See gh-21780
5 years ago
Stephane Nicoll 445a9a461b Start building against Spring Integration 5.1.11 snapshots
See gh-21777
5 years ago
Stephane Nicoll de6ee358fb Upgrade to Spring Framework 5.1.16
Closes gh-21729
5 years ago
Andy Wilkinson a0f29edd4d Always initialize stompWebSocketHandlerMapping eagerly
Previously, when lazy initialization was enabled, STOMP-based WebSocket
messaging would not work as the stompWebSocketHandlerMapping bean was
not initialized and CONNECT requests would go unanswered.

This commit adds a LazyInitializationExcludeFilter that causes the
stompWebSocketHandlerMapping bean to always be initialized eagerly.
This triggers initialization of the WebSocket transport allowing
requests to be received and processed.

Fixes gh-19611
5 years ago
Stephane Nicoll 3889e6336a Upgrade to Reactor Dysprosium-SR8
Closes gh-21730
5 years ago
Stephane Nicoll 10e0ca7dce Upgrade to Reactor Californium-SR19
Closes gh-21728
5 years ago
Andy Wilkinson 2de906caf7 Polish "Clarify loss of defaults when adding custom mapping"
See gh-20716
5 years ago
Norio 9f009e4445 Clarify loss of defaults when adding custom mapping
See gh-20716
5 years ago
Andy Wilkinson 4a0e8217f0 Merge branch '2.1.x' into 2.2.x
Closes gh-21759
5 years ago
Andy Wilkinson 5dce945e29 Document dispatcher-types configuration for secured error pages
Closes gh-19293
5 years ago
Andy Wilkinson 296da88e31 Merge branch '2.1.x' into 2.2.x
Closes gh-21754
5 years ago
Andy Wilkinson c96455f7cf Remove . from CLI's classpath on Unix-like platforms
Previously, the spring bash script added . to the classpath but the
Windows spring.bat script did not. This commit aligns the classpath
of the two scripts by removing . from the classpath in the bash
script.

Fixes gh-19910
5 years ago
Andy Wilkinson 020a47ba3e Document support for Gradle 5
Closes gh-15358
5 years ago
Andy Wilkinson 8da1e3addb Merge branch '2.1.x' into 2.2.x 5 years ago
Andy Wilkinson 6a9450ee8b Polish 5 years ago
Phillip Webb bfe1c281f0 Merge branch '2.1.x' into 2.2.x
Closes gh-21743
5 years ago
Phillip Webb 70e0a27949 Drop the use of the term "white list"
Closes gh-21737
5 years ago
Stephane Nicoll 4c26c7d043 Start building against Spring Framework 5.2.7 snapshots
See gh-21738
5 years ago
Stephane Nicoll d4c8fa9b2a Start building against Spring Framework 5.1.16 snapshots
See gh-21729
5 years ago
Stephane Nicoll f4f9df3d10 Start building against Reactor Dysprosium-SR8 snapshots
See gh-21730
5 years ago
Stephane Nicoll 0b0187cd0d Start building against Reactor Californium-SR19 snapshots
See gh-21728
5 years ago
Phillip Webb 0a05b4c9fd Update copyright year of changed files 5 years ago
dreis2211 9bb22ffb69 Remove usages of deprecated Connector.setAttribute()
See gh-21671
5 years ago
Stephane Nicoll eb38eeaf30 Polish 5 years ago
Andy Wilkinson 29c2a0471d Add Oracle DB dependency management under com.oracle.database
Closes gh-20333
5 years ago
Phillip Webb 864daab03a Merge branch '2.1.x' into 2.2.x 5 years ago
Phillip Webb b5fe3c3494 Refine YAML type restriction error
Closes gh-21596
5 years ago
Phillip Webb 4fc0dec6c4 Support wrapped random property sources
Update `SpringConfigurationPropertySource` so that wrapped random
property sources can be used. It's assumed that wrapped random
sources will use the name of the source as the prefix.

Closes gh-21595
5 years ago
Phillip Webb 09a47c9aad Fix containsDescendantOf for random sources
Fix the `containsDescendantOf` logic for random property sources to
ensure that ancestors are correctly matched.

Closes gh-21654
5 years ago
Phillip Webb 14e6c734a9 Merge branch '2.1.x' into 2.2.x
Closes gh-21643
5 years ago
Phillip Webb 95031295b9 Restore TomcatReactiveWebServerFactoryTests
Restore tests that were previously ignored due to a framework bug.

Closes gh-19702
5 years ago
Madhura Bhave 573cb98d90 Make management security configuration back off when SAML present
Fixes gh-21620
5 years ago
Phillip Webb 14c9804c5c Fix checkstyle issues 5 years ago
Phillip Webb af90604030 Merge branch '2.1.x' into 2.2.x
Closes gh-21597
5 years ago
Phillip Webb 587b840666 Restrict use of custom YAML types
Update `YamlJsonParser` and `OriginTrackedYamlLoader` to ensure that
custom types cannot be loaded.

Closes gh-21596
5 years ago
Bram De Cneudt 591d234e43 Fix links for Apache Camel starter
See gh-21540
5 years ago
Stephane Nicoll 77981ac2ae Polish "Use the container IP address for tests using TestContainer"
See gh-21480
5 years ago
olivier lamy 0c2bf70bb8 Use the container IP address for tests using TestContainer
See gh-21480
5 years ago
Stephane Nicoll afcb5d54b2 Polish "Fix uri tag for empty path"
See gh-21392
5 years ago
Jon Schneider f78f2d57e1 Fix uri tag for empty path
See gh-21392
5 years ago
Moritz do Rio Schulze 1e168a2145 Fix typo in section 4.30.6
See gh-21485
5 years ago
Scott Frederick 4a812fc29c Fix log name in ServletWebServerApplicationContext
Fixes gh-21354
5 years ago
Andy Wilkinson 4a896f2272 Merge branch '2.1.x' into 2.2.x
Closes gh-21471
5 years ago
Andy Wilkinson fdc63d71fe Use HTTPS when linking to groovy-lang.org
Closes gh-21466
5 years ago
Andy Wilkinson b78e4dacec Work around file handle leak when Undertow is stopped
There's a bug in Undertow that means it may leak a file handle is
the server is stopped immediately after a response to an SSL request
has been received. The stop processing races with Undertow's SSL
support tidying things up after sending the response. When the stop
processing wins, the tidying up fails with a NullPointerException that
prevents an input stream from being closed. On Windows, the input
stream remaining open prevents JUnit from being able to clean up its
temporary directory.

This commit uses Awaitility to wait for the file that's being served
over SSL to be deleted before stopping the server. On Windows, this
will delay the stop processing from beginning until after the tidy up
that's performed after sending the response has been completed,
hopefully eliminating the race condition that resulted in the input
stream being left open.

Fixes gh-21172
5 years ago
Phillip Webb 49a21ded7a Create endpoint beans as late as possible
Update `EndpointDiscoverer` so that `@Endpoint` and `@EndpointExtension`
beans are created as late as possible.

Prior to this commit, endpoint beans and extension beans would be
created during the discovery phase which could cause early bean
initialization. The problem was especially nasty when using an embedded
servlet container since `ServletEndpointRegistrar` is loaded as the
container is initialized. This would trigger discovery and load all
endpoint beans, including the health endpoint, and all health indicator
beans.

Fixes gh-20714
5 years ago
Madhura Bhave 27ada029b5 Revert "Expose property to configure OAuth2 provider configurationMetadata"
This reverts commit 7b79029949.

See gh-21375
5 years ago
Phillip Webb daed512076 Restore getUseRelativeRedirects in deprecated form
Restore the `getUseRelativeRedirects` method with a `Boolean` object
result and introduce `isUseRelativeRedirects` for the primitive boolean
variant.

See gh-20796
5 years ago
Phillip Webb 5157a75119 Polish 5 years ago
Madhura Bhave 7b79029949 Expose property to configure OAuth2 provider configurationMetadata
Closes gh-21375
5 years ago
Scott Frederick 6b8d08a6e3 Handle exceptions in management context
Prior to this commit, details about an exception would get dropped when
the management context was separate from the application context and
an actuator endpoint threw a binding exception.

This commit adds some logic to capture the exception so the management
context error handlers can add the appropriate attributes to the error
response.

Fixes gh-21036
5 years ago
Brian Clozel 3c666ac4c8 Upgrade to RSocket 1.0.0
Closes gh-21421
5 years ago
Stephane Nicoll c3eaa6dc54 Merge branch '2.1.x' into 2.2.x
Closes gh-21366
5 years ago
Stephane Nicoll efc9978362 Document use case of splitting auto-configuration and starter
Closes gh-20686
5 years ago
Stephane Nicoll 60ff8bafb5 Polish "Align TestRestTemplate Javadoc with documentation"
See gh-21318
5 years ago
Andrii Hrytsiuk f11c030b71 Align TestRestTemplate Javadoc with documentation
See gh-21318
5 years ago
Stephane Nicoll 31f9a965f0 Merge branch '2.1.x' into 2.2.x
Closes gh-21351
5 years ago
Stephane Nicoll 1a4f6df0a3 Upgrade to Spring Ldap 2.3.3.RELEASE
Closes gh-21342
5 years ago
Stephane Nicoll 55a1cd4a34 Upgrade to Spring Security 5.2.4.RELEASE
Closes gh-21348
5 years ago