Commit Graph

7292 Commits (0b733fe3ddbda564f5c565efcf9203c2ee1ca202)

Author SHA1 Message Date
Andy Wilkinson fc3f6a930d Merge branch '2.1.x' into 2.2.x
Closes gh-18940
5 years ago
Andy Wilkinson 5765cfe010 Allow 5 seconds for child to handle SIGINT before destroying it
Previously, when RunProcess handled a SIGINT it would immediately
attempt to destroy the process that it had run. This created a race
condition between the SIGINT being handled by the child process
and RunProcess destroying the child. The exact behavior of destroy
is implementation dependent and it may result in forcible termination
of the process where shutdown hooks are not called. This is what
happens on Windows. The exit code in such a case is 1 which prevents
anything from waiting for the process to complete from detecting
that it ended as a result of a SIGINT, leaving it with no choice but
to report an error. This is what happens with mvn spring-boot:run
with a forked process on Windows and results in the build failing.

This commit updates RunProcess to allow the child process to handle
the SIGINT itself, waiting for up to five seconds for that to happen
before the process is then destroyed. Given this time, the child
process exits with 130 which RunMojo already handles correctly as
indicating that the process died due to SIGINT and the build completes
with success as a result.

Fixes gh-18936
5 years ago
Stephane Nicoll 08067fb816 Polish "Remove reference to ConfigurationPropertiesScan in javadoc"
See gh-18920
5 years ago
wonwoo 92b00255a1 Remove reference to ConfigurationPropertiesScan in javadoc
See gh-18920
5 years ago
Andy Wilkinson 0a8a0daff8 Merge branch '2.1.x'
Closes gh-18913
5 years ago
Andy Wilkinson a11661d284 Trim whitespace in BasicJsonParser
Previously, whitespace in between the keys and values in the JSON was
not trimmed correctly in BasicJsonParser which lead to it incorrectly
parsing JSON with whitespace between the opening of a list ([) and the
opening of a map ({).

This commit updates the parser to trim unwanted whitespace and adds a
test to AbstractJsonParserTests to verify the whitespace handling
behaviour across all JsonParser implementations.

Closes gh-18911
5 years ago
Andy Wilkinson dd4377e69c Merge branch '2.1.x'
Closes gh-18912
5 years ago
Andy Wilkinson d1ead884c4 Fix @ServletComponentScan with a component index
Previously @ServletComponentScan did not work when there was a
component index on the classpath as it made an assumption about
the concrete type of the BeanDefinitions produced by scanning that
does not hold true when an index is present.

This commit updates the scanning and the handlers to correct the
assumpution by working with a bean definition type that is produced
by scanning both when there is and when there is not an index present.

To prevent the problem from reoccuring, a test that uses and index
has been added and the import of ScannedGenericBeanDefinition is now
prohibited by Checkstyle.

Closes gh-18910
5 years ago
Stephane Nicoll 86a1c96224 Make sure health endpoint is available with no contributor
This commit makes sure that the health endpoint returns a default health
status when no contributors are available. Previously, it was returning
`null` which leads to a 404 when exposed via HTTP.

Closes gh-18676
5 years ago
Stephane Nicoll 684d7cfe38 Upgrade to Mongodb 3.11.2
Closes gh-18898
5 years ago
Stephane Nicoll c413e5b54e Upgrade to Hazelcast 3.11.5
Closes gh-18897
5 years ago
Johnny Lim ea51947741 Use try-with-resources blocks in JarFileArchiveTests
See gh-18883
5 years ago
Madhura Bhave 471ca01ccf Do not validate value object bean definion when singleton present
Prior to this commit constructor bound configuration properties could
not be mocked because it would fail validation from
ConfigurationPropertiesBeanDefinitionValidator. The MockitoPostProcessor
registers the mocked bean as a singleton and validation can be skipped if a
singleton for the type is found in the bean factory.

Fixes gh-18652
5 years ago
Madhura Bhave f9785d2bda Fix constructor binding issues
This commit fixes a few bugs related to constructor binding.
The ContructorFilter on the Bindable has been replaced with a
Binder level BinderConstructorProvider so that it can be used to
determine the constructor to use for nested properties as well.

Fixes gh-18810
Fixes gh-18670
Closes gh-18685
Closes gh-18894

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
5 years ago
Phillip Webb 90e1046d53 Upgrade to Spring Kafka 2.3.3.RELEASE
Closes gh-18892
5 years ago
Andy Wilkinson f1af8c5510 Merge branch '2.1.x'
Closes gh-18889
5 years ago
Andy Wilkinson 59bc3c5602 Prevent recursive config props from causing a stack overflow
Previously, when the configuration properties annotation processor
encountered a property that was the same as an outer type that had
already been processed, it would fail with a stack overflow error.

This commit introduces the use of a stack to track the types that
have been processed. Types that have been seen before are skipped,
thereby preventing a failure from occurring. We do not fail upon
encountering a recursive type to allow metadata generation to
complete. At runtime, the recursive property will not cause a problem
if it is not bound.

Fixes gh-18365
5 years ago
Andy Wilkinson d8545bdead Merge branch '2.1.x'
Closes gh-18887
5 years ago
Andy Wilkinson 8b62f448ba Improve documentation on using Jersey alongside Spring MVC
Previously, the documentation did not provide any guidance on using
Jersey alongside Spring MVC or any other web framework.

This improves the documentation in two ways:

1. It notes that, in the presence of both Jersey and Spring MVC, the
   Actuator will prefer Spring MVC for exposing HTTP endpoints.
2. It adds a how-to describing how to configure Jersey to forward
   requests for which it has no handler on to the rest of the filter
   chain. When Spring MVC is the other framework, this allows them to
   be handled by its dispatcher servlet.

Closes gh-17523
5 years ago
Andy Wilkinson 571e4640de Merge branch '2.1.x'
Closes gh-18877
5 years ago
Andy Wilkinson bd06a91ac0 Recommend more overrides when using starter parent
This commit is a continuation of the work done in 987a5f81. In
addition to developers and licenses that are covered in the earlier
commit, a number of other settings are still inherited from the
starter parent. This commit updates the documentation to show them
being overridden as well.

Closes gh-18532
5 years ago
Stephane Nicoll d331f28222 Merge branch '2.1.x'
Closes gh-18885
5 years ago
dreis2211 1b2112ea8c Reduce method visibility in EndpointDiscovererTests
See gh-18884
5 years ago
Stephane Nicoll 4d1373c94d Polish "Support amqps:// URIs in spring.rabbitmq.addresses"
See gh-18808
5 years ago
Mark Pollack 0fedb24c6f Support amqps:// URIs in spring.rabbitmq.addresses
See gh-18808

Co-Authored-By: Bryan Kelly <xyloman@gmail.com>
5 years ago
Andy Wilkinson 49566edf6c Reduce visibility of test methods 5 years ago
Andy Wilkinson ce01f7f150 Merge branch '2.1.x'
Closes gh-18882
5 years ago
Andy Wilkinson ed50bf2494 Honour EndpointFilter configured on an endpoint's superclass
Previously, @EndpointFilter would only have an effect when used as
an annotation or meta-annotation on the endpoint class itself. It
would have no effect when used on a super-class of the endpoint
bean's class.

This commit updates EndpointDiscoverer so that an @EndpointFilter
annotation or meta-annotation on a super-class will be found and
applied to the discovery process. This is achieved by using find…
rather than get… when retrieving the attributes for the EndpointFilter
annotation.

Fixes gh-17866
5 years ago
Andy Wilkinson a65374b16b Merge branch '2.1.x'
Closes gh-18880
5 years ago
Andy Wilkinson cb76502a44 Document that JUL is not bridged into SLF4J when deployed to a container
Closes gh-16062
5 years ago
Andy Wilkinson 2c309c5d93 Merge branch '2.1.x'
Closes gh-18879
5 years ago
Andy Wilkinson 1c6f2af475 Clarify how to configure a Filter's order
Closes gh-18266
5 years ago
Andy Wilkinson 63dd159935 Merge branch '2.1.x'
Closes gh-18878
5 years ago
Andy Wilkinson 69a95ce5c1 Allow dependsOn relationships created by post-processor to be overridden
Previously, AbstractDependsOnBeanFactoryPostProcessor was unordered
which meant that it was impossible to guarantee that another bean
factory post-processor would run after it. This prevented overriding
of the dependsOn relationships that is creates.

This commit updates AbstractDependsOnBeanFactoryPostProcessor to give
it a default order of zero. This will allow additional bean factory
post-processors to be configured with a lower precedence order (values
greater than 0) so that they run after any
AbstractDependsOnBeanFactoryPostProcessor and can override the
dependencies that it has configured.

Fixes gh-18362
5 years ago
Andy Wilkinson abeafb325e Merge branch '2.1.x'
Closes gh-18877
5 years ago
Andy Wilkinson 987a5f8103 Recommend overriding licences and developers when using starter parent
Publishing to Maven Central requires spring-boot-starter-parent to
declare its license and developers. When a user then uses
spring-boot-starter-parent as their project's parent, these values
are inherited and this is almost certainly unwanted.

This commit updates the documentation to recommend and demonstrate
overriding the license and developers that are inherited from the
starter parent.

Closes gh-18532
5 years ago
Andy Wilkinson 36b1f65056 Merge branch '2.1.x'
Closes gh-18876
5 years ago
Andy Wilkinson 89e050d722 Document security risks of DevTools' remote support more clearly
Previously, the security risks and our recommendations on how to
mitigate them were not documented as clearly as they could have been.
This commit makes some changes to try to address this:

1. The security risk is now noted at the beginning of the section
2. The recommendation to use SSL is now documented more prominently
   and an alternative recommendation to only use remote support on
   a trusted network has been added.
3. The example secret has been removed to prevent copy and paste
4. A recommendation to use a secret that is unique and strong has been
   added

Closes gh-18825
5 years ago
dreis2211 689e02923f Remove non-existent FailureAnalyzer from spring.factories
See gh-18864
5 years ago
Stephane Nicoll da24a66ce6 Merge branch '2.1.x'
Closes gh-18875
5 years ago
Stephane Nicoll 5863a75c3c Polish "Document Settings as jooq supported auto-configuration type"
See gh-18870
5 years ago
Jens Teglhus Møller c34516cd9e Document Settings as jooq supported auto-configuration type
See gh-18870
5 years ago
Andy Wilkinson c2e11da5ba Upgrade to Spring Integration 5.2.1.RELEASE
Closes gh-18764
5 years ago
Andy Wilkinson de0e8b87d1 Upgrade to Spring Integration 5.1.9.RELEASE
Closes gh-18763
5 years ago
Andy Wilkinson 4b25339d57 Upgrade to Spring Security 5.1.7.RELEASE
Closes gh-18874
5 years ago
Andy Wilkinson c430035450 Upgrade to Spring Security 5.2.1
Closes gh-18869
5 years ago
Andy Wilkinson afbf256955 Upgrade to Micrometer 1.3.1
Closes gh-18867
5 years ago
Andy Wilkinson 377a8ee7cc Upgrade to Spring Kafka 2.3.2.RELEASE
Closes gh-18766
5 years ago
Andy Wilkinson b772d81f3a Upgrade to Spring AMQP 2.2.1.RELEASE
Closes gh-18762
5 years ago
Andy Wilkinson 8eb2146158 Upgrade to Spring Ws 3.0.8.RELEASE
Closes gh-18866
5 years ago