Commit Graph

3419 Commits (d343cc060ff624855917b79fdf3d4b040ab91b87)

Author SHA1 Message Date
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
Stephane Nicoll a5f826fc78 Fix typo 5 years ago
Madhura Bhave 453ca01338 Merge branch '2.2.x'
Closes gh-21429
5 years ago
Madhura Bhave 7b79029949 Expose property to configure OAuth2 provider configurationMetadata
Closes gh-21375
5 years ago
Andy Wilkinson 0bb687717c Auto-configure a lifecycle processor with configurable timeout
Closes gh-21347
5 years ago
Andy Wilkinson 240898121f Use SmartLifecycle for graceful web server shutdown
Closes gh-21325
5 years ago
Johnny Lim 6022d4cac7 Fix ClientHttpConnectorConfigurationTests.shouldApplyHttpClientMapper()
See gh-21390
5 years ago
Stephane Nicoll deb2322457 Remove wrong replacement key in deprecated metadata 5 years ago
Stephane Nicoll 8c4f185b98 Remove outdated metadata for spring.data.cassandra.port
Closes gh-21418
5 years ago
Scott Frederick 158933c3e5 Improve API of ErrorAttributes and DefaultErrorAttributes
This commit improves the backward-compatibility of the ErrorAttributes
interfaces by providing a default implementation of a new method. It
also encapsulates several parameters that control the inclusion or
exclusion of error attributes into a new ErrorAttributeOptions type to
make it easier and less intrusive to add additional options in the
future. This encapsulation also makes the handling of the
includeException option more similar to other options.

Fixes gh-21324
5 years ago
Stephane Nicoll 09815cc99d Merge branch '2.2.x'
Closes gh-21352
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
Madhura Bhave 8e7f816f48 Merge branch '2.2.x'
Closes gh-21344
5 years ago
Madhura Bhave 5583f64b1f Add tests to verify Jetty's thread pool defaults match server defaults
Closes gh-21213
5 years ago
Madhura Bhave 01404aa27b Merge branch '2.2.x'
Closes gh-21343
5 years ago
Madhura Bhave f29bce657e Harmonize default for server.tomcat.use-relative-redirects
Prior to this commit, the property was a Boolean with a null default.
If it was explicitly set by the user, a context customizer would use
that value to set it on the context. However, if it was not set, the default
wouldn't be tomcat's default but `false` because it was explicitly set to
`false` in `TomcatServletWebServerFactory`. This commit defaults the property
itself to `false` so that the default is more obvious to the user.

Fixes gh-20796
5 years ago
Phillip Webb d52bf83ab2 Polish 5 years ago
Andy Wilkinson 04c7132eb3 Rename customize to reflect type that it customizes
See gh-20961
5 years ago
dreis2211 dd11b8adba Fix checkstyle violation
See gh-21266
5 years ago
Andy Wilkinson 1abe0f16d0 Apply gridFsDatabase to auto-configured ReactiveGridFsTemplate
Closes gh-18284
5 years ago
Madhura Bhave 6007a71b9c Polish "Add support for customizing RSocketMessageHandler"
See gh-21081
5 years ago
Aarti Gupta 456d6e78fe Add support for customizing RSocketMessageHandler
See gh-21081
5 years ago
Scott Frederick a30740f8d2 Separate server properties for message and errors
Prior to this commit, there was a property server.error.include-details
that allowed configuration of the message and errors attributes in a
server error response.

This commit separates the control of the message and errors attributes
into two separate properties named server.error.include-message and
server.error.include-binding-errors. When the message attribute is
excluded from a servlet response, the value is changed from a
hard-coded text value to an empty value.

Fixes gh-20505
5 years ago
Andy Wilkinson d65d951318 Polish "Add support for customizing Spring Session's cookie serializer"
See gh-20961
5 years ago
Vedran Pavic 32454b83b4 Add support for customizing Spring Session's cookie serializer
This commit introduces a CookieSerializerCustomizer callback that
allows the customization of the auto-configured
DefaultCookieSerializer bean. This is particularly useful for
configuring cookie serializer's capabilities, such as SameSite, that
are not supported by the Servlet API and therefore not exposed via
server.servlet.session.cookie.* properties.

See gh-20961
5 years ago
Stephane Nicoll d16074d8fd Bind and unbind Kafka metrics as consumers and producers come and go
Fixes gh-21008

Co-authored-by: Andy Wilkinson <awilkinson@pivotal.io>
5 years ago
Brian Clozel 692a8c47cc Rename property for registering default Servlet
As a follow-up for gh-21214, this commit renames the property to:

`"server.servlet.register-default-servlet=false"`

Closes gh-21214
5 years ago
Brian Clozel c7c01f8ab4 Add property for registering default Servlet
This commit adds a new configuration property for configuring the
registration of the default Servlet in Servlet containers.

`"server.servlet.default-servlet.registered=false"`

The default of this property is still `true`, as it's been the case in
previous releases.

Closes gh-21214
5 years ago
dreis2211 c1c90b11b8 Fix some deprecations
See gh-21212
5 years ago
Andy Wilkinson d167bb472d Allow base packages to be specified on @AutoConfigurationPackage
Closes gh-19023
5 years ago
Andy Wilkinson d63e492906 Add support for enabling ISO date, time, and date-time formatting
Closes gh-20579
5 years ago
Andy Wilkinson 95e5d4e045 Polish "Enable users to provide custom time and datetime formats"
See gh-18772
5 years ago
Daniel Knittl-Frank 69b51cd64d Enable users to provide custom time and datetime formats
Extend WebFlux and WebMvc properties with timeFormat and
dateTimeFormat properties to allow users to customize format of
LocalTime and LocalDateTime instances.

See gh-18772
5 years ago
Stephane Nicoll 6921fdacac Expand configuration class eager filtering to imports
Previously, only root auto-configuration classes could be excluded
eagerly via an AutoConfigurationImportFilter. Any configuration class
loaded as a result of processing a particular auto-configuration were
parsed and checked as usual.

This commit makes use of the `getExclusionFilter` callback to expand
this filter to all candidates that are considered. The annotation
processor has also be expanded to generate metadata for non-root
configuration classes.

Closes gh-12157
5 years ago
Andy Wilkinson 69a25e4d80 Stop relying on transitive com.nimbusds:oauth2-oidc-sdk dependency 5 years ago
Phillip Webb ad1248e4ec Replace "folder" with "directory"
Consistently use the term "directory" instead of "folder"

Closes gh-21218
5 years ago
Brian Clozel dac62476a0 Merge branch '2.2.x'
Closes gh-21208
5 years ago
Brian Clozel a63ab468a3 Upgrade to RSocket 1.0.0-RC7
This commit upgrades to RSocket 1.0.0-RC7.
This new RC brings API changes we have to adapt to. As of this commit,
we're introducing a new `RSocketServerCustomizer` which replaces the now
deprecated `ServerRSocketFactoryProcessor`.

Closes gh-21046
5 years ago
Brian Clozel b337f67f93 Add ReactorNettyHttpClientMapper
This new customizer-like interface make it possible to configure the
Reactor Netty `HttpClient` that is going to be used by the
`WebClient.Builder` provided by Spring Boot.

Closes gh-21135
5 years ago
dreis2211 5eb5bf0a2d Polish
See gh-21009
5 years ago
Stephane Nicoll 85e9f713b0 Update copyright year of changed files
See gh-21007
5 years ago
Johnny Lim 29717423a3 Remove this keyword on member method invocations
See gh-21007
5 years ago
Andy Wilkinson d5b944140a Attempt to stabilise CouchbaseAutoConfigurationIntegrationTests
Starting the CouchbaseContainer fails intermittently when creation
of the primary index for the bucket fails with a read timeout. The
test doesn't require a primary index for the bucket so this commit
disables it creation in the hope that it will help to stabilise the
test.
5 years ago
Andy Wilkinson dc75ca3942 Avoid capturing TCCL when creating DefaultResourceLoaders
Previously, DefaultResourceLoader instances were created using the
default constructor. This causes the resource loader to capture the
TCCL that was in place at that time. This can lead to a class loader
leak if the resource loader is referenced directly or indirectly from
a static field of a class loaded by a different class loader.

This commit updates the creation of DefaultResourceLoader instances
in main code so that the resource load will use the class loader of
the creating class. In almost all cases this will be the same class
loader as was the thread context class loader that was being captured
so the change in behavior is minimal. Crucially, it will still address
the situation where the TCCL was different.

Note the DevTools' ApplicationContextResourceLoader has been updated
to explicitly use the TCCL. This ensures that it uses the restart
class loader which is required for DevTools to function correctly.

Fixes gh-20900
5 years ago
Andy Wilkinson d53be18582 Deprecate support for Bitronix
Closes gh-20823
5 years ago
Stephane Nicoll ddcd1bc7bb Remove metadata for configuration keys that were removed in 2.0
Closes gh-19706
5 years ago
Stephane Nicoll 623fbcbf8c Polish 5 years ago
Stephane Nicoll 1019dbbc47 Merge branch '2.2.x'
Closes gh-21100
5 years ago
Stephane Nicoll 8ac3ab5551 Add missing metadata for removed configuration keys
Closes gh-20846
5 years ago
Stephane Nicoll 6c02daf2bc Merge branch '2.2.x'
Closes gh-21098
5 years ago
Stephane Nicoll 311952730e Merge branch '2.1.x' into 2.2.x
Closes gh-21097
5 years ago
Stephane Nicoll 291165f060 Order additional metadata according to lexicographic order
Closes gh-21095
5 years ago
Phillip Webb 56711d678a Merge branch '2.2.x'
Closes gh-21083
5 years ago
Phillip Webb 102729b5e1 Merge branch '2.1.x' into 2.2.x
Closes gh-21082
5 years ago
Phillip Webb b3d33754a5 Remove outdated FIXMEs from tests
Closes gh-19782
5 years ago
Phillip Webb bf41da5322 Update copyright year of changed files 5 years ago
Phillip Webb e83c3b87c0 Merge branch '2.2.x'
Closes gh-21071
5 years ago
Phillip Webb 7d0b14fe1c Merge branch '2.1.x' into 2.2.x
Closes gh-21070
5 years ago
Phillip Webb 6011470ba6 Auto-configure cors on WelcomePageHandlerMapping
Update `WebMvcAutoConfiguration` to automatically apply cors
configuration to the `WelcomePageHandlerMapping`.

Fixes gh-21048
5 years ago
Stephane Nicoll e26f3e2a65 Review Cassandra's timeout options
This commit reviews the current timeout options. It creates a connection
and request sub-namespace to separate concerns a bit more.

Closes gh-19673
5 years ago
Brian Clozel f103966743 Polish
See gh-20994
5 years ago
Vedran Pavic f701d97b92 Improve Elasticsearch RestClient customization capabilities
At present, RestClientBuilderCustomizer allows general customization of RestClientBuilder.
This is troublesome for users that want to customize `HttpAsyncClientBuilder` and
`RequestConfig.Builder` since those are set on the `RestClientBuilder`. By customizing
those two builders user lose out on Spring Boot's support for binding username, password,
connection-timeout and read-timeout properties from `"spring.elasticsearch.rest"` namespace.

This commit enhances the `RestClientBuilderCustomizer` with support for customizing
`HttpAsyncClientBuilder` and `RequestConfig.Builder` by providing additional `customize`
methods that accept the aforementioned builders. Both new methods are optional as they have
no-op default implementations.

See gh-20994
5 years ago
Andy Wilkinson 3605235c67 Merge branch '2.2.x'
Closes gh-21041
5 years ago
Andy Wilkinson 439d9beecb Test that gridFsDatabase is honored by auto-configured GridFsTemplate
Closes gh-21039
5 years ago
Stephane Nicoll 415dcd899d Configure Cassandra's request throttling
Closes gh-19674
5 years ago
Stephane Nicoll 8787e749c4 Add IsolationLevel regression test with Kafka 2.4
This commit makes sure that our copy of the IsolationLevel enum is
consistent with what Kafka 2.4 provides

Closes gh-20822
5 years ago
Stephane Nicoll 2c72350cd8 Upgrade to Kafka 2.5.0
Closes gh-21032
5 years ago
Stephane Nicoll 6a8aaa7b99 Merge branch '2.2.x'
Closes gh-21017
5 years ago
Stephane Nicoll 90c0378a7d Apply configuration properties deprecation consistently
This commit makes sure that both the getter and the setter of a
deprecated configuration properties is flagged with `@Deprecated`.

Closes gh-20812
5 years ago
Stephane Nicoll 5afe4743cb Remove deprecated configuration properties
This commit removes the following deprecated properties:

* `server.connection-timeout`
* `server.use-forward-headers`
* `server.jetty.max-http-post-size`
* `server.tomcat.max-http-post-size`

Closes gh-20991
5 years ago
Phillip Webb e3b8478621 Polish 5 years ago
Phillip Webb dc56608651 Merge branch '2.2.x'
Closes gh-21004
5 years ago
Phillip Webb 1a8aa72afd Merge branch '2.1.x' into 2.2.x
Closes gh-21003
5 years ago
Phillip Webb 822d9f6a31 Allow empty URIs to create embedded datasource
Refine `DataSourceAutoConfiguration` conditions so that an empty
`spring.datasource.url` property can be used to enable the embedded
source.

Fixed gh-20996
5 years ago
K Zoli 0d532042cb Use RequestDispatcher.ERROR_STATUS_CODE constant
See gh-20923
5 years ago
Scott Frederick 1caca6e3d0 Deprecate unused ErrorController interface method
This commit marks as deprecated an interface method that is no longer
used, and changes all internal implementations to return `null` to
make the fact that the return value is not used more obvious.

Fixes gh-19844
5 years ago
Scott Frederick 70d4994502 Disable exception details on default error views
Prior to this commit, default error responses included the message
from a handled exception. When the exception was a BindException, the
error responses could also include an errors attribute containing the
details of the binding failure. These details could leak information
about the application.

This commit removes the exception message and binding errors detail
from error responses by default, and introduces a
`server.error.include-details` property that can be used to cause
these details to be included in the response.

Fixes gh-20505
5 years ago
Stephane Nicoll 71ecadeaee Polish "Optimize AutoConfigurationImportSelector.filter()"
See gh-20928
5 years ago
dreis2211 2158fadb35 Optimize AutoConfigurationImportSelector.filter()
See gh-20928
5 years ago
Stephane Nicoll 04544f9842 Polish 5 years ago
dreis2211 5b9d8bfc17 Upgrade to Testcontainers 1.14.0
See gh-20936
5 years ago
Stephane Nicoll 17e5b08cba Polish 5 years ago
Stephane Nicoll 8fa6ec36f4 Remove @ConditionalOnMissingBean check on deprecated class
Closes gh-20968
5 years ago
Phillip Webb bb79c847b2 Allow custom availability states
Create a general purpose `AvailabilityState` interface and refactor
the existing `LivenessState` and `ReadinessState` to use it. A single
`AvailabilityChangeEvent` is now used to carry all availability state
updates.

This commit also renames `ApplicationAvailabilityProvider` to
`ApplicationAvailabilityBean` and extracts an `ApplicationAvailability`
interface that other beans can inject. The helps to hide the event
listener method, which is really internal.

Finally the state enums have been renamed as follows:

 - `LivenessState.LIVE` -> `LivenessState.CORRECT`
 - `ReadinessState.READY` -> `ReadinessState.ACCEPTING_TRAFFIC`
 - `ReadinessState.UNREADY` -> `ReadinessState.REFUSING_TRAFFIC`

See gh-20962
5 years ago
Johnny Lim cb320288a4 Polish
See gh-20931
5 years ago
Stephane Nicoll 73ca703007 Merge branch '2.2.x'
Closes gh-20919
5 years ago
Stephane Nicoll 60f726a080 Polish 5 years ago
Stephane Nicoll 3cdb5a690a Polish "Align Kafka's missingTopicsFatal default value"
See gh-20917
5 years ago
dhimathu a12eace2a8 Align Kafka's missingTopicsFatal default value
See gh-20917
5 years ago
Vedran Pavic fec386b574 Harmonize naming of Elasticsearch auto-configuration classes 5 years ago
Brian Clozel 0611b6d3eb Fix startup failure when WebFlux auto-config is skipped
Prior to this commit, the `HttpHandlerAutoConfiguration` would rely on
the `WebFluxProperties` bean being present - this is most of the time
true when the appplication is using the WebFlux auto-configuration.

If the application is overriding the WebFlux auto-configuration and
providing its own setup, the properties bean is not present and we
should skip its usage.

Fixes gh-20891
5 years ago
Madhura Bhave 1342e4970a Provide a condition for detecting war deployments
Closes gh-19421
5 years ago
Phillip Webb ed2d90248c Rename `singleSignOn` property to `singlesignon`
Rename the SAML `singleSignOn` nested property to `singleSignOn` so
that we don't get problems when using uppercase environment variable
names.

See gh-20584
5 years ago
Phillip Webb 3ca896e63f Polish 5 years ago
Stephane Nicoll 885ad1b720 Merge branch '2.2.x'
Closes gh-20868
5 years ago
dreis2211 2f93196fbb Polish ConditionMessage#because()
See gh-20847
5 years ago
Stephane Nicoll 5c69534827 Remove direct dependency on Kafka's IsolationLevel
Closes gh-20811
5 years ago
Stephane Nicoll f963180ab8 Polish 5 years ago
Madhura Bhave 577bc1ce88 Fix formatting 5 years ago
Madhura Bhave c2e95ee7ee Support both JWT and Opaque token configuration for resource server
Closes gh-19426
5 years ago
Madhura Bhave 8659102650 Add configuration options for SAML authentication requests
Closes gh-20584
5 years ago
Brian Clozel bbbf8c527d Polish
See gh-20205
5 years ago
wonwoo a7e57e0909 Configure codec buffer size in ES Reactive Rest client
This commit adds a new configuration property
`"spring.data.elasticsearch.client.reactive.max-in-memory-size"`
which configures the maximum amount of memory buffered by the
`WebClient` used by the Reactive ElasticSearch client.

See gh-20205
5 years ago
Stephane Nicoll 617786e06f Polish "Disable Hazelcast auto-configuration when Jet is present"
See gh-20729
5 years ago
Ali Gurbuz 002a7c6e87 Disable Hazelcast auto-configuration when Jet is present
See gh-20729
5 years ago
Stephane Nicoll dfac3a282b Add configuration to enable Redis Cluster topology refresh
This commit adds two options to enable a refresh of the cluster
topology using Lettuce.

Closes gh-15630
5 years ago
Stephane Nicoll 0616ecfa5c Make sure Liquibase works with only spring-jdbc on the classpath
This commit improves the Liquibase auto-configuration to only rely on
spring-jdbc when a `DataSource` should be created on-the-fly for the
purpose of its initialization.

Previously, a connection pool implementation must be added as well, now
we're fallbacking on `SimpleDriverDataSource` if necessary. This
improves the database initialization use case with R2DBC.

Closes gh-20715
5 years ago
Andy Wilkinson c282f76633 Merge branch '2.2.x'
Closes gh-20741
5 years ago
dreis2211 798e21fd3e Polish GroovyTemplateAutoConfiguration
See gh-20708
5 years ago
Stephane Nicoll fd05bc2a4a Expose MongoDB's replica set name
Closes gh-20391
5 years ago
Stephane Nicoll 722d37468b Rationalize RabbitProperties
Closes gh-18830
5 years ago
dreis2211 674f1e77b5 Fix typos
See gh-20704
5 years ago
Stephane Nicoll 7a64b3f761 Restore Cassandra port option
This commit restores the port option that was removed in an earlier
milestone. Contact points that do not define a port already are
automatically transformed to include the one configured, with a default
matching Cassandra's default port.

This makes upgrades easier in the case a cluster uses consistent ports
everywhere.

Closes gh-19672
5 years ago
Madhura Bhave b66ca0016a Merge branch '2.2.x' 5 years ago
Madhura Bhave 042a02e0da Update copyright of changed files 5 years ago
Madhura Bhave 3ad1aa7b32 Merge branch '2.2.x'
Closes gh-20694
5 years ago
Anastasiia Losieva a55c3e4ab7 Use jws-algorithm property in ReactiveOAuth2ResourceServerJwkConfiguration
See gh-20681
5 years ago
Stephane Nicoll ff15d136db Merge branch '2.2.x'
Closes gh-20687
5 years ago
Stephane Nicoll ab01c55d8e Deprecate use of path extensions for request mapping and content negotiation
Closes gh-20528
5 years ago
Stephane Nicoll b3517a0771 Merge branch '2.2.x'
Closes gh-20671
5 years ago
Stephane Nicoll 009361d38c Merge branch '2.1.x' into 2.2.x
Closes gh-20670
5 years ago
Stephane Nicoll 18353231a0 Do not fail if "spring.datasource.url" cannot be resolved
Previously, a condition checked the value of "spring.datasource.url" to
determine if an embedded database has to be created as a fallback. When
the value is set with an unresolved placeholder, this fails even if
the DataSource is going to created by another mean ultimately.

This commit makes a more conservative check by only checking the
presence of the property rather than its value.

Closes gh-20438
5 years ago
Brian Clozel 87de8a5e15 Fix checkstyle issue 5 years ago
Brian Clozel cbe83f8db5 Make base path configurable for WebFlux applications
This commit adds the `"spring.webflux.base-path"` configuration
property. Configuring this property will gather all `HttpHandlers` into
a single composite and prefix all requests with a shared base path.

Closes gh-10129
5 years ago
Stephane Nicoll 97bf3ecf1c Polish "Migrate off deprecated Spring Data Cassandra API"
See gh-20662
5 years ago
Mark Paluch 8355d30456 Migrate off deprecated Spring Data Cassandra API
Configure UserTypeResolver and CodecRegistry on
MappingCassandraConverter. Configure on CassandraMappingContext only the
simple type holder instead of custom conversions.

See gh-20662
5 years ago
Phillip Webb 9a33a723fe Update copyright year of changed files 5 years ago
Phillip Webb 16b5ea3414 Update copyright year of changed files 5 years ago
Stephane Nicoll 1a9065f46f Merge branch '2.2.x'
Closes gh-20621
5 years ago
Stephane Nicoll 8f265f8d57 Polish "Fix @FlywayDataSource with multiple data sources"
See gh-20617
5 years ago
Shimbo Takaaki 2410d6bbd1 Fix @FlywayDataSource with multiple data sources
See gh-20617
5 years ago
Stephane Nicoll ec8d2c5843 Merge branch '2.2.x'
Closes gh-20616
5 years ago
Stephane Nicoll 39b965e1fd Merge branch '2.1.x' into 2.2.x
Closes gh-20615
5 years ago
Stephane Nicoll f5761bd508 Auto-configure listener container factory without consumer factory
Previously, the presence of a `ConsumerFactory` bean would make the
auto-configured one to back off, leading to a failure down the line if
no available instance matches the generics criterion. This commit
improves the auto-configuration to create a `ConsumerFactory<?,?>`
behind the scenes if none is available.

Closes gh-19221
5 years ago
Stephane Nicoll 3735771f9c Merge branch '2.2.x'
Closes gh-20612
5 years ago
Stephane Nicoll 08a89b6288 Polish "Configure signature algorithm when using public key jwt decoder"
See gh-20523
5 years ago
Michael Kreis 69e33d6e62 Configure signature algorithm when using public key jwt decoder
See gh-20523
5 years ago
dreis2211 ef9f1d39a3 Remove redundant MockitoAnnotations.initMocks()
See gh-20601
5 years ago
Brian Clozel ffdf9a422f Polish Liveness and Readiness support
This commit moves the core Liveness and Readiness support to its own
`availability` package. We've made this a core concept independent of
Kubernetes.

Spring Boot now produces `LivenessStateChanged` and
`ReadinessStateChanged` events as part of the typical application
lifecycle.

Liveness and Readiness Probes (`HealthIndicator` components and health
groups) are still configured only when deployed on Kubernetes.

This commit also improves the documentation around Probes best practices
and container lifecycle considerations.

See gh-19593
5 years ago
Stephane Nicoll 579a6ac254 Adapt tests for support for Java 14
See gh-20576
5 years ago
Brian Clozel fd0b2f6695 Add Kubernetes Liveness and Readiness Probes support
Prior to this commit and as of Spring Boot 2.2.0, we would advise
developers to use the Actuator health groups to define custom "liveness"
and "readiness" groups and configure them with subsets of existing
health indicators.

This commit addresses several limitations with that approach.

First, `LivenessState` and `ReadinessState` are promoted to first class
concepts in Spring Boot applications. These states should not only based
on periodic health checks. Applications should be able to track changes
(and adapt their behavior) or update states (when an error happens).

The `ApplicationStateProvider` can be injected and used by applications
components to get the current application state. Components can also
track specific `ApplicationEvent` to be notified of changes, like
`ReadinessStateChangedEvent` and `LivenessStateChangedEvent`.
Components can also publish such events with an
`ApplicationEventPublisher`. Spring Boot will track startup event and
application context state to update the liveness and readiness state of
the application. This infrastructure is available in the
main spring-boot module.

If Spring Boot Actuator is on the classpath, additional
`HealthIndicator` will be contributed to the application:
`"LivenessProveHealthIndicator"` and `"ReadinessProbeHealthIndicator"`.
Also, "liveness" and "readiness" Health groups will be defined if
they're not configured already.

Closes gh-19593
5 years ago
Stephane Nicoll 5893786cbb Polish "Add 'threads' configuration group for embedded containers"
See gh-19475
5 years ago
cbono 208f58104a Add 'threads' configuration group for embedded containers
See gh-19475
5 years ago
dreis2211 7924dd62b0 Add security.protocol to KafkaProperties
See gh-20360
5 years ago
Stephane Nicoll f470f27666 Merge branch '2.2.x'
Closes gh-20549
5 years ago
dreis2211 d9171d0afe Use @Configuration(proxyBeanMethods=false) wherever possible
See gh-20541
5 years ago
Stephane Nicoll 58eb0ba4d3 Add additional timeout settings
This commit expands the `spring.couchbase.env.timeouts` configuration
namespace with timeouts for disconnect, key-value operations with a
durability level, search, analytics and management.

Closes gh-19893

Co-authored-by: Michael Nitschinger <michael@nitschinger.at>
5 years ago
Stephane Nicoll abe43b2e83 Upgrade to Couchbase SDK v3
This commit upgrades to the Couchbase SDK v3 which brings the following
breaking changes:

* Bootstrap hosts have been replaced by a connection string and the
authentication is now mandatory.
* A `Bucket` is no longer auto-configured. The
`spring.couchbase.bucket.*` properties have been removed
* `ClusterInfo` no longer exists and has been replaced by a dedicated
API on `Cluster`.
* `CouchbaseEnvironment` no longer exist in favour of
`ClusterEnvironment`, the customizer has been renamed accordingly.
* The bootstrap-related properties have been removed. Users requiring
custom ports should supply the seed nodes and initialize a Cluster
themselves.
* The endpoints-related configuration has been consolidated in a
single IO configuration.

The Spring Data Couchbase provides an integration with the new SDK. This
leads to the following changes:

* A convenient `CouchbaseClientFactory` is auto-configured.
* Repositories are configured against a bucket and a scope. Those can
be set via configuration in `spring.data.couchbase.*`.
* The default consistency property has been removed in favour of a more
flexible annotation on the repository query methods instead. You can now
specify different query consistency on a per method basis.
* The `CacheManager` implementation is provided, as do other stores for
consistency so a dependency on `couchbase-spring-cache` is no longer
required.

See gh-19893

Co-authored-by: Michael Nitschinger <michael@nitschinger.at>
5 years ago
Stephane Nicoll e3899df22c Configure Spring Data Couchbase explicitly
This commit configures Spring Data Couchbase explicitly rather than
relying on the abstract configuration class. This has the advantage of
simplifying the auto-configuration and let it us proxy-free
configuration classes.

Spring Boot no longer uses or interacts with CouchbaseConfigurer. Users
relying on that to teach Spring Boot which components to use should
rely on `@Primary` flag instead in case of multiple beans of the same
type.

`CouchbaseConfiguration` is no longer public as extending from it is
no longer necessary. If the `CouchbaseEnvironment` has to be
customized, a `CouchbaseEnvironmentBuilderCustomizer` bean can be
registered to tune the auto-configured environment.

Closes gh-20533
5 years ago
dreis2211 5975e7bd8d Fix some deprecation warnings
See gh-20527
5 years ago
Andy Wilkinson 77dbe999b9 Polish "Add clearChecksums to Liquibase auto-configuration"
See gh-20417
5 years ago
ferengra a2680efadb Add clearCheckSums to Liquibase auto configuration
Liquibase auto configuration is extended with clearCheckSums to allow
to clear all checksums in the current changelog, so they will be
recalculated upon the next update.

See gh-20417
5 years ago
Andy Wilkinson c917b61484 Reinstate leading / in default value for spring.liquibase.change-log
Unfortunately, while redundant for new applications, removing the
leading slash adversely affected existing application upon upgrades as
it caused Liquibase to re-apply every change log.

Closes gh-20177
5 years ago
Andy Wilkinson d2ebd77861 Upgrade to Flyway 6.3.0
Closes gh-20445
5 years ago
Andy Wilkinson 308e1d3675 Add support for gracefully shutting down the web server
This commit adds support for gracefully shutting down the embedded
web server. When a grace period is configured
(server.shutdown.grace-period), upon shutdown, the web server will no
longer permit new requests and will wait for up to the grace period
for active requests to complete.

Closes gh-4657
5 years ago
dreis2211 9481f2c68d Remove hardcoded version from VersionOverridingElasticsearchContainer
See gh-20428
5 years ago
dreis2211 6036df5f33 Upgrade to Elasticsearch 7.6.1
See gh-20423
5 years ago
Stephane Nicoll e5394ceac2 Polish "Handle new Annotation.toString() behaviour in JDK 14"
See gh-20180
5 years ago
dreis2211 e22aca85e9 Handle new Annotation.toString() behaviour in JDK 14
See gh-20180
5 years ago
Stephane Nicoll 89805fdb61 Fix checkstyle violations 5 years ago
Stephane Nicoll aa4dad1d73 Polish "Allow Embedded directory to be used without spring-data-ldap"
See gh-20223
5 years ago
Frank Schmager a92c57c07d Allow Embedded directory to be used without spring-data-ldap
See gh-20223
5 years ago
Brian Clozel ea45d8ef25 Fix "spring.integration.rsocket" canonical name
See gh-18834
5 years ago
Artem Bilan 3967e76b9b Auto-Configure RSocket support for Spring Integration
This commit adds a new auto-configuration for RSocket support in Spring
Integration.

Given an application with `spring-messaging`, `spring-integration-rsocket`
and RSocket dependencies, developers are now able to leverage Spring
Integration features with RSocket.

It is now possible to configure an RSocket server with
`"spring.rsocket.server.*"` properties and let it use
`IntegrationRSocketEndpoint` or `RSocketOutboundGateway` components to
handle incoming RSocket messages. This infrastructure can handle Spring
Integration RSocket channel adapters and `@MessageMapping` handlers
(given `"spring.integration.rsocket.server.message-mapping-enabled"`is
configured.

If the `"spring.integration.rsocket.client.host"` and
`"spring.integration.rsocket.client.port"` (for TCP protocol), or
`"spring.integration.rsocket.client.uri"`  (for WebSocket) is configured
then a `ClientRSocketConnector` will be configured accordingly.

Closes gh-18834

Co-authored-by: Brian Clozel <bclozel@pivotal.io>
5 years ago
Johnny Lim 98738d22f4 Polish tests
See gh-20318
5 years ago
Stephane Nicoll 19fbac7d59 Add auto-configuration for Spring Data R2DBC
This commit adds auto-configuration support for Spring Data R2DBC. If a
`ConnectionFactory` and Spring Data are available, scanning of reactive
repositories is enabled.

This commit also adds a starter to bring R2DBC and the necessary Spring
Data libraries.

See gh-19988

Co-authored-by: Mark Paluch <mpaluch@pivotal.io>
Co-authored-by: Oliver Drotbohm <odrotbohm@pivotal.io>
5 years ago
Stephane Nicoll 5c174feb65 Add auto-configuration for R2DBC's ConnectionFactory
This commit adds auto-configuration for R2DBC. If R2DBC is on the
classpath, a `ConnectionFactory` is created similarly to the algorithm
used to create a `DataSource`.

If an url is specified, it is used to determine the R2DBC driver and
database location. If not, an embedded database is started (with only
support of H2 via r2dbc-h2). If none of those succeed, an exception is
thrown that is handled by a dedicated FailureAnalyzer.

To clearly separate reactive from imperative access, a `DataSource` is
not auto-configured if a `ConnectionFactory` is present. This makes sure
that any auto-configuration that relies on the presence of a
`DataSource` backs off.

There is no dedicated database initialization at the moment but it is
possible to configure flyway or liquibase to create a local `DataSource`
for the duration of the migration. Alternatively, if Spring Data R2DBC
is on the classpath, a `ResourceDatabasePopulator` bean can be defined
with the scripts to execute on startup.

See gh-19988

Co-authored-by: Mark Paluch <mpaluch@pivotal.io>
5 years ago
Stephane Nicoll 402eb87847 Upgrade to Tomcat 9.0.31
Closes gh-20277
5 years ago
Stephane Nicoll a7f3b801ae Upgrade to Sendgrid 4.4.5
Closes gh-20268
5 years ago
Stephane Nicoll a039f6328d Start building against Spring Framework 5.2.4 snapshots
See gh-20240
5 years ago
Stephane Nicoll 67d2258e76 Start building against Spring Framework 5.2.4 snapshots
See gh-20199
5 years ago
Scott Frederick 8f84dbe3cf Harmonize MongoDB client factories
This commit brings MongoClientFactory and ReactiveMongoClientFactory
into functional alignment and reduces duplication in the classes
and their tests.

There are no behavior changes to ReactiveMongoClientFactory.
MongoClientFactory now throws an exception when a URI is configured
along with a host, port, or credentials, where it previousy ignored
host, port, and credentials silently. MongClientFactory now also
supports MongoClientSettingsBuilderCustomizers.

Fixes gh-20019
5 years ago
Stephane Nicoll d65e06081f Update copyright year of changed files
See gh-20226
5 years ago
Johnny Lim 8be8a8421d Polish
See gh-20226
5 years ago
Stephane Nicoll 287d577aea Merge branch '2.2.x'
Closes gh-20218
5 years ago
Stephane Nicoll 1d60184075 Merge branch '2.1.x' into 2.2.x
Closes gh-20217
5 years ago
Stephane Nicoll 2147976c17 Do not fallback to embedded configuration if a datasource url is set
This commit makes sure that a fallback embedded datasource is not
created if no suitable connection pool is found and an url has been
explicitly registered.

This is consistent with EmbeddedDataSourceConfiguration as it is using
EmbeddedDatabaseBuilder behind the scenes and the latter does not
honour the configured URL anyway.

Closes gh-19192
5 years ago
Stephane Nicoll 4bcf4245d1 Polish "Add support for configuring Liquibase tag property"
See gh-19316
5 years ago
Eddú Meléndez 407e237f10 Add support for configuring Liquibase tag property
See gh-19316
5 years ago
Stephane Nicoll b56c4f1a4d Polish "Add support for configuring Jetty's backing queue"
See gh-19494
5 years ago
cbono 852734b129 Add support for configuring Jetty's backing queue
See gh-19494
5 years ago
Stephane Nicoll 2ede9e63b9 Merge branch '2.1.x' into 2.2.x
Closes gh-20117
5 years ago
Stephane Nicoll 32c1dd45a9 Revert "Merge pull request #19926 from xak2000"
Closes gh-19926
5 years ago
Andy Wilkinson 09fa8255cd Upgrade to Tomcat 9.0.31
Closes gh-20167
5 years ago
Stephane Nicoll faaf9a7e0c Upgrade to SendGrid 4.4.4
Closes gh-20092
5 years ago
dreis2211 23bf948101 Upgrade to Asciidoctor Gradle JVM 3.0.0
See gh-19953
5 years ago
Stephane Nicoll 00b10e655e Merge branch '2.2.x'
Closes gh-20125
5 years ago
Stephane Nicoll 8f06d819e4 Harmonize JMS connection factory bean names
This commit restores consistent naming for the auto-configured
connection factory.

Closes gh-19565
5 years ago
Stephane Nicoll 466c1ba251 Merge branch '2.2.x'
Closes gh-20118
5 years ago
Stephane Nicoll a425cc1b46 Merge branch '2.1.x' into 2.2.x
Closes gh-20117
5 years ago
Ruslan Stelmachenko 5f7e1ac4f2 Remove unnecessary leading slash in changelog locations
See gh-19926
5 years ago
Stephane Nicoll 32bd845a7d Merge branch '2.2.x'
Closes gh-20116
5 years ago
Stephane Nicoll 66809c6c1e Polish "Fix condition source in OnBeanCondition"
See gh-19948
5 years ago
Jorge Cordoba 547fc30ead Fix condition source in OnBeanCondition
See gh-19948
5 years ago
dreis2211 aa0360e1ba Fix some deprecation warnings
See gh-20108
5 years ago
Stephane Nicoll ddcf5966bb Disable Spring Data Neo4j's open session in view by default
Closes gh-20012
5 years ago
Stephane Nicoll 77bdf992ec Polish "Create HazelCastClient if necessary"
See gh-20109
5 years ago
Dmytro Nosan 67dd9ad537 Create HazelCastClient if necessary
This commit makes sure to create a HazelcastClient if an instance name
is provided in configuration and if no such client already exists. This
harmonizes the behaviour with of the server counter-part.

See gh-20109
5 years ago
Stephane Nicoll aa56a6f647 Add missing mockito dependency
Closes gh-20097
5 years ago
Stephane Nicoll b5e23e7405 Update copyright year of changed files
See gh-20020
5 years ago
Johnny Lim b67ece48e4 Polish
See gh-20020
5 years ago
Stephane Nicoll 5833d2c5e8 Fix Embedded Mongo classpath check
This commit changes the classpath check condition to verify that the
core module of the MongoDB driver is present. Previously, we were only
checking for the presence of the sync driver, making embedded support
unavailable with the reactive variant.

Closes gh-19960
5 years ago
Stephane Nicoll c4daff7225 Polish "Upgrade to MongoDB Java Driver 4.0 beta1"
See gh-19960
5 years ago
Christoph Strobl d2d6dbdc00 Upgrade to MongoDB Java Driver 4.0 beta1
See gh-19960
5 years ago
Andy Wilkinson 886e7ba38c Merge branch '2.2.x'
Closes gh-19989
5 years ago
Andy Wilkinson a37c170376 Try to make CouchbaseAutoConfigurationIntegrationTests less flakey
Closes gh-19932
5 years ago
dreis2211 fac6f08ca3 Use new AssertJ duration assertions
See gh-19985
5 years ago
Stephane Nicoll b6c5c3a113 Polish
See gh-19802
5 years ago
Stephane Nicoll eb852f1ad6 Disable bean overriding by default in ApplicationContextRunner
For consistency with SpringApplication, this commit disables bean
overriding by default in ApplicationContextRunner. Bean overriding can
be enabled again using withAllowBeanDefinitionOverriding.

Closes gh-18019
5 years ago
Stephane Nicoll 0516520b7e Polish "Fix scope of CqlSessionBuilder bean"
See gh-19899
5 years ago
Dmytro Nosan c8105413b9 Fix scope of CqlSessionBuilder bean
See gh-19899
5 years ago
Stephane Nicoll 83b38599b1 Apply consistent timeout for Cassandra integration tests
Closes gh-19802
5 years ago
Madhura Bhave 84ea3d359b Increase timeout for Cassandra tests
Closes gh-19802
5 years ago
Stephane Nicoll ed14173865 Polish "Upgrade to Flyway 6.2.0"
See gh-19894
5 years ago
Kedar Joshi 0ae075efd5 Upgrade to Flyway 6.2.0
See gh-19894
5 years ago
Stephane Nicoll f0e93f0e1d Migrate Couchbase tests to ApplicationContextRunner 5 years ago
Stephane Nicoll a1e6a20915 Simplify default value for Spring Data Couchbase's typeKey
This commit hard codes the default value so that the annotation
processor picks it up. The default value is tested for consistency so
this is acceptable as providing the default value in the metadata
requires to hard code it anyway.
5 years ago
Stephane Nicoll af4fdf0d6d Polish "Add support for Spring Data Couchbase custom type key"
See gh-19789
5 years ago
Grudi Radev d1a44dfacd Add support for Spring Data Couchbase custom type key
See gh-19789
5 years ago
Stephane Nicoll 142a0cbb85 Fix warnings in spring-boot-autoconfigure's Kotlin test code
Closes gh-19877
5 years ago
Stephane Nicoll 0a6fa64ff9 Fix default value for spring.data.couchbase.contact-points
See gh-18621
5 years ago
Stephane Nicoll df7b3839a1 Add local-datacenter property for Cassandra
The Cassandra v4 driver does not longer have automatic local DC inference
from contact points. As a result, the "local-datacenter" property must be
set with the default load balancing policy and the contact points must
be of that data center.

This commit adds a new property for the local datacenter so that it can
be specified without the use of a customizer.

Closes gh-19779
5 years ago
Stephane Nicoll 95be419527 Use Class.forName rather than ClassLoader.loadClass
This commit changes uses of ClassLoader.loadClass to Class.forName for
consistency with what was initiated in #19342 and better compatibility
with GraalVM.

Closes gh-19824
5 years ago
Scott Frederick 462f5635d6 Reinstate JobLauncherCommandLineRunner
This class was mistakenly marked as deprecated in 2.2.0 instead of deprecated
in 2.3.0. This resulted in the class being deleted as part of the 2.3.0
cleanup.

Putting it back in place now with the correct deprecation noted.

Closes gh-19861
5 years ago
Phillip Webb e0013454b5 Use parentheses when declaring dependencies
Update all dependencies declarations to use the form `scope(reference)`
rather than `scope reference`.

Prior to this commit we declared dependencies without parentheses unless
we were forced to add them due to an `exclude`.
5 years ago
Phillip Webb 0209cd3e4c Polish quote form used in Gradle scripts
Replace Gradle single quote strings with the double quote form
whenever possible. The change helps to being consistency to the
dependencies section where mostly single quotes were used, but
occasionally double quotes were required due to `${}` references.
5 years ago
Scott Frederick ed6fbc6bec Remove Spring Cloud Connectors auto-config/starter
The Spring Cloud Connectors project has been deprecated in favor of the
Java CFEnv project. The Boot auto-configuration and starter that support
Connectors were deprecated in Boot 2.2.

This commit removes the Connectors auto-configuration, starter,
and dependency management.

Closes gh-19798
5 years ago
Scott Frederick 9ff50f903f Default spring.datasource.generate-unique-name to true
This change ensures that each test in a test suite that shares an
application context gets a unique embedded database, to prevent
inconsistent embedded database state between tests.

Closes gh-16747
5 years ago
Scott Frederick 288889685d Change default BootstrapMode for JPA repositories
Change the default `BootstrapMode` for auto-configured `JpaRepositories`
to `BootstrapMode.DEFERRED` to allow the initialization of
`EntityManagerFactory` to be parallelized for increased startup efficiency.

Prior to this change, the default BootstrapMode for all auto-configured
Spring Data repositories was `BootstrapMode.DEFAULT`.

Closes gh-16230
5 years ago
Stephane Nicoll 4d70f58bc8 Polish "Upgrade to Infinispan 10.1.1.Final"
See gh-19790
5 years ago
Scott Frederick c4592e7df8 Remove deprecated Joda-Time support
See gh-19699
5 years ago
Scott Frederick 8f102aee68 Remove deprecated 2.2 code
See gh-19699
5 years ago
Andy Wilkinson 443d1a6a21 Upgrade to Liquibase 3.8.5
Closes gh-19754
5 years ago
Andy Wilkinson 714a187d8f Rework dep mgmt again to avoid consumers picking up strict constraints
This paves the way for publishing Gradle module metadata once the
problem caused by snapshot versions and our two-step publication
process has been addressed.

See gh-19609
5 years ago
Stephane Nicoll dee71f064b Harmonize Cassandra bean names 5 years ago
Andy Wilkinson aefe52e4d0 Revert "Rework dep management to avoid consumers picking up strict constraints"
This reverts commit b34a311d02 as,
having disabled the publishing of Gradle's module metadata (4f75ab5),
the changes are no longer needed.

See gh-19609
5 years ago
Stephane Nicoll 246f5ce8eb Polish Cassandra v4 support 5 years ago
Brian Clozel 711391cf2f Move spring.http.* config properties namespace
Closes gh-18827
5 years ago
Stephane Nicoll 7f6b01c3d2 Make sure Redis cache prefix includes cache name
This commit maps 'spring.cache.redis.key-prefix' to the new
'prefixCacheNameWith' method introduced in Spring Data Neumann. This
makes sure that the configured prefix includes the cache name.

Closes gh-16676
5 years ago
Phillip Webb 862462b791 Update copyright year of changed files 5 years ago
Phillip Webb 1e5ba09a3e Merge branch '2.2.x' 5 years ago
Phillip Webb 15652ae4c1 Update copyright year of changed files 5 years ago
Phillip Webb 3cfbfebbb1 Merge branch '2.1.x' into 2.2.x 5 years ago
Phillip Webb 9bd49562fe Update copyright year of changed files 5 years ago
Scott Frederick c789592e26 Remove support for deprecated Elasticsearch Jest client
Closes #19676
5 years ago
Andy Wilkinson b34a311d02 Rework dep management to avoid consumers picking up strict constraints
Previously, enforcedPlatform dependencies were using to pull in the
constraints defined in spring-boot-dependencies and
spring-boot-parent and applied them strictly so that the constrained
version had to be used. This worked as intended in Spring Boot's own
build but incorrectly enforced those same strict version requirements
on external consumers of Spring Boot's modules.

This commit reworks how Spring Boot defines its internal dependency
management so that platform dependencies are exposed to external
consumers while enforced platform dependencies are using internally.

See gh-19609
5 years ago
Stephane Nicoll 405b9b7f93 Merge branch '2.2.x'
Closes gh-19693
5 years ago
dreis2211 852659684b Fix typo in NoSuchBeanDefinitionFailureAnalyzer exception
See gh-19690
5 years ago
Brian Clozel b780e5247c Remove support for Elasticsearch transport client
The Elasticsearch transport client has been deprecated since Spring Boot
2.2.0 and is about to be removed from Spring Data Elasticsearch and
Elasticsearch itself in their next major releases.

The available REST client support variants are now the preferred way of
using Elasticsearch features.

Closes gh-19668
5 years ago
Stephane Nicoll ca1710ee56 Upgrade to Apache Cassandra 4.3.1
See gh-19588
5 years ago
Stephane Nicoll d282eb619f Upgrade to Elasticsearch 7.5.1
See gh-19588
5 years ago
Brian Clozel 0f567c879d Auto-configure HTTP client builders as Lazy
Prior to this commit, HTTP client builders auto-configured by Spring
Boot would be eagerly instantiating resources, even if those were not
used by the application.

This commit makes the `RestTemplateBuilder` bean as Lazy.
`WebClient.Builder` was already a prototype bean, but some of its
dependencies could consume resources, like the `HttpClientConnector` and
the related infrastructure. This commit makes those pieces lazy.

Note that since those components are meant to help instantiate actual
HTTP clients for application components, making them lazy won't make any
difference at runtime since they'll be used during context refresh, or
they won't be used at all.

Closes gh-19549
5 years ago
Andy Wilkinson ce99db1902 Port the build to Gradle
Closes gh-19609
Closes gh-19608
5 years ago
Madhura Bhave 6d0b4351f4 Merge branch '2.2.x'
Closes gh-19582
5 years ago
Madhura Bhave 437941cc51 Improve diagnostics when using `@ConstructorBinding` on a Kotlin class
Closes gh-19312
5 years ago
Stephane Nicoll e5c1f3133a Harmonize cassandra tests 5 years ago
Stephane Nicoll 6ced89490c Polish 5 years ago
Stephane Nicoll bc066d279b Polish cassandra tests
See gh-18019
5 years ago
Andy Wilkinson 10ba17c390 Merge branch '2.2.x'
Closes gh-19571
5 years ago
Andy Wilkinson 6d8f07d899 Merge branch '2.1.x' into 2.2.x
Closes gh-19570
5 years ago
Andy Wilkinson bdffa860d9 Increase startup timeout for Docker containers
Closes gh-19569
5 years ago
Madhura Bhave c9ad3564d9 Merge branch '2.2.x'
Closes gh-19562
5 years ago
Madhura Bhave 82dc7bcc90 HypermediaAutoConfiguration should back off when Spring MVC absent
Fixes gh-19392
5 years ago
Madhura Bhave 87dd11502a Refactor HypermediaAutoConfigurationTests 5 years ago
Brian Clozel 2f78c72f92 Avoid 406 Not Acceptable for error pages
Prior to this commit, the `ErrorController` would override the original
error response status if the error map cannot be written due to content
negotiation with the HTTP client. In that case, the error handling
infrastructure returns a `406 Not Acceptable` response.

This commit improves the `ErrorController` so that
`HttpMediaTypeNotAcceptableException` instances thrown by that
controller are not returned as is but instead we write the error
response with an empty body and the original HTTP error status.

Fixes gh-19545
See gh-19522
5 years ago
Stephane Nicoll ee7555750e Add ComponentScan#nameGenerator alias on @SpringBootApplication
This commit allows to customize the default BeanNameGenerator for
scanned components using @SpringBootApplication.

Closes gh-19346
5 years ago
Madhura Bhave bb55bad170 Merge branch '2.2.x'
Closes gh-19529
5 years ago
Madhura Bhave c12a3f4172 Support explicitly setting forward headers strategy to NONE
Prior to this commit, there was no distinction between explicitly setting
forward headers strategy to a value of NONE and not setting it at all.
This meant that in a cloud environment, a cloud provider was always checked
to see if it was active and using forward headers and there was no way to
prevent that.

This commit changes the default value of the property to null so that there
is a way to determine if the property was explicitly set to NONE.

Fixes gh-19333
5 years ago
Brian Clozel cc154bbefb Avoid 406 Not Acceptable for error pages
Prior to this commit, the `ErrorController` would override the original
error response status if the error map cannot be written due to content
negotiation with the HTTP client. In that case, the error handling
infrastructure returns a `406 Not Acceptable` response.

This commit improves the `ErrorController` so that
`HttpMediaTypeNotAcceptableException` instances thrown by that
controller are not returned as is but instead we write the error
response with an empty body and the original HTTP error status.

Fixes gh-19522
5 years ago
Brian Clozel c2f8741e2e Merge branch '2.2.x'
Closes gh-19517
5 years ago
Brian Clozel 1320c44a25 Use RBAC credentials for Couchbase cluster info
Prior to this commit, the Couchbase auto-configuration would use the
bucket credentials when RBAC is configured. This commit ensures that
RBAC is used in that case.

This commit also adds new configuration properties to customize the
bootstrap ports for Couchbase:

* `spring.couchbase.env.bootstrap.http-direct-port`
* `spring.couchbase.env.bootstrap.http-ssl-port`

Fixes gh-19393
5 years ago
Stephane Nicoll c3ab4b875a Merge branch '2.2.x'
Closes gh-19504
5 years ago
Stephane Nicoll 7d36599343 Polish "Fix outdated reference in ArtemisConfigurationCustomizer javadoc"
See gh-19503
5 years ago
Ochieng Olanga c6f7d12270 Fix outdated reference in ArtemisConfigurationCustomizer javadoc
See gh-19503
5 years ago
Stephane Nicoll 6fc52b0563 Polish 5 years ago
Stephane Nicoll a9b0b78cb2 Upgrade to Flyway 6.1.3
Closes gh-19266
5 years ago
Victor Ferrer 1d900f67e7 FilteringSpringBootCondition uses Class.forName instead of classLoader
See gh-19490
5 years ago
Stephane Nicoll 61ae4fbc04 Merge branch '2.2.x' 5 years ago
Stephane Nicoll 1de30f0d00 Polish 5 years ago
Stephane Nicoll 3b6f21d997 Merge branch '2.2.x'
Closes gh-19486
5 years ago
Stephane Nicoll 07a21ec601 Harmonize property visibility in Saml2RelyingPartyProperties
Closes gh-19194
5 years ago
Stephane Nicoll 334f3e08ae Fix formatting 5 years ago
Stephane Nicoll 5f178db49b Polish test setup
This commit polishes a test configuration to avoid registering a mock
for the same bean twice.
5 years ago
Stephane Nicoll cf740add85 Fix component scan test setup
This commit fixes the setup of tests using component scan. Previously,
a configuration used an include filter to only include a particular
configuration class in a given package. Unfortunately, include filters
do not prevent regular filters by default and the definition did not
have the intended behaviour.

This commit disables default filters so that only the specified include
filter is applied.
5 years ago
Stephane Nicoll bb5e09882a Extract RabbitTemplate auto-configuration in a configurer
This commit movers the auto-configuration of RabbitTemplate to a
dedicated class that can be reused to create additional template with
similar settings.

CLoses gh-19440
5 years ago
Stephane Nicoll 015714c1d6 Merge branch '2.2.x'
See gh-19474
5 years ago
Stephane Nicoll 85667ba165 Merge branch '2.1.x' into 2.2.x
See gh-19473
5 years ago
Stephane Nicoll c0f1aaebb6 Fix Tomcat's maxConnections default value
Closes gh-19472
5 years ago
Stephane Nicoll 2c1e81adf0 Polish 5 years ago
Stephane Nicoll 5b1a622195 Harmonize class visibility
Closes gh-19414
5 years ago
Stephane Nicoll 58a28cf54c Merge branch '2.2.x'
Closes gh-19444
5 years ago
Stephane Nicoll c9bb17f444 Merge branch '2.1.x' into 2.2.x
Closes gh-19443
5 years ago
Stephane Nicoll c6dab447cd Fix visibility of inner classes of ServletWebServerFactoryConfiguration
Closes gh-19395
5 years ago
Stephane Nicoll 68dc850a82 Execute batch jobs with ApplicationRunner
This commit migrates JobLauncherCommandLineRunner to an
ApplicationRunner implementation. The latter allows to parse option
arguments (i.e. `--spring.something=value`) and makes it easy to ignore
arguments that are not meant to be passed to batch jobs.

Closes gh-19442
5 years ago
Johnny Lim 6efa98951d Polish LdapAutoConfigurationTests
See gh-19437
5 years ago
Stephane Nicoll 5031e6182b Merge branch '2.2.x'
Closes gh-19435
5 years ago
Filip Hrisafov bb5c151ee0 Disable SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS by default
See gh-19352
5 years ago
Stephane Nicoll fde06f4edd Merge branch '2.2.x'
Closes gh-19434
5 years ago
Stephane Nicoll 2171e7a425 Merge branch '2.1.x' into 2.2.x
Closes gh-19433
5 years ago
Tadaya Tsuyukubo 294267d2e0 Fix typo on ConditionMessage
See gh-19354
5 years ago
dreis2211 4b10462464 Fix compilation error
See gh-19423
5 years ago
Andy Wilkinson 7551a79e80 Merge branch '2.2.x'
Closes gh-19422
5 years ago
Andy Wilkinson ea00ab9919 Protect against NoSuchMethodError when deploying to old Tomcats
Fixes gh-19308
5 years ago
Stephane Nicoll aa821151bb Polish "Detect DirContextAuthenticationStrategy bean"
See gh-19328
5 years ago
Filip Hrisafov c108d2d011 Detect DirContextAuthenticationStrategy bean
This commit improves the LDAP auto-configuration to detect if a
DirContextAuthenticationStrategy bean is defined and, if so, associates
it with the auto-configured `LdapContextSource`.

See gh-19328
5 years ago
Stephane Nicoll 20bebdc07d Merge branch '2.2.x'
Closes gh-19331
5 years ago
dreis2211 b1158bf35d Simplify some Stream API usages
See gh-19291
5 years ago
dreis2211 c6c03e89a4 Remove code that is deprecated since 2.1.x
See gh-19189
5 years ago
Stephane Nicoll 8888f75a41 Polish "Add dedicated namespace for RemoteIpValve properties"
See gh-18489
5 years ago
Victor Mandujano 479cd8856b Add dedicated namespace for RemoteIpValve properties
See gh-18489
5 years ago
Stephane Nicoll cde9c2e853 Merge branch '2.2.x'
Closes gh-19161
5 years ago
Johnny Lim f234d9c0ec Remove ConditionEvaluationReportLoggingListener usage if possible
See gh-19159
5 years ago
Stephane Nicoll d2f256abe8 Polish "Add configuration for RabbitMQ requested channel max property"
See gh-19106
5 years ago
Franjo Zilic c043068578 Add configuration for RabbitMQ requested channel max property
See gh-19106
5 years ago
Stephane Nicoll a4ca1d02b3 Merge branch '2.1.x' into 2.2.x
Closes gh-19112
5 years ago
Stephane Nicoll 5d8fe860d7 Polish "Use ssl.enabled flag when RabbitMQ address has no protocol"
There is a direct link between the sslEnabled flag and the default port
that should be used by an address. The checks are currently set in two
places:

* Determine which port should be used
* Determine if SSL should be enabled

This commit polishes the initial proposal so that secureConnection is
only set if a protocol is available.

See gh-19109
5 years ago
cbono 2210236f82 Use ssl.enabled flag when RabbitMQ address has no protocol
See gh-19109
5 years ago
thelproad 65ab82b3cd Remove redundant code
See gh-19000
5 years ago
Brian Clozel 0c5bb60384 Fix responseCommitted test in webflux error handling
This commit updates the `responseCommitted` after changes were made in
`WebTestClient` with spring-projects/spring-framework#24051.

Fixes gh-19083
5 years ago
Stephane Nicoll 58bfbb92b9 Merge branch '2.1.x' into 2.2.x
Closes gh-19091
5 years ago
Adam Michalik c154a014a1 Remove invalid example of spring.mvc.async.request-timout property
See gh-19057
5 years ago
Brian Clozel 9fe721d75c Temporarily ignore failing error web handler test
See gh-19083
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
Stephane Nicoll d331f28222 Merge branch '2.1.x'
Closes gh-18885
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 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 ae5f2d7725 Do not require aspectjweaver to enable CGLib-based proxies
Previously, AopAutoConfiguration would only enable CGLib-based
proxies if aspectjweaver was on the classpath. The intention was for
CGLib-based proxies to always be used by default so this behaviour
was incorrect.

This commit updates AopAutoConfiguration to force the use of
CGLib-based proxies even in the absence of aspectjweaver.

Closes gh-18523
5 years ago
Andy Wilkinson e26d5d95a8 Do not enable @ConfigurationPropertiesScan be default
In 2.2.0, @ConfigurationPropertiesScan was enabled by default.
Unfortunately, this had the unexpected side-effect of breaking
conditional enablement of a @ConfigurationProperties class via
@EnableConfigurationProperties if the @ConfigurationProperties class
was in a package covered by scanning.

This commit remove @ConfigurationPropertiesScan from
@SpringBootApplication so that it is no longer enabled by default.
2.1.x users who rely upon such conditional enablement of
@ConfigurationProperties classes can now upgrade to 2.2.x without
having to make any changes. Users who do not have such a need and are
in a position to use configuration properties scanning can now opt-in
by adding @ConfigurationPropertiesScan to their main application class
alongside @SpringBootApplication.

Closes gh-18674
5 years ago
Johnny Lim 45d85778b8 Polish
See gh-18838
5 years ago
Brian Clozel b7f59eb7cb Add config property for webflux codec maxInMemorySize
This commit creates a new configuration property
`spring.codec.max-in-memory-size` which configures the maximum
amount of data to be buffered in memory by codecs (both client and
server).

This property has no default value - it will let Spring Framework handle
the default behavior, currently enforcing a 256KB for provided codecs.

Fixes gh-18828
5 years ago
Stephane Nicoll 7f509bf84e Make sure Web infrastructure uses qualified beans
This commit is a follow-up of a change in Spring Framework[1] to make
sure injection points that are expecting a specific bean by name use
a qualifier.

As a result of this change, MVC uses the dedicated MVC validator again
rather than the general one auto-configured by Spring Boot.

[1] https://github.com/spring-projects/spring-framework/issues/23887

Closes gh-18672
5 years ago
Stephane Nicoll 2ceffcee14 Start building against Spring Data Moore-SR1 snapshots
See gh-18744
5 years ago
Stephane Nicoll a315d4229d Start building against Spring Data Lovelace-SR12 snapshots
See gh-18743
5 years ago
dreis2211 9ece2e277f Remove redundant explicit types
See gh-18754
5 years ago
wonwoo 3369d80f3f Polish OnBeanCondition message
See gh-18727
5 years ago
Phillip Webb 597baf9774 Polish "Optimize logger calls"
See gh-18710
5 years ago
wycm 240b1f9e29 Optimize logger calls
Guard logger calls to ensure that they are only made when the
level is set.

See gh-18710
5 years ago
Johnny Lim 8c2d6b28f8 Polish
See gh-18697
5 years ago
dreis2211 8ecdf919f8 Fix Mockito deprecations
See gh-18689
5 years ago
Phillip Webb 511a2a073f Merge branch '2.1.x'
Closes gh-18695
5 years ago
Rafiullah Hamedy 81dc6e02e6 Rename `max-http-post-size` server property
Rename `max-http-post-size` to `max-http-form-post-size` for Jetty and
Tomcat to make it clearer that they only apply to POSTed form content.

See gh-18566
5 years ago
Phillip Webb 714c9b9804 Polish 5 years ago
Stephane Nicoll dccb842286 Polish "Apply dependsOn semantic between Liquibase and JPA"
See gh-18673
5 years ago
Dmytro Nosan bacd36f0cf Apply dependsOn semantic between Liquibase and JPA
This commits restores the dependency between Liquibase and the JPA
EntityManager even if a custom `SpringLiquibase` is configured.

See gh-18673
5 years ago
Stephane Nicoll 4d5d90847e Merge branch '2.1.x'
Closes gh-18682
5 years ago
wycm 681a94b0d5 Optimize debug level logs
See gh-18604
5 years ago
Stephane Nicoll c05f88bf78 Polish "Add missing package-info files"
See gh-18632
5 years ago
Leo Li af114c93ee Add missing package-info files
See gh-18632
5 years ago
Alessandro Falappa f28af3db9f Narrow type for Tomcat 'locale' and 'encoding' properties
See gh-18637
5 years ago
Brian Clozel 1529ba14c8 Rename server.jetty.idle-timeout
This commit renames the `server.jetty.idle-timeout` property to
`server.jetty.thread-idle-timeout`, since there are other timeout
properties that are not tied to the threadpool configuration (e.g. the
connection idle timeout).

We might regroup thread-related properties in a dedicated group in the
future, see gh-18620.

Fixes gh-18615
5 years ago
Andy Wilkinson fd1d653c34 Rename socket factory processor methods on NettyRSocketServerFactory
Previously, the methods were named addServerProcessors and
setServerProcessors which wasn't aligned with them taking
socket factory processors (ServerRSocketFactoryProcessor) as an
argument.

This commit renames the methods to align them more closely with the
type of their arguments.

Closes gh-18617
5 years ago
Brian Clozel 7104b8385f Merge branch '2.1.x' 5 years ago
Brian Clozel 9c5ee1126f Polish
See gh-18473
5 years ago
Brian Clozel 7113d41a80 Merge branch '2.1.x'
Closes gh-18618
5 years ago
Brian Clozel e4fa9ce8c6 Deprecate server.connection-timeout property
Prior to this commit, all supported servers would share the same
configuration property `server.connection-timeout`. Unfortunately, in
many cases the behavior of this timeout changes depending on the server.
From actual connection setup timeout, to detecting and closing idle
connections, this property cannot be properly translated from one server
implementation to another.

This commit deprecates this configuration property and introduces server
specific properties:

* `server.jetty.connection-idle-timeout`
(Time that the connection can be idle before it is closed.)
* `server.netty.connection-timeout`
(Connection timeout of the Netty channel.)
* `server.tomcat.connection-timeout`
(Amount of time the connector will wait, after accepting a connection,
for the request URI line to be presented.)
* `server.undertow.no-request-timeout`
(Amount of time a connection can sit idle without processing a request,
before it is closed by the server.)

`server.connection-timeout` is now deprecated and will be removed in a
future release.

Fixes gh-18473
5 years ago
Andy Wilkinson 4b4b39853b Merge branch '2.1.x'
Closes gh-18608
5 years ago
Andy Wilkinson 00d4b44cbb Remove trailing commas from test SQL scripts
Closes gh-18607
5 years ago
Andy Wilkinson 6e84ae6474 Make SAML 2 login configuration back off with user provider config adapter
Previously, a WebSecurityConfigurerAdapter would be configured
irrespective of whether or not the user had provided their own
WebSecurityConfigurerAdapter. This then required them to use ordering
to diambiguate the configuration and made it harder to take complete
control of security configuration.

This commit updates the configuration of the SAML 2 login configurer
adapter to be conditional on missing bean, aligning it with other
security configuration such as the equivalent OAuth 2 configurer
adapter.

Closes gh-18530
5 years ago
Andy Wilkinson 07d0794827 Consider possibility of missing @ConstructorBinding in failure analysis
Previously, when a NoSuchBeanDefinitionException was being analyzed,
the possibility of a missing @ConstructorBinding annotation on a
@ConfigurationProperties class was not considered.

This commit updates the failure analysis for failed constructor
injection of an instance of a @ConfigurationProperties-annotated
class. When such a failure occurs, adding @ConstructorBinding is
now suggested as an action.

Closes gh-18545
5 years ago
Johnny Lim 701bd0dd46 Polish
See gh-18490
5 years ago
Phillip Webb 795303d667 Replace depends-on post processor configurations
Replace `AbstractDependsOnBeanFactoryPostProcessor` `@Configuration`
classes with simple `@Import` component classes.

Closes gh-18382
5 years ago
Madhura Bhave 40ac5b4ae2 Autoconfigure RSocket Security
Closes gh-18356
5 years ago
Madhura Bhave bc96e09965 Add additional test for reactive security auto-config 5 years ago
Madhura Bhave 22ed56ac52 Add auto-config for Spring Security's SAML support
Closes gh-18260

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
5 years ago
Phillip Webb 71f8347c81 Rename ServerRSocketFactoryCustomizer
Rename `ServerRSocketFactoryCustomizer` to
`ServerRSocketFactoryProcessor` to better reflect that it is not a
traditional customizer.

Closes gh-18390
5 years ago
Andy Wilkinson 46c30d6bb0 Merge branch '2.1.x'
Closes gh-18476
5 years ago
Andy Wilkinson 3d4157ad6d Correct SCM URLs in published poms
Previously, Maven's default behaviour was relied up which resulted
in the artifact ID being appended to each URL as it was inherited.
This behaviour can only be disabled in Maven 3.6 and later, a version
that we cannot use due to an incompatibility with the Flatten Plugin.

This commit works around Maven's default behaviour by defining
properties for the SCM URL, connection, and developer connection and
then explicitly defining the settings in each pom using these
properties. The explicit definition of the properties in each pom
prevents them being inherited from the parent, thereby disabling the
unwanted appending of the artifact ID to the URL.

Fixes gh-18328
5 years ago
Vedran Pavic 4808016560 Align with Spring Session MongoDB deprecations
See gh-18470
5 years ago
dreis2211 bafc10f2c4 Fix default values in metadata for HiddenHttpMethodFilter
See gh-18435
5 years ago
Phillip Webb 1f9c9fedb4 Merge branch '2.1.x'
Closes gh-18409
5 years ago
Phillip Webb 615c6d4e86 Restructure RSocket packages and polish
Polish code and relocate `RSocketServerBootstrap` from `server` to
`context` since it's really an `ApplicationContext` concern.

Closes gh-18391
5 years ago
Phillip Webb 4b0fb8ff24 Polish 'Add @LocalRSocketServerPort support'
See gh-18287
5 years ago
Verónica Vásquez 3c8fa3bbd0 Add @LocalRSocketServerPort support
Add an appication context initializer to detect and store the
active RSocket port in the Environment under
`local.rsocket.server.port`.

Additionally add a `@LocalServerPort` that provides a convenient
alternative to `@Value`.

See gh-18287

Co-authored-by: Eddú Meléndez <eddu.melendez@gmail.com>
5 years ago
Tadaya Tsuyukubo bccdf04358 Use ordered TaskExecutorCustomizers
Use an ordered stream in `TaskExecutionAutoConfiguration` when
obtaining the TaskExecutor customizers.

See gh-18333
5 years ago
Madhura Bhave 39ed15728f Configure oauth2client in Reactive OAuth2 client auto-config
Closes gh-18385
5 years ago
Stephane Nicoll f78c9574d8 Start building against Spring Session Corn snapshots
See gh-18257
5 years ago
Phillip Webb d83238aaab Merge branch '2.1.x'
Closes gh-18369
5 years ago
Phillip Webb 050460f635 Check factory bean for EntityManager datasource
Update `DataSourceInitializedPublisher` to fallback to the
`LocalContainerEntityManagerFactoryBean` if the
`javax.persistence.nonJtaDataSource` property is not defined.

As of Hibernate 4.3 the property is no longer set if the `EntityManager`
is created from a `PersistenceUnitInfo` instance rather than actual
properties.

Although this is being addressed in Hibernate issue HHH-13432, it's
not strictly a requirement of the JPA spec that the property is set.

Fixes gh-17061
5 years ago
dreis2211 4262aab446 Fix deprecation warnings caused by BodyInserters.fromObject
See gh-18349
5 years ago
Madhura Bhave 0a70e33009 Merge branch '2.1.x'
Closes gh-18345
5 years ago
Madhura Bhave 342a0535d7 Explicitly configure SecurityWebFilterChain bean for reactive oauth2 client
This will ensure that ReactiveManagementWebSecurityAutoConfiguration backs
off and that the actuator endpoints are also secured via OAuth2.

Fixes gh-17949
5 years ago
Andy Wilkinson a354657ace Merge branch '2.1.x'
Closes gh-18343
5 years ago
Andy Wilkinson c613418451 Suppress body when handling a no content (204) "error"
Fixes gh-18136
5 years ago
Andy Wilkinson 419f92d381 Tune @ConditionalOnMissingBean for interface-based back off
Previously, a number of usages of @ConditionalOnMissingBean prevented
a bean that implements an auto-configured bean's "main" interface from
causing the auto-configuration of the bean to back off. This would
happen when @ConditionalOnMissingBean did not specify a type, the
@Bean method returned the bean's concrete type, and that concreate
type implements a "main" interface.

This commit updates such usages of @ConditionalOnMissingBean to
specify the "main" interface as the type of the bean that must be
missing. This will allow, for example, the auto-configured
MongoTemplate bean to back off when a MongoOperations bean is defined.

Fixes gh-18101
5 years ago
Phillip Webb 5076d8562a Fix Artemis EmbeddedJMS initialization
Update `ArtemisConnectionFactoryFactory` to reference the new
embedded Artemis classes.

See gh-16646
5 years ago
Andy Wilkinson 42e0dc14b5 Migrate from deprecated Artemis EmbeddedJMS
Closes gh-16646
5 years ago
Andy Wilkinson b9cfbf7c8b Merge branch '2.1.x'
Closes gh-18323
5 years ago
Andy Wilkinson 9df356ec4c Fix destination checking in Artemis auto-configuration tests
Closes gh-18319
5 years ago
Andy Wilkinson 2de7b3af4a Merge branch '2.1.x' 5 years ago
Andy Wilkinson e5f26a4f1a Rename test resource to be Windows-friendly 5 years ago
Andy Wilkinson 30c05b2b49 Support X-Forwarded-Host header when auto-configuring RemoteIpValve
Closes gh-18233
5 years ago
Andy Wilkinson 4cc7fef728 Deprecate support for Spring Cloud Connectors in favor of Java CFEnv
Closes gh-17877
5 years ago
Andy Wilkinson ea6d9f3328 Merge branch '2.1.x'
Closes gh-18298
5 years ago
aohana 51a8c73b7b Test custom comment prefix with one that does not work by default
See gh-18285
5 years ago
Andy Wilkinson 8791b696f8 Add auto-configuration support for TransactionalOperator
Closes gh-18265
5 years ago
Andy Wilkinson 3b01bc0366 Switch TransactionAutoConfigurationTests to ApplicationContextRunner 5 years ago
Brian Clozel 070eedaa19 Configure RouteMatcher at the RSocketStrategies level
After a change in Spring Framework (see
spring-projects/spring-framework#23314), the `RouteMatcher` to be used
with the RSocket infrastructure is configured on the `RSocketStrategies`
directly.

This commit moves the auto-configuration of the
`PathPatternRouteMatcher` from the message handling parts to the RSocket
strategy one.

Closes gh-17571
5 years ago
Johnny Lim b70be97cbf Polish
See gh-18281
5 years ago
Andy Wilkinson 9377b9a9e4 Support -- and # by default as Quartz datasource init comment prefixes
Closes gh-17435
5 years ago
Andy Wilkinson 1b237de5f5 Use Awaitility in our own tests
Closes gh-18227
5 years ago
Andy Wilkinson b9bb84236b Restore compatibility with Flyway 5.2
Previously, the upgrade to Flyway 6 broke compatibility with Flyway
5.2 due to the use of method references that refer to two methods
that do not exist in Flyway 5.2.

This commit replaces the method references with lambdas that are only
called if the user sets the related property. Unless a new-in-Flyway-6
property is set, the auto-configuration will work as before. When such
a property is set the auto-configuration will fail with a
NoSuchMethodError. This approach was chosen to make the
incompatibility clear.

We have also introduced support for passing any JavaMigration beans
in the context into Flyway. This too relies on API that is new in
Flyway 6. It is possible (although unlikely) that users had
JavaMigration beans in Spring Boot 2.1 that were being ignored. This
commit restores this behaviour when using Flyway 5.2.

Closes gh-18193
5 years ago
Stephane Nicoll 70f7e47002 Polish "Use Duration for ServerProperties.Jetty.idleTimeout"
See gh-18206
5 years ago
Johnny Lim 96019362f7 Use Duration for ServerProperties.Jetty.idleTimeout
See gh-18206
5 years ago
Johnny Lim 5b41c3b608 Polish
See gh-18192
5 years ago
Brian Clozel 219bafaba1 Apply RSocket server customizers to netty web server
This commit applies `ServerRSocketFactoryCustomizer` beans to RSocket
setups when the RSocket server is being plugged into an existing Reactor
Netty web server.

Fixes gh-18208
5 years ago
Andy Wilkinson 80b8f19961 Tune @ConditionalOnMissingBean for interface-based back off
Previously, a number of usages of @ConditionalOnMissingBean prevented
a bean that implements an auto-configured bean's "main" interface from
causing the auto-configuration of the bean to back off. This would
happen when @ConditionalOnMissingBean did not specify a type, the
@Bean method returned the bean's concrete type, and that concreate
type implements a "main" interface.

This commit updates such usages of @ConditionalOnMissingBean to
specify the "main" interface as the type of the bean that must be
missing. This will allow, for example, the auto-configured
MongoTemplate bean to back off when a MongoOperations bean is defined.
5 years ago
Andy Wilkinson 71d5d481ad Merge branch '2.1.x'
Closes gh-18165
5 years ago
Andy Wilkinson 19ccfaea86 Fix QuartzAutoConfiguration when Liquibase is not on the class path
Fixes gh-18153
5 years ago
Andy Wilkinson 1f875d552a Polish "Add a config property for JMS listener container's receive timeout"
See gh-17332
5 years ago
ibmmqmet 1cde657861 Add a config property for JMS listener container's receive timeout
See gh-17332
5 years ago
Andy Wilkinson 6328f2e8a8 Polish "Make logError() in AbstractErrorWebExceptionHandler overrideable"
See gh-17863
5 years ago
Peter Jurkovic 7ea612beaf Make logError() in AbstractErrorWebExceptionHandler overrideable
See gh-17863
5 years ago
Andy Wilkinson 13b45b42c7 Align with breaking API changes in latest Security snapshots
See gh-17897
5 years ago
Andy Wilkinson 29080b87ec Protect autoconfigure module against slow starting test containers 5 years ago
Phillip Webb c1a16f5f21 Merge branch '2.1.x'
Closes gh-18117
5 years ago
Phillip Webb 43108d5495 Add @SpringBootApplication.scanBasePackages note
Update the javadoc to note that `scanBasePackages` only affects the
`@ComponentScan` annotation and isn't a replacement for `@EntityScan`
or `@Enable...Repositories`.

Closes gh-18109
5 years ago
Andy Wilkinson 6daab5c8ef Merge branch '2.1.x'
Closes gh-18108
5 years ago
Johnny Lim 2eac53cc5d Fix typo in deprecation reason for liquibase.check-change-log-location
See gh-18100
5 years ago
Andy Wilkinson ee0f57bfc7 Merge branch '2.1.x'
Closes gh-18106
5 years ago
Andy Wilkinson 52311ffe3c Depend on FlywayMigrationInitializer beans by type not name
Previously, a custom FlywayMigrationInitializer bean named anything
other than flywayInitializer could result in a
NoSucBeanDefinitionException as the dependencies set up for JPA and
JDBC components used the bean name flywayInitializer.

This commit updates the configuration of the dependencies to depend
on FlywayMigrationInitializer beans by type rather than name.

Fixes gh-18105
5 years ago
Andy Wilkinson 2dea534a0e Merge branch '2.1.x'
Closes gh-18103
5 years ago
Andy Wilkinson f313bf27a1 Depend on Flyway beans by type not name
Previously, a custom Flyway bean named anything other than flyway
could result in a NoSucBeanDefinitionException as the dependencies
set up for JPA and JDBC components used the bean name flyway.

This commit updates the configuration of the dependencies to depend
on Flyway beans by name rather than type.

Fixes gh-18102
5 years ago
dreis2211 07b857e57a Use disabledWithoutDocker option for @Testcontainers
See gh-18095
5 years ago
dreis2211 b4350a9d96 Remove unnecessary blank lines
See gh-18089
5 years ago
Andy Wilkinson 20b6656ba7 Protect autoconfigure module against slow starting test containers 5 years ago
Andy Wilkinson 3a417eec52 Merge branch '2.1.x' 5 years ago
Andy Wilkinson 4fd7b68f71 Polish 5 years ago
Phillip Webb a86258e62c Revert "Reduce bean method visibility"
Reverts commit 2be3027dcf
on 2.1.x
5 years ago
Phillip Webb b3835a8149 Merge branch '2.1.x' 5 years ago
Phillip Webb 2be3027dcf Reduce bean method visibility
See gh-17539
5 years ago
Phillip Webb 3746631081 Merge branch '2.1.x'
Closes gh-18085
5 years ago
Phillip Webb 75a1a24914 Polish "Ensure Flyway/Liquibase runs before Quartz"
See gh-17539
5 years ago
Dmytro Nosan 7e5bd1f281 Ensure Flyway/Liquibase runs before Quartz
Add post processors to ensure that SchedulerFactoryBean and Scheduler
beans depend on the Flyway and Liquibase beans.

See gh-17539
5 years ago
dreis2211 3e35a6616c Fix duplicated words
See gh-18004
5 years ago
Phillip Webb 1283bc05d7 Merge branch '2.1.x'
Closes gh-18021
5 years ago
Phillip Webb 5938ca78b6 Fix request matcher management context support
Fix caching issues in `ApplicationContextRequestMatcher` and allow
subclasses to ignore an application context entirely. Update existing
matcher implementations so that they deal with the management context
correctly.

Prior to this commit, the `ApplicationContextRequestMatcher` would
return a context cached from the first request. It also didn't
provide any way to ignore a context. This meant that if the user was
running the management server on a different port the matching results
could be inconsistent depending on if the first request arrived on
the regular context or the management context. It also meant that we
could not distinguish between the regular context and the management
context when matching.

Closes gh-18012
5 years ago
davinkevin 84c81462b4 Upgrade to jOOQ 3.12.0
See gh-18014
5 years ago
Andy Wilkinson e2edb6a539 Polish "Auto-configure Flyway with JavaMigration beans"
See gh-17993
5 years ago
Semyon Danilov ff68295928 Auto-configure Flyway with JavaMigration beans
See gh-17993
5 years ago
Andy Wilkinson 0e2a131e5d Polish "Upgrade to Flyway 6.0.1"
See gh-17997
5 years ago
Semyon Danilov 278b20d9c9 Upgrade to Flyway 6.0.1
See gh-17997
5 years ago
Stephane Nicoll 96596f8ecc Polish contribution
See gh-17962
5 years ago
Kant 7ee3656188 Polish
See gh-17962
5 years ago
Madhura Bhave 2726540e76 Merge branch '2.1.x'
Closes gh-17980
5 years ago
Madhura Bhave 674f2f5a6c EndpointRequest should match @ServletEndpoint
This commit also changes the request matcher for MVC
endpoints to use an AntPathRequestMatcher instead of an
MvcRequestMatcher. The endpoint is always available
under the mapped endpoint path and this way the same matcher
can be used for both MVC and Jersey.

Fixes gh-17912

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
5 years ago
dreis2211 ec57f0c31f Fix upstream RSocket method renames
See gh-17973
5 years ago
Madhura Bhave 46ea4a2501 isPublisherConfirms in RabbitProperties should not throw NPE
Fixes gh-17967
5 years ago
Stephane Nicoll 7d994e607d Restructure tests to exercise deprecated property in a dedicated test
See gh-17848
5 years ago
Madhura Bhave 21783faede Merge branch '2.1.x'
Closes gh-17953
5 years ago
Madhura Bhave 28d374d84d Polish "Configure Issuer Validator for Resource Server"
See gh-17952
5 years ago
HaiTao Zhang b3d189cf87 Configure Issuer Validator for Resource Server
See gh-17952
5 years ago
Madhura Bhave 8954fe13e5 Polish "Support additional publisher confirm types"
See gh-17848
5 years ago
HaiTao Zhang 8c1c8a27d9 Support additional publisher confirm types
See gh-17848
5 years ago
LiangYong 12bfca56d6 Remove unnecessary null check
See gh-17916
5 years ago
Andy Wilkinson c48228f645 Merge branch '2.1.x'
Closes gh-17942
5 years ago
Andy Wilkinson ac0a22d603 Tolerate LCEMFB with null JpaVendorAdapter in JPA auto-config
Closes gh-17935
5 years ago
Andy Wilkinson 05e089601e Remove default favicon and support for serving from classpath root
Closes gh-17925
5 years ago
dreis2211 6ef6875a60 Correct WebFlux response body method
See gh-17919
5 years ago
Andy Wilkinson 9ac6485768 Prioritise static resource locations over classpath for favicon.ico
Closes gh-17922
5 years ago
Brian Clozel e7c3ab3e27 Rename WebFlux response body methods
This commit adapts to recent changes in Spring Framework.
See spring-projects/spring-framework#23212
5 years ago
Andy Wilkinson 7f8944d00f Polish 5 years ago
Andy Wilkinson cc3df98135 Merge branch '2.1.x' 5 years ago
Andy Wilkinson ab87b2a39b Polish 5 years ago
LiangYong a5746d0a03 Simplify some code
See gh-17893
5 years ago
dreis2211 d4affd7f85 Use hasSize() assertion in favor of length checks
See gh-17874
5 years ago
Stephane Nicoll 04b63cda8f Merge branch '2.1.x'
Closes gh-17889
5 years ago
Filip Hrisafov 1ebbe9fc55 Map non-null LDAP properties
The userDn and password in LdapContextSource are not nullable. The
default values for userDn and password in LdapProperties are null. When
the values are set to null there will eventually be a
NullPointerException during
AbstractContextSource#setupAuthenticatedEnvironment since HashTable
doesn't allow null for values.

See gh-17861
5 years ago
Madhura Bhave 76dfe1aae4 Merge branch '2.1.x'
Closes gh-17887
5 years ago
Madhura Bhave 0187e5106d Polish "Set up SpringLiquibase beans' dependencies by type rather than name"
See gh-17805
5 years ago
Andrii Hrytsiuk b69f9e9fdf Add missing javadoc
See gh-17805
5 years ago
Andrii Hrytsiuk eaad22dd89 Set up SpringLiquibase beans' dependencies by type rather than name
See gh-17805
5 years ago
Madhura Bhave 64e8b1d47c Polish "Add properties for Jetty threadpool"
See gh-17871
5 years ago
HaiTao Zhang 1024d74742 Add properties for Jetty threadpool
See gh-17871
5 years ago
Madhura Bhave eea83e935e Resolve httpstatus error series using raw int code
See gh-16691
5 years ago
Madhura Bhave 4b4dc28a86 Support non-standard error codes with AbstractErrorWebExceptionHandler
Fixes gh-16691
5 years ago
Madhura Bhave 178746d678 Update Opaque Token Client Name following upstream changes
Closes gh-17846
5 years ago
Brian Clozel 16f798dc11 Apply RSocket transport configuration on server
Fixes gh-17845
5 years ago
dreis2211 b605cddb10 Polish some Collections API calls
See gh-17825
5 years ago
Stephane Nicoll b8a1043e98 Merge branch '2.1.x'
Closes gh-17813
5 years ago
Stephane Nicoll 1b3a6d1616 Polish "Configure a temporary directory with Undertow"
See gh-17778
5 years ago
Vedran Pavic 85a289f71a Harmonize Spring Session flush mode properties javadoc
See gh-17797
5 years ago
Vedran Pavic 84dd1f2d29 Add support for configuring Spring Session JDBC flush mode
See gh-17797
5 years ago
Madhura Bhave c5d1781ae1 Merge branch '2.1.x'
Closes gh-17793
5 years ago
陈其苗 77931a0981 Fix typo in assertion
See gh-17774
5 years ago
Stephane Nicoll 7874de4062 Restore tests that were failing with Java 13
Closes gh-17607
5 years ago
Madhura Bhave ea244aa32b Merge branch '2.1.x'
Closes gh-17769
5 years ago
Madhura Bhave faaada1416 Remove liquibase check change log location
Missing change logs would lead to an exception even
if the checkChangeLogLocation was set to false. Spring Boot's check
would pass but Liquibase would fail later making this property redundant.

Fixes gh-16232
5 years ago
Stephane Nicoll f021c227e1 Polish 5 years ago
Stephane Nicoll 45915d085e Merge branch '2.1.x'
Closes gh-17767
5 years ago
Stephane Nicoll eb26492eef Polish 5 years ago
Michael Simons 274098f2e2 Refine back-off strategy of Neo4j SessionFactory
This commit separates the auto-configuration of the `SessionFactory` in
an isolated class so that the rest of the auto-configuration is still
applied if the user provides a custom `SessionFactory` bean.

See gh-17662
5 years ago
Madhura Bhave e06b06d817 Polish "Support RFC 8414 in JwtDecoders and ClientRegistrations"
See gh-17761
5 years ago
HaiTao Zhang 8baec96453 Support RFC 8414 in JwtDecoders and ClientRegistrations
See gh-17761
5 years ago
Madhura Bhave f7f858bce8 Merge branch '2.1.x'
Closes gh-17759
5 years ago
Madhura Bhave 5f3364326b Configure interceptors for WelcomePageHandlerMapping
Fixes gh-16309
5 years ago
Stephane Nicoll bee373d6cf Start building against Spring HATEOAS 1.0 snapshots
See gh-17755
5 years ago
Stephane Nicoll da0ab06d1a Merge branch '2.1.x'
Closes gh-17754
5 years ago
Stephane Nicoll f2fd169c3a Rename restClient to elasticsearchRestClient
For consistency, similar beans have been renamed as well.

Closes gh-17751
5 years ago
Stephane Nicoll 1ec8e822a1 Fix broken build 5 years ago
Stephane Nicoll 48e07c8fda Merge branch '2.1.x'
Closes gh-17753
5 years ago
Stephane Nicoll fb0fccf3c7 Polish "Create RestClient from a RestHighLevelClient if available"
This significantly rework the auto-configuration to reflect the order
in which things are expected. Rather than keeping a conceptual cycle
between the builder and the two inner classes that are processed first,
the configuration is now split in three parts:

* The builder that is required and common
* The configuration when the HighLevelClient is available
* The RestClient configuration when that's not the case

See gh-17488
5 years ago
Dmytro Nosan 0e87b9c163 Create RestClient from a RestHighLevelClient if available
See gh-17488
5 years ago
Phillip Webb 34c31ce099 Remove BeanTypeRegistry
Remove `BeanTypeRegistry` and rely entirely on standard calls Spring
Framework APIs.

Closes gh-17594
5 years ago
Phillip Webb da4f436140 Change SearchStrategy EXHAUSTIVE to TYPE_HIERARCHY
Fixup references following upstream Spring Framework change.
5 years ago
Johnny Lim 2c2ee92a39 Remove ConditionEvaluationReportLoggingListener in a test
See gh-17742
5 years ago
Stephane Nicoll c08fe65429 Merge branch '2.1.x'
See gh-17744
5 years ago
Stephane Nicoll dc4e67f5dd Remove useless classpath override 5 years ago
Stephane Nicoll 44a0afcec3 Polish "Allow for custom EntityMapper bean"
See gh-17661
5 years ago
P.J. Meisch a1cf665f98 Allow for custom EntityMapper bean
See gh-17661
5 years ago
Stephane Nicoll e52d398771 Adapt to recent changes in Spring Security snapshots 5 years ago
dreis2211 8d2f2b75bd Upgrade to AssertJ 3.13.1
See gh-17690
5 years ago
Madhura Bhave b6754f6f20 Fix test 5 years ago
Madhura Bhave 805264a13c Merge pull request #17646 from htztomic
* pr/17646:
  Polish "Default password shouldn't be generated for resource server"
  Default password should not be generated when using resource server

Closes gh-17646
5 years ago
Madhura Bhave e184298c50 Polish "Default password shouldn't be generated for resource server"
See gh-17646
5 years ago
HaiTao Zhang 1b0cf7bd22 Default password should not be generated when using resource server
See gh-17646
5 years ago
Phillip Webb 6675f49334 Switch to multi-line security configuration
Now that we have lambda style security configuration we can further
improve readability by switching to one statement per line.

See gh-17525
5 years ago
Stephane Nicoll 858199a2fa Only configure Spring Data jdbc if a transaction manager is present
This commit adds an extra condition to JdbcRepositoriesAutoConfiguration
so that it doesn't scan for repositories if a transaction manager is not
available as this dependency is now mandatory.

Closes gh-17654
5 years ago
Stephane Nicoll 97907aac30 Polish 5 years ago
Johnny Lim a80749ed81 Add missing assertion in dispatcherServletCustomConfig()
See gh-17648
5 years ago
Madhura Bhave 3423dbf6ac Add transaction manager in Spring Data jdbc tests
See gh-17654
5 years ago
Madhura Bhave 39a7b9da38 Switch to lambda style security configuration
Closes gh-17525
5 years ago
Stephane Nicoll b79de1e7e3 Fix broken build 5 years ago
Brian Clozel 5beb7edfbb Reinstate RSocket codecs configuration ordering
Since spring-projects/spring-framework#23314 and the following commit
spring-projects/spring-framework@be4facef1b, the RSocket codec selection
is relaxed and the order of configured commits matters again.

This commit ensures that the CBOR codec is configured ahead of the JSON
codec so that it can be chosen first if no data mime type is specified
when a connection is established with a client requester.
5 years ago
Brian Clozel 1996952e68 Update RSocket configuration after Framework changes
Since spring-projects/spring-framework#23314, the `RSocketStrategies`
provide more codecs by default, and there is no need to order them to
avoid conflicts during mime type selection.

This commit also ensures that the `PayloadDecoder.ZERO_COPY` is
configured on the RSocket server if the configured `DataBufferFactory`
is compatible with that strategy.
5 years ago
Dmytro Nosan efce9388e7 Trim OAuth2 provider property whitespace
Update `OAuth2ClientPropertiesRegistrationAdapter` to trim whitespace
of the "provider" property.

See gh-17497
5 years ago
Phillip Webb 8bc780762a Merge branch '2.1.x' 5 years ago
Phillip Webb fb1dd8fe93 Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb 913e831f4e Merge '1.5.x' into 2.0.x 5 years ago
dreis2211 c8097692ea Align JavaVersion.NINE name with JDK versioning
See gh-17611
5 years ago
Johnny Lim 43345b36e6 Polish
See gh-17616
5 years ago
Stephane Nicoll 690019ba8f Polish "Disable tests that are failing on Java 13"
See gh-17607
5 years ago
Stephane Nicoll 5f3fff6470 Disable tests that are failing on Java 13
Hazelcast YAML support does not work with Java 13 so this commit
disables relevant tests when Java 13 is detected

See https://github.com/hazelcast/hazelcast/issues/15348

See gh-17607
5 years ago
Brian Clozel 53afbbe233 Update RouteMatcher configuration for RSocket
This commit updates the `RouteMatcher` configuration after the latest
Spring Framework changes. The default route matcher implementation based
on the `PathPattern` infrastructure is now tailored for the messaging
use case (path separator, path encoding options and trailing separator).

See spring-projects/spring-framework#23310
5 years ago
Stephane Nicoll 3c7ac4fe7f Polish 5 years ago
Stephane Nicoll 55079c3a80 Merge branch '2.1.x'
Closes gh-17602
5 years ago
Stephane Nicoll 1661da8774 Polish "Configure ActiveMQConnectionFactory properly without spring-jms"
See gh-17531
5 years ago
Dmytro Nosan 77b52b993b Configure ActiveMQConnectionFactory properly without spring-jms
See gh-17531
5 years ago
adavid9 6211a682d6 Replace deprecated media type
See gh-17596
5 years ago
Phillip Webb ff9f5fd1c7 Polish OnBeanCondition
Polish `OnBeanCondition` and make it easier to remove `BeanTypeRegistry`
in the future.

See gh-17594
5 years ago
Andy Wilkinson ea1dc85d50 Isolate Jackson2ObjectMapperBuilder mutation
Previously, Jackson2ObjectMapperBuilder was a singleton bean. This
meant that if it was injected and mutated in one injection point,
usage in a subsequent injection point would see the previous
injection point's mutation which can lead to unexpected failures.

This commit updates the auto-configuration of the builder to make it
a protoype bean. Mutation of the builder that is intended to apply
globally should be made using a customizer.

Closes gh-17477
5 years ago
Andy Wilkinson c7d2799f4e Add configuration property for DispatcherServlet event publishing
Closes gh-17500
5 years ago
Stephane Nicoll 3dd5426ea5 Polish "Adjust to changes in Spring AMQP 2.2 snapshots"
See gh-17587
5 years ago
dreis2211 e71a417399 Adjust to changes in Spring AMQP 2.2 snapshots
See gh-17587
5 years ago
Stephane Nicoll dd2f20fcd2 Polish "Add support for configuring Tomcat's relaxed path and query chars"
See gh-17510
5 years ago
dirkdeyne 1fee797af7 Add support for configuring Tomcat's relaxed path and query chars
See gh-17510
5 years ago
dreis2211 2038fac825 Remove testsupport.assertj package
See gh-17557
5 years ago
Andy Wilkinson 3bf5cf1124 Merge branch '2.1.x'
Closes gh-17562
5 years ago
Andy Wilkinson b725c60177 Deprecate DeploymentInfo customization with reactive Undertow
Fixes gh-17555
5 years ago
Phillip Webb a9ba7080ce Merge branch '2.1.x' 5 years ago
Phillip Webb d567261790 Polish 5 years ago
Andy Wilkinson dad7fb4f6d Add NettyServerCustomizer beans to the auto-configured factory
Closes gh-17556
5 years ago
Andy Wilkinson ea1139755d Ensure that customizers registered multiple times are only called once
Closes gh-17264
5 years ago
Andy Wilkinson 73f7a9318f Merge branch '2.1.x'
Closes gh-17546
5 years ago
Andy Wilkinson e84477cfe2 Only perform Quartz DataSource init when using JDBC store
Fixes gh-17545
5 years ago
Stephane Nicoll 1f7615a964 Polish "Add support for configuring Spring Session SaveMode"
See gh-17514
5 years ago
Vedran Pavic e073792448 Add support for configuring Spring Session SaveMode
See gh-17514
5 years ago
Andy Wilkinson 8aed06452d Allow custom resource handlers to provide favicon.ico
Closes gh-17381
5 years ago
Phillip Webb eff1147ccc Rename classpath runner package
Remove `runner` since we're no longer tied to JUnit 4.

See gh-17491
5 years ago
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
5 years ago
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
5 years ago
dreis2211 b0bf2dd7ab Migrate to ApplicationContextRunner
Migrate a new tests to use the `ApplicationContextRunner`.

See gh-17491
5 years ago
Phillip Webb 0cb6a7f47d Polish 5 years ago
Phillip Webb 01933f9b06 Merge previously split strings
Merge some string lines that were previously split because of the
90 chars wide formatting.
5 years ago
Phillip Webb c3816bfe7b Polish output capture names 5 years ago
Phillip Webb b7e092e821 Fix upstream RSocket method renames
Align with the recent upstream Spring Framework changes triggered by
their issue #23170.
5 years ago
Andy Wilkinson dc0432665b Use ephemeral ports rather than 8080 in our tests
Closes gh-17025
5 years ago
Andy Wilkinson 1fffe0ab3e Merge branch '2.1.x'
Closes gh-17482
5 years ago
Dmytro Nosan 93d0427fb5 Polish AbstractDependsOnBeanFactoryPostProcessor
See gh-17480
5 years ago
Andy Wilkinson 47f4bb0d64 Merge branch '2.1.x'
Closes gh-17481
5 years ago
Andy Wilkinson f753c31988 Polish "Set up MongoClient beans' dependencies by type rather than name"
See gh-16627
5 years ago
ielatif 39f1039425 Set up MongoClient beans' dependencies by type rather than name
See gh-16627
5 years ago
Andy Wilkinson 6adcd75481 Merge branch '2.1.x'
Closes gh-17479
5 years ago
Andy Wilkinson 80650f485d Polish "Allow depended on beans to be identified by type"
See gh-17020
5 years ago
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
5 years ago
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
5 years ago
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
5 years ago
Dmytro Nosan fd9e8503bb Polish BatchAutoConfiguration
See gh-17462
5 years ago
Andy Wilkinson edff0f87e2 Merge branch '2.1.x'
Closes gh-17466
5 years ago
Andy Wilkinson acd9b61c8e Make Batch JPA auto-configuration back off without a DataSource
Fixes gh-17465
5 years ago
Andy Wilkinson a40bc64f6e Merge branch '2.1.x'
Closes gh-17463
5 years ago
Andy Wilkinson c5241f0e82 Remove accidental usage of com.hazelcast.util.Base64
Closes gh-17461
5 years ago
Andy Wilkinson d93c79316d Align with body method changes in RequestBodySpec
Closes gh-17460
5 years ago
Andy Wilkinson 3e6c15c451 Deprecate auto-configuration for Joda-Time
Closes gh-17419
5 years ago
Johnny Lim 426ef749db Polish
See gh-17413
5 years ago
Madhura Bhave 939a247d87 Merge pull request #17448 from izeye
* pr/17448:
  Fix typo

Closes gh-17448
5 years ago
Johnny Lim e42f4d0279 Fix typo
See gh-17448
5 years ago
Andy Wilkinson b0626bca32 Merge branch '2.1.x'
Closes gh-17454
5 years ago
Andy Wilkinson 02bea78229 Retain as much Batch auto-config as possible without Spring JDBC
Closes gh-17451
5 years ago
Andy Wilkinson 5b7c0e0c58 Merge branch '2.1.x'
Closes gh-17453
5 years ago
Andy Wilkinson a023f308ed Make JDBC-based batch configurer back off without a DataSource
Closes gh-17449
5 years ago
Andy Wilkinson 072453bf58 Polish "Add support for configuring a Batch-specific DataSource"
See gh-17375
5 years ago
Dmytro Nosan f449665e2a Add support for configuring a Batch-specific DataSource
See gh-17375
5 years ago
Andy Wilkinson 3ba25b9ee9 Simplify class loading check in pooled DataSource condition
Closes gh-17284
5 years ago
Andy Wilkinson b39479bc07 Polish "Add config property for Kafka consumer isolation level"
See gh-17389
5 years ago
Ryan Dunckel 1b8f955fec Add config property for Kafka consumer isolation level
See gh-17389
5 years ago
Andy Wilkinson 2816635418 Polish 5 years ago
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
5 years ago
Andy Wilkinson 2af815f2cf Merge branch '2.1.x'
Closes gh-17432
5 years ago
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
5 years ago
dreis2211 7c6fd31d06 Use Spring 5 module of Jersey
See gh-17412
5 years ago
Madhura Bhave 3bd7760f9c Polish "Allow Undertow's options to be configured via the environment
See gh-17356
5 years ago
HaiTao Zhang 417f4dd7fa Allow Undertow's options to be configured via the environment
See gh-17356
5 years ago
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
5 years ago
Andy Wilkinson 4ab4198168 Switch to Infinispan's Spring 5 integration
Closes gh-17333
5 years ago
Vedran Pavic 8ed71b3c51 Start building against Spring Session Corn-M3 snapshots
See gh-17278
5 years ago
Dmytro Nosan 1d9aae8282 Introduce RedisCacheManagerBuilderCustomizer
See gh-17287
5 years ago
Andy Wilkinson 4c812b065d Merge pull request #17322 from garyrussell
* gh-17322:
  Auto-configure KLC with user-provided RecordInterceptor

Closes gh-17322
5 years ago
Gary Russell eeda12bd58 Auto-configure KLC with user-provided RecordInterceptor
spring-kafka.2.3.0.M3 introduced a new property `RecordInterceptor` to
the container factory.

Auto-configure the property if a single instance is present.

See gh-17322
5 years ago
Andy Wilkinson 9f521430fa Polish "Use @EmbeddedKafka for Integration Tests"
See gh-17355
5 years ago
Gary Russell 815834ab6e Use @EmbeddedKafka for Integration Tests
`@EmbeddedKafka` now supports JUnit 5 without the need for a Spring
test application context. Remove the previous workaround that replaced
the JUnit4 `@ClassRule` and use `TopicBuilder` to build the
topic bean.

See gh-17355
5 years ago
Andy Wilkinson 6212901bc1 Polish "Add 'client-name' property to specify a Redis client name"
See gh-17330
5 years ago
Dmytro Nosan f877caf118 Add 'client-name' property to specify a Redis client name
See gh-17330
5 years ago
Andy Wilkinson 8f668610f7 Align RSocket auto-configuration latest Framework changes
Closes gh-17366
5 years ago
Phillip Webb 605599138e Merge branch '2.1.x' 5 years ago
Phillip Webb 92bff3c328 Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb cfeb0239b7 Merge branch '1.5.x' into 2.0.x 5 years ago
Phillip Webb c62b6b4ccd Merge branch '2.1.x' 5 years ago
Phillip Webb de35efd1ef Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb bb34846630 Merge branch '1.5.x' into 2.0.x 5 years ago
rossdrew d6977ea89f Remove hyphenation of opaquetoken in OAuth2 property names
See gh-17290
5 years ago
Andy Wilkinson 66f1344f7c Merge branch '2.1.x'
Closes gh-17335
Closes gh-17292
5 years ago
Phillip Webb 0b720b99b2 Merge branch '2.1.x'
Closes gh-17308
5 years ago
Phillip Webb 02e705c8e4 Relax nohttp requirement for service.wsdl
Unfortunately https references cause eclipse errors so we need to
relax the requirement for this file.

Fixes gh-17307
5 years ago
Brian Clozel 9166b6d329 Polish "Make rSocketServerBootstrap @ConditionalOnMissingBean"
See gh-17301
5 years ago
Spencer Gibb 2cb6af959b
Make rSocketServerBootstrap @ConditionalOnMissingBean
7857dd2d72 broke gateway's ability to override the `SocketAcceptor`.
5 years ago
Andy Wilkinson 7405efa326 Ensure that each Tomcat customizer is only called once
Fixes gh-17264
5 years ago
Stephane Nicoll e560b7f6ba Remove public modifier on JUnit5 lifecycle methods
See gh-17292
5 years ago
Stephane Nicoll 374e02cac8 Simplify HibernateJpaAutoConfiguration classes check
This commit removes the now outdated `HibernateEntityManagerCondition`
in favour of a simple check of `SessionImplementor`. As of
Hibernate 5.2, a single `hibernate-core` jar is required so a single
class check is enough.

Closes gh-17288
5 years ago
Stephane Nicoll 8a7609f940 Simplify HibernateJpaAutoConfiguration classes check
This commit removes the now outdated `HibernateEntityManagerCondition`
in favour of a simple check of `SessionImplementor`. As of
Hibernate 5.2, a single `hibernate-core` jar is required so a single
class check is enough.

Closes gh-17283
5 years ago
Brian Clozel 7857dd2d72 Update after RSocket changes in Spring Framework
Spring Framework recently removed the `MessageHandlerAcceptor` (which is
a sub-class of `RSocketMessageHandler`).
Instead of implementing directly the `SocketAcceptor` contract, it now
exposes them through `clientAcceptor()` and `serverAcceptor()` methods.

See gh-17280
5 years ago
Phillip Webb 69fbd8f20c Merge branch '2.1.x'
Closes gh-17227
Closes gh-17228
6 years ago
Phillip Webb 692bda1595 Polish "Fix connection timeout configuration for Netty"
See gh-16535
6 years ago
ayudovin b0e4c716d3 Fix connection timeout configuration for Netty
Update `NettyWebServerFactoryCustomizer` to deal with the fact that
Netty treats `0` and negative connection timeout values differently to
Tomcat, Undertow and Jetty.

See gh-16535
6 years ago
Andy Wilkinson 9d355f00e1 Merge branch '2.1.x'
Closes gh-17218
6 years ago
Andy Wilkinson 5dc2339ec2 Polish "Consider properties from @AutoConfigureTestDatabase"
See gh-16814
6 years ago
András Deák 92256c80d0 Consider properties from @AutoConfigureTestDatabase
Both Flyway and Liquibase makes use of DataSourceProperties to get
default properties. Previously, both used strictly the configuration
properties and failed to consider embedded datasource properties
autoconfigured by @AutoConfigureTestDatabase. In case a database layer
test e.g. @JdbcTest relies on the autoconfigured embedded datasource,
Flyway and Liquibase autoconfiguration fails as they are not aware of
the embedded datasource properties.

See gh-16814
6 years ago
Madhura Bhave c6dae5764e Add bindOrCreate for constructor based binding
Deprecate the existing `BindResult.orElseCreate` method in favor of
`bindOrCreate` methods on the `Binder`. These new methods allow us to
implement custom creation logic depending on the type of object being
bound. Specifically, it allows constructor based binding to create new
instances that respect the `@DefaultValue` annotations.

Closes gh-17098

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
6 years ago
Andy Wilkinson 48adfe626c Log H2 console path and JDBC URL on startup
Closes gh-17063
6 years ago
Madhura Bhave 0d2e44151b Fix tests following Spring Security changes 6 years ago
Phillip Webb 9db20313a1 Polish "Add Printer and Parser beans to conversion service"
Extract common registration code and make use of the Spring Framework
registration methods.

See gh-17064
6 years ago
Dmytro Nosan 955eaa87ae Add Printer and Parser beans to conversion service
Update `WebMvcAutoConfiguration` and `WebFluxAutoConfiguration` so that
`Printer<T>` and `Parser<T>` beans are automatically registered with
the conversion service.

Prior to this commit only `GenericConverter`, `Converter` and
`Formatter` beans were automatically registered.

See gh-17064
6 years ago
Stephane Nicoll 54c72cf39f Polish 6 years ago
Stephane Nicoll 985c8f7598 Polish RSocket support 6 years ago
Andy Wilkinson 704b5fb2ee Enable encoding of message/x.rsocket.routing.v0 requests
Closes gh-17135
6 years ago
Phillip Webb e0aa90cf32 Fix incomplete polish of RedisSessionProperties
Fix polish commit from 919913ae66 to correctly name the property
getter/setters.

See gh-17022
6 years ago
Phillip Webb 919913ae66 Polish "Add session property for ConfigureRedisAction"
See gh-17022
6 years ago
Dmytro Nosan a0fabc9851 Add session property for ConfigureRedisAction
Add a new property to `RedisSessionProperties` that allows the default
`ConfigureRedisAction` to be changed. Users can still also configure
the action using a `@Bean`.

See gh-17022
6 years ago
Phillip Webb aad21d1996 Polish "Support default headers with RestTemplateBuilder"
Broaden the scope of customizer support so that instead of focusing
just on headers, we can now customize any outgoing `HttpClientRequest`.
Also update auto-configuration to automatically add any
`RestTemplateRequestCustomizer` beans to the builder.

See gh-17091
6 years ago
Andy Wilkinson 9b5cb4f9b8 Remove need for public constructor on inner-class
Closes gh-17086
6 years ago
Brian Clozel 7a9d1a1e34 Change default Freemarker template file extension
This commit changes the default file extension for Freemarker templates
from `*.ftl` to `*.ftlh`. This commit also enables by default the
Freemarker setting `"recognize_standard_file_extensions"` to ensure that
HTML escaping is performed by default in Spring Boot applications.

Applications should adapt to this change by changing the file extensions
of existing templates to `.ftlh`.

Closes gh-15131
6 years ago
Phillip Webb b3d5cd538d Add JUnit 5 checkstyle rules
Add a rule to enforce JUnit 5 usage and conventions.

Closes gh-17093
6 years ago
Madhura Bhave 2560b54f7c Add configuration support for Opaque Token authentication
Closes gh-15872
6 years ago
Andy Wilkinson 75e45fd239 Switch to @DisableWithoutTestcontainers
Closes gh-17092
6 years ago
Phillip Webb 266d6334b2 Fix checkstyle RedundantModifier test violations 6 years ago
Phillip Webb cde4f0d688 Fix checkstyle violations 6 years ago
Andy Wilkinson b18fffaf14 Move tests to JUnit 5 wherever possible 6 years ago
Andy Wilkinson aef92b9295 Merge branch '2.1.x'
Closes gh-17079
6 years ago
Andy Wilkinson 24925c3dae Merge branch '2.0.x' into 2.1.x
Closes gh-17078
6 years ago
Andy Wilkinson c6c139d980 Merge branch '1.5.x' into 2.0.x 6 years ago
Brian Clozel 5b2de5c81d Configure PathPattern for RSocket routing
This commit configures a `PathPatternRouteMatcher` in the RSocket
support if spring-web is on the classpath. This `RouteMatcher`
implementation is more efficient than the `SimpleRouteMatcher`, which is
based on the `AntPathMatcher`.

Closes gh-16865
6 years ago
Brian Clozel 16c521a9e6 Auto-configure reactive Elasticsearch components
As of Spring Data Moore, a new reactive template and the
corresponding repositories support have been added.

This commit auto-configures a `ReactiveElasticsearchTemplate`
with the configuration properties under the
`spring.data.elasticsearch.client.reactive` namespace.
To enable this feature, applications require both Spring Data
Elasticsearch dependencies (typically
`spring-boot-starter-data-elasticsearch`) and dependencies
for a `WebClient` (often `spring-boot-starter-webflux`).

The support for the reactive Elasticsearch repositories is
also provided.

Closes gh-16214
6 years ago
Phillip Webb db75347eb6 Merge branch '2.1.x' 6 years ago
Phillip Webb 0ef331018e Merge branch '2.0.x' into 2.1.x 6 years ago
Phillip Webb 7fc01971ed Merge branch '1.5.x' into 2.0.x 6 years ago
Phillip Webb d306b31ce9 Merge branch '2.1.x' 6 years ago
Phillip Webb ccfbd03482 Merge branch '2.0.x' into 2.1.x 6 years ago
Phillip Webb b442d3b906 Merge branch '1.5.x' into 2.0.x 6 years ago
Phillip Webb 5fba43aa31 Merge branch '1.5.x' into 2.0.x 6 years ago
Brian Clozel c74badd4f2 Auto-configure Elasticsearch REST client in Spring Data
This commit auto-configures the Elasticsearch REST client support
as a template for Spring Data Elasticsearch. As of this commit,
using the transport client is still possible but developers
should migrate.

This commit also removes the deprecated annotation on the
Elasticsearch auto-configuration for the transport client, since
this deprecation notice is already present on the configuration
property.

Closes gh-17024
Closes gh-16542
6 years ago
Stephane Nicoll ae5b5be597 Reset flag after each test as well to avoid side effects 6 years ago
Stephane Nicoll f30e29a4ad Rename spring.reactor.stacktrace-mode.enabled property
Closes gh-16537
6 years ago
Gary Russell 23cff6fb09 KafkaAutoConfigurationIntegrationTests to JUnit5
See gh-17034
6 years ago
Issam El-atif 4ac1407af1 Use new JettyClientHttpConnector constructor
Simplify `ClientHttpConnectorConfiguration`by using the recently
introduced `JettyClientHttpConnector` constructor.

See gh-17015
6 years ago
Andy Wilkinson 0644a79401 Repackage output capture and always use extension declaratively
Closes gh-17029
6 years ago
Phillip Webb d11d5ceb29 Split up JUnit 5 OutputCapture class
Split the JUnit 5 `OutputCapture` class into separate `OutputExtension`
and `CapturedOutput` classes. The JUnit 5 callback methods are now
contained only in the `OutputExtension` class so no longer pollute the
public API that users will interact with.

The `CapturedOutput` class has also been updated to capture System.err
and System.out separately to allow distinct assertions if required.

Closes gh-17029
6 years ago
Phillip Webb ad5e905bd7 Update copyright header of changed files 6 years ago
Phillip Webb 68aec8b6ee Polish 6 years ago
Dmytro Nosan 54061bd59f Polish CassandraDataAutoConfiguration
See gh-17004
6 years ago
dreis2211 38c21f58b8 Add missing @Test annotation
See gh-17012
6 years ago
Phillip Webb c84c9409bd Polish 6 years ago
Andy Wilkinson 880721557b Polish "Auto-configure Flyway and Liquibase when there's a URL but no DataSource"
See gh-16850
6 years ago
ilya.lukyanovich@dataart.com 3ca73bf00d Auto-configure Flyway and Liquibase when there's a URL but no DataSource
See gh-16850
6 years ago
Andy Wilkinson 69a298231c Polish "Configure FluentConfiguration to use ResourceLoader's ClassLoader"
See gh-16947
6 years ago
Alan Gomes cc5bd51343 Configure FluentConfiguration to use ResourceLoader's ClassLoader
See gh-16947
6 years ago
Johnny Lim 0741e6470f Use MediaType.APPLICATION_CBOR constant
See https://github.com/spring-projects/spring-framework/pull/23042

Closes gh-16986
6 years ago
Andy Wilkinson 86380ab8db Add missing package-info.java files 6 years ago
Phillip Webb eb38c3abb7 Fix test broken by additional customizer
See gh-16498
6 years ago
Phillip Webb 9a6415375d Polish 6 years ago
Phillip Webb 6e9f2e42af Merge branch '2.1.x'
Closes gh-16992
6 years ago
Phillip Webb 6913ea24b0 Polish "Fix NoClassDefFound when missing Spring Security"
See gh-16889
6 years ago
Vedran Pavic e9bd11ee83 Fix NoClassDefFound when missing Spring Security
Update Spring Session auto-configuration to ensure that the
`DefaultCookieSerializer` doesn't break when Spring Security is not
present on the classpath.

Closes gh-16889
6 years ago
Phillip Webb df55d73bff Merge branch '2.1.x'
Closes gh-16990
6 years ago
Phillip Webb 278a0866cd Polish "Fix Spring Data Cassandra auto-configure condition"
See gh-16971
6 years ago
Dmytro Nosan be435130e6 Fix Spring Data Cassandra auto-configure condition
Update `CassandraDataAutoConfiguration` do that it's only applied when
a `Cluster` bean is found.

Fixes gh-16971
6 years ago
Andy Wilkinson 0eb6c0ddd3 Defer disabling registry until Tomcat server is being created
Closes gh-16498
6 years ago
Andy Wilkinson b603cd5d4b Disable Tomcat's MBean Registry by default
Closes gh-16498
6 years ago
Brian Clozel d46de7abc4 Polish "Set UTF-8 charset for whitelabel HTML error pages"
Closes gh-16611
6 years ago
qxo 64a8326989 Set UTF-8 charset for whitelabel HTML error pages
This commit changes the HTTP response Content-Type for whitelabel
error pages with Spring WebFlux.

See gh-16611
6 years ago
Brian Clozel 0b70862627 Fix RSocket websocket config with WebFlux
In the case of a WebFlux + RSocket over websocket setup, the RSocket
auto-configuration would not set up the required routes; only the
websocket endpoint for RSocket would be available, overriding the
handler configured for WebFlux.

This commit introduces `NettyRouteProvider`. Components implementing
that interface can contribute HTTP routes to the Reactor Netty server
being built.

* if none is provided, the regular handler setup is used
* if one or more routes are provided, routes are sorted and added before
the WebFlux handler (acting as a default)

Fixes gh-16826
6 years ago
Brian Clozel 45507c475b Configure String codecs in RSocket strategies
Closes gh-16924
6 years ago
Brian Clozel b2e395db7a Avoid codec auto-configuration when WebFlux is not present
This commit prevents the `CodecsAutoConfiguration` from being processed
if spring-webflux is not on classpath, since it is only useful for the
WebFlux server infrastructure or `WebClient`.

Closes gh-15690
6 years ago
Andy Wilkinson 23f803c6b6 Upgrade to Hamcrest 2.1, switch to hamcrest artifact from -core and -library
Closes gh-15555
6 years ago
dreis2211 27ca7e17d9 Fix deprecated StandardAnnotationMetadata usages
Closes gh-16930
6 years ago
Andy Wilkinson 46cdd6ecb2 Merge branch '2.1.x'
Closes gh-16939
6 years ago
Andy Wilkinson da12ad0ca5 Make ReactiveSecurityAutoConfiguration back off without spring-webflux
Closes gh-16934
6 years ago
Stephane Nicoll 74208bb1a7 Polish "Auto-configure Kafka listener container with rebalance listener"
Closes gh-16755
6 years ago
Gary Russell abdc2e1b4f Auto-configure Kafka listener container with rebalance listener
This commit associates a `ConsumerAwareRebalanceListener` to the
auto-configured listener container factory if a single instance is found
in the context.

See gh-16755
6 years ago
Stephane Nicoll 2949561bf6 Polish "Add support for Couchbase's role-based access"
Closes gh-16389
6 years ago
Enes Açıkoğlu 3386856ccf Add support for Couchbase's role-based access
See gh-16389
6 years ago
Stephane Nicoll 3c46b9e83d Polish "Add configuration property for Spring Kafka's missingTopicsFatal"
Closes gh-16740
6 years ago
Gary Russell 1583ce8d26 Add configuration property for Spring Kafka's missingTopicsFatal
See gh-16740
6 years ago
Stephane Nicoll 275d794553 Make sure JdbcTemplateConfiguration is imported once
Closes gh-13806
6 years ago
Phillip Webb 79e05c770f Merge branch '2.1.x' 6 years ago
Phillip Webb ed998ef0d3 Update copyright header of changed files 6 years ago
Phillip Webb a82b5266ae Merge branch '2.1.x'
Closes gh-16858
6 years ago
Phillip Webb e2dc278cae Use default SslContextFactory for JettyClient
Update the auto-configured Jetty `HttpClient` so that a default
`SslContextFactory` is used.

Prior to this commit connecting to https URLs would cause a
`NullPointerException`.

Fixed gh-16810
6 years ago
Stephane Nicoll 128b41d43a Configure JmsMessagingTemplate default destination
Closes gh-16227
6 years ago
Brian Clozel e8d39a1539 Add support for CBOR codecs in RSocket
This commit auto-configures CBOR (see https://cbor.io/) codecs in the
RSocketStrategies, using Jackson binary format support.

The required dependency is added to the rsocket starter. Binary codecs
are well suited for RSocket payloads, so this codec is added first to
the list of codecs (before the JSON one already supported).

Closes gh-16830
6 years ago
Stephane Nicoll 1c3a91883d Remove reference to spring.datasource.jmx-enabled
This commits moves the single use of that property to the already
existing Tomcat-specific one.

Closes gh-16673
6 years ago
Brian Clozel 20dfeddbb3 Auto-configure RSocketRequester.Builder
This commit auto-configures a prototype `RSocketRequester.Builder` bean
for building requester instances. This builder is pre-configured with
auto-detected `RSocketStrategies` (same as the server side).

Closes gh-16280
6 years ago
Brian Clozel 2e504b4c3c Migrate from NCSARequestLog to CustomRequestLog
Closes gh-16416
6 years ago
Brian Clozel 930186e505 Merge branch '2.1.x' 6 years ago
Marcus Eisele 94a9748ce0 Fix 'spring.resources.cache.period' for WebMvc
Before this change it got overwritten by forwarding an empty
CacheControl to Spring. Spring itself sets CacheSeconds already
correctly in absence (=null) of a CacheControl.

Also:
* Fixes bug in WebMvcAutoConfigurationTests.cachePeriod which
prevented it to assert anything

See gh-16488
Closes gh-16730
6 years ago
Brian Clozel 0b4934d140 Fix DefaultErrorWebExceptionHandler test 6 years ago
Andy Wilkinson 552345fcd1 Disable more @Bean method proxying
Previously, due to a quirk in Spring Framework, it was necessary to use bean method
proxying in @Configuration classes that define one or more FactoryBeans. This quirk has
now been addressed so this commit disables bean method proxying where it is now no longer
needed.

Closes gh-16533
6 years ago
Gary Russell ef39ff8988 Start building against Spring Kafka 2.3.0.M2 snapshots
See gh-16739
See gh-16752
6 years ago
Andy Wilkinson 5514192672 Merge branch '2.1.x'
Closes gh-16809
6 years ago
Andy Wilkinson 96f3a482f0 Polish "Enable minIdle by allowing timeBetweenEviction runs to be configured"
See gh-16703
6 years ago
Gemini Kim 1659d46028 Enable minIdle by allowing timeBetweenEviction runs to be configured
See gh-16703
6 years ago
Andy Wilkinson bf294a762a Polish 6 years ago
Johnny Lim a56867da27 Consistent use of PropertyMapper::asInt
See gh-16738
6 years ago
Johnny Lim 1548fb655c Polish FlywayProperties
See gh-16737
6 years ago
Andy Wilkinson ece87cc4cc Polish "Provide control over how a Cassandra Cluster is created"
See gh-16702
6 years ago
Steffen Folman Qvistgaard 5daf310bf4 Provide control over how a Cassandra Cluster is created
See gh-16702
6 years ago
Madhura Bhave 684a1c7a3c Migrate tests to JUnit5 testcontainer extensions
Closes gh-15456
6 years ago
Madhura Bhave 1db1c8b03c Validate our own tests work with JUnit5 and the vintage engine
Closes gh-14737

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
6 years ago
Brian Clozel 1f897ad923 Fix DefaultErrorWebExceptionHandler test 6 years ago
Johnny Lim 21b05bbafc Polish RSocketServerBootstrap bean name
Closes gh-16700
6 years ago
Johnny Lim cb0e3c793b Polish
Closes gh-16688
6 years ago
Stephane Nicoll 922ceed63a Polish "Auto-configure ReactiveStringRedisTemplate if necessary"
Closes gh-16604
6 years ago
Qiang Lee 866233bd2f Auto-configure ReactiveStringRedisTemplate if necessary
See gh-16604
6 years ago
Toshiaki Maki e203f6a5f5 Fix typo
Closes gh-16684
6 years ago
Johnny Lim e22c2e5687 Polish
Closes gh-16685
6 years ago
Stephane Nicoll 704da1750b Polish "Add support for Hazelcast YAML configuration"
Closes gh-16632
6 years ago
Rafal Leszko 82e18ae88f Add support for Hazelcast YAML configuration
Since Hazlecast 3.12, YAML configuration format is supported in
addition to XML. Therefore, this change makes Spring Boot automatically
discover not only `hazelcast.xml` (and `hazelcast-client.xml`), but also
`hazelcast.yaml` (and `hazelcast-client.yaml`).

See gh-16632
6 years ago
Phillip Webb 17aaf26590 Use consistent javadoc style for annotation links
Closes gh-13920
6 years ago
Phillip Webb 1e44aba772 Fix compiler warnings and polish
Fix various compiler warnings and apply a little polish.
6 years ago
Andy Wilkinson a0999dadb7 Merge branch '2.1.x'
Closes gh-16642
6 years ago
Andy Wilkinson ba0279be14 Remove race condition in TaskSchedulingAutoConfigurationTests
Closes gh-16640
6 years ago
Andy Wilkinson 915bde0e62 Use MIME decoder to read OAuth2 resource server public key
Fixes gh-16624
6 years ago
Madhura Bhave 23cf8565b1 Polish "Apply server customizer beans automatically"
Closes gh-16584
6 years ago
Sergey Serdyuk 8ff78ed4c3 Apply server customizer beans automatically
See gh-16584
6 years ago
Stephane Nicoll d55d6b35d9 Merge branch '2.1.x' 6 years ago
Stephane Nicoll 7b9471836b Polish "Improve DefaultCookieSerializer auto-configuration"
Closes gh-16513
6 years ago
Vedran Pavic 5e02541195 Improve DefaultCookieSerializer auto-configuration
Spring Session's own configuration support (i.e.
SpringHttpSessionConfiguration) will configure the default
DefaultCookieSerializer with rememberMeRequestAttribute if
SpringSessionRememberMeServices bean has been detected in the
application context.

In contrast, Spring Boot's auto-configured DefaultCookieSerializer does
not do this which results in a different out-of-the-box experience for
users that rely on Spring Session's remember-me integration.

This commit improves Spring Session DefaultCookieSerializer
auto-configuration to match Spring Session's behavior and make the
auto-configured DefaultCookieSerializer aware of
SpringSessionRememberMeServices bean.

See gh-16513
6 years ago
Phillip Webb b879972d0d Migrate to MergedAnnotations API
Migrate away from `AnnotationUtils` and `AnnotatedElementUtils`
when possible to the new `MergedAnnotations` API.

Closes gh-16551
6 years ago
Andy Wilkinson ca1a666f58 Polish "Add support for configuring remaining Undertow server options"
See gh-16278
6 years ago
Rafiullah Hamedy 186b1fae6d Add support for configuring remaining Undertow server options
This commit adds support for configuring Undertow's server options that were previously
not configurable via application properties. The additions are the following:

- allow-encoded-slash
- always-set-keep-alive
- decode-url
- max-cookies
- max-headers
- max-parameters,
- url-charset

See gh-16278
6 years ago
Stephane Nicoll 2cfcd2690e Polish "Allow to configure the Elasticsearch rest client timeouts"
Closes gh-15965
6 years ago
Dmytro Nosan 5bacb32557 Allow to configure the Elasticsearch rest client timeouts
See gh-15965
6 years ago
Stephane Nicoll e24c17d524 Polish "Add auto-configuration support for ReactiveGridFsTemplate"
Closes gh-16467
6 years ago
ayudovin d9c9ed1d52 Add auto-configuration support for ReactiveGridFsTemplate
See gh-16467
6 years ago
Stephane Nicoll 0f60555031 Polish "Complete Jetty Access Log configuration properties support"
Closes gh-16080
6 years ago
nicolas 55a5a26b95 Complete Jetty Access Log configuration properties support
See gh-16080
6 years ago
Andy Wilkinson 1eac4d6046 Support configuration of Flyway's Pro properties
Closes gh-14989
6 years ago
Johnny Lim 2b2afd785b Polish
Closes gh-16575
6 years ago
Stephane Nicoll b710dc71fe Polish "Use BatchErrorHandler when Kafka listener type is batch"
Closes gh-16499
6 years ago
Madhura Bhave bb7940f8e4 Use BatchErrorHandler when Kafka listener type is batch
Closes gh-16499
6 years ago
Phillip Webb 5f1bbf8c72 Update copyright header of changed files 6 years ago
Phillip Webb 2dfd916c96 Polish 6 years ago
Madhura Bhave bf6f9b4c43 Polish "Add property for mongo auto-index creation"
See gh-16454
6 years ago
ayudovin 2e9005de14 Add property to configure Mongo auto index creation
Closes gh-16454
6 years ago
Brian Clozel c0a360fd71 Fix imports ordering 6 years ago
Brian Clozel 71362299ae Polish RSocket server bootstrap
See gh-16021
6 years ago
Brian Clozel b35424478b Deprecate Elasticsearch transport and Jest clients
As of Spring Data Moore, the Elasticsearch high level REST client is
supported for Spring Data repositories. The transport client is now
deprecated and is likely to be removed in a future Spring Data release.

This commit deprecates the transport client and marks all the associated
configuration properties as deprecated. The Spring Boot starter depends
on the `spring-data-elasticsearch` project, which now depends on both
transport client and high level REST client.

This commit also deprecates the Jest client, as Spring Boot will focus
on supporting the high level REST client and the reactive client
provided by Spring Data - both being in sync with the fast release pace
of Elasticsearch.

Closes gh-15008
6 years ago
Madhura Bhave b4d6ac1f41 Fix javadoc 6 years ago
Madhura Bhave 7bbeeaa4d2 Fix build following Spring Security changes 6 years ago
Madhura Bhave 8fd8a9b618 Fix javadoc 6 years ago
Madhura Bhave 62ec8f373a Forwarded header auto-config should be conditional on missing bean
See gh-5677
6 years ago
Madhura Bhave 959e161555 Provide an option to use Spring's forwarded header support
Previously, if the `server.use-forward-headers` property
was set to true, X-Forwarded-* headers support was provided
at the server level. The property has been deprecated in favor
of `server.forward-headers-strategy` which can be also be configured
to use Spring's forwarded header support apart from native server support.

Closes gh-5677
6 years ago
Brian Clozel 9eb7260699 Polish RSocket server support
Relax the `NettyRSocketBootstrap` contract to allow all types of
`SocketAcceptor` implementations.

See gh-16021
6 years ago
Brian Clozel 2112e02eda Polish
Closes gh-15952
6 years ago
Dmytro Nosan 2c20d01e25 Add requestId info to ErrorAttributes in WebFlux
See gh-15952
6 years ago
Brian Clozel b33944b53f Add RSocket server support with Spring Messaging
This commit adds support for RSocket server applications.
The auto-configuration will either add RSocket support to an existing
Reactor Netty server in a WebFlux application (as a WebSocket endpoint),
or bootstrap a brand new RSocket server instance.

Spring Boot will also auto-configure the Spring Messaging infrastructure
that supports Controller beans with `@MessageMapping` annotated methods.

Fixes gh-16021
6 years ago
Vedran Pavic bbaa98175f Upgrade to Hazelcast 3.12
Closes gh-16503
6 years ago
Stephane Nicoll ee735a61ce Polish
See gh-15814
6 years ago
Madhura Bhave 7054a33e70 Add support for public key file for OAuth2 resource server
Closes gh-15814
6 years ago
dreis2211 7042884042 Fix Thymeleaf deprecations
Closes gh-16478
6 years ago
Stephane Nicoll c432288ed1 Migrate ApplicationContext to common hierarchy
This commit migrates `AnnotationConfigReactiveWebApplicationContext`
parent to the `GenericApplicationContext` abstraction. Any use of
`AnnotationConfigWebApplicationContext` is also removed as it also
inherits from the `AbstractRefreshableApplicationContext` outdated
hierarchy.

A new `AnnotationConfigServletWebApplicationContext` context is
introduced instead, extending from `GenericApplicationContext` and
providing the counter part of the reactive context for the Servlet-based
web app tests.

See gh-16096
6 years ago
Madhura Bhave 7587af343d Merge pull request #16342 Pascal Zwick
* pr/16342:
  Polish "Simplify the configuration of the ProtocolHandler"
  Simplify the configuration of the ProtocolHandler
6 years ago
Madhura Bhave ad767ca4e1 Polish "Simplify the configuration of the ProtocolHandler"
Closes gh-16342
6 years ago
Pascal Zwick 2eaa64f82e Simplify the configuration of the ProtocolHandler
This commit introduces a new callback interface that can
be used to customize the ProtocolHandler on a Tomcat Connector.

See gh-16342
6 years ago
Stephane Nicoll bb4e559724 Let Hibernate detect the dialect to use
Closes gh-16172
6 years ago
Stephane Nicoll 5f6d8e1ead Polish 6 years ago
Phillip Webb 8aec4de399 Merge branch '2.1.x' 6 years ago
Phillip Webb 617f97f788 Fix checkstyle violation 6 years ago
Phillip Webb ddbfb2530d Update copyright header of changed files 6 years ago
Phillip Webb ad7eebee9e Merge branch '2.1.x' 6 years ago
Phillip Webb f12ab1ff90 Update copyright header of changed files 6 years ago
Phillip Webb 34fee1adfa Polish 6 years ago
Brian Clozel f221061d81 Avoid bean method proxying in WebMVC and WebFlux config
This commit applies changes similar to what's been done in gh-9068, for
MVC and WebFlux configurations. This is now possible thanks to the
changes done in Spring Framework in
https://github.com/spring-projects/spring-framework/pull/22596

Fixes gh-16427
6 years ago
Stephane Nicoll edb5937571 Merge branch '2.1.x' 6 years ago
Johnny Lim 9fae1e5d0e Check for Reactor Netty disconnected client errors
Closes gh-16046
6 years ago
dreis2211 03a5bb7857 Avoid using deprecated @SolrDocument#solrCoreName
Closes gh-16419
6 years ago
Phillip Webb 2376f973f4 Merge branch '2.1.x' 6 years ago
Phillip Webb 47c6bf741d Merge branch '2.0.x' into 2.1.x 6 years ago
Phillip Webb 07c000c5b7 Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson 9e7d922555 Allow processor cache to be configured to be unlimited
Closes gh-16415
6 years ago
Andy Wilkinson ea80ca2ffc Do not assume HTTP protocol when customizing processor cache
Closes gh-16413
6 years ago
Andy Wilkinson 8ebe5f9983 Merge branch '2.1.x' 6 years ago
Andy Wilkinson f20d9a62ae Polish "Ensure that MongoClient's EventLoopGroup is shut down during context close"
See gh-16087
6 years ago
Dmytro Nosan ee7bed1849 Ensure that MongoClient's EventLoopGroup is shut down during context close
See gh-16087
6 years ago
Madhura Bhave 8daa8c48fb Merge branch '2.1.x' 6 years ago
Madhura Bhave 768aa5dfcc Ignore exception if ValidationAdapter can't get a MessageInterpolator
Fixes gh-16177
6 years ago
Stephane Nicoll 076e327481 Polish "Complete support for customizing Tomcat's access log"
Closes gh-16039
6 years ago
Andrew McGhie f823ae488d Complete support for customizing Tomcat's access log
See gh-16039
6 years ago
Stephane Nicoll 241171fcfa Merge branch '2.1.x' 6 years ago
liucheng.zhang 4d1717f18e Disable nulls serialization when serialize-nulls property is false
Closes gh-16332
6 years ago
Stephane Nicoll 465053c11e Merge branch '2.1.x' 6 years ago
Stephane Nicoll 6c3d64a2eb Test Thymeleaf auto-configuration backs off without spring integration
See gh-16341
6 years ago
Stephane Nicoll 29b1b38cc6 Migrate Thymeleaf tests to application runner 6 years ago
Johnny Lim 40d0d6b113 Polish
Closes gh-16299
6 years ago
Stephane Nicoll 89f93b28d7 Merge branch '2.1.x' 6 years ago
Krzysztof Koziol 17c0214cc6 Add missing class condition on thymeleaf-spring5
This commit adds an extra check for the presence of thymeleaf-spring5
library on the classpath. ThymeleafAutoConfiguration is now only
considered if both thymeleaf-spring5 and thymeleaf jars are present.

Closes gh-16341
6 years ago
Andy Wilkinson 24593f39f8 Polish "Use HTTPS for external links wherever possible"
See gh-16276
6 years ago
Spring Operator fb242c27d2 Use HTTPS for external links wherever possible
See gh-16276
6 years ago
Andy Wilkinson 878a635bfb Merge branch '2.1.x' 6 years ago
Andy Wilkinson 5a3474c7a8 Polish "Use HTTPS for external links wherever possible"
See gh-16320
6 years ago
Spring Operator 9fc3ac7d49 Use HTTPS for external links wherever possible
See gh-16320
6 years ago
Andy Wilkinson 864942ad4f Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 14b21026bf Polish "Use HTTPS for external links wherever possible"
See gh-16319
6 years ago
Spring Operator 1a4c6f2dac Use HTTPS for external links wherever possible
See gh-16319
6 years ago
Andy Wilkinson ba4671f0ab Merge branch '1.5.x' into 2.0.x 6 years ago
Stephane Nicoll 3e3353e0e9 Merge branch '2.1.x' 6 years ago
Stephane Nicoll e57c0c0657 Do not attempt to add Jaxb customization if Jaxb is not present
See gh-16268
6 years ago
Stephane Nicoll bece962711 Merge branch '2.1.x' 6 years ago
Stephane Nicoll c2f9e7dd43 Fix StreamsBuilderFactoryBean injection definition
Closes gh-16329
6 years ago
Johnny Lim 038e213343 Restore setExtractBareNamePropertyMethods() for AssertJ
Closes gh-16325
6 years ago
Andy Wilkinson 4900505425 Merge branch '2.0.x' into 2.1.x 6 years ago
Spring Operator a5dba01cb9 Use HTTPS for external links from XML files where possible
See gh-16314
6 years ago
Andy Wilkinson fedb40a2bf Merge branch '1.5.x' into 2.0.x 6 years ago
Stephane Nicoll 197e1669e2 Polish 6 years ago
Madhura Bhave 8f693a0277 Add support for configuration properties scanning
See gh-12602
6 years ago
Brian Clozel 711169aa8a Adapt tests after Servlet.fn added to Spring Framework
Since Servlet.fn support has been added in Spring Framework, new
infrastructure beans (like `HandlerAdapter` and `HandlerMapping`) have
been added.

This commit adapts the Spring MVC auto-configuration tests to reflect
those changes.
6 years ago
Andy Wilkinson 36c1c051b8 Merge branch '2.1.x' 6 years ago
Andy Wilkinson e23f72c8b0 Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 9fbd38ab3c Merge branch '1.5.x' into 2.0.x 6 years ago
Spring Operator 00ab30362c Use HTTPS for external links in XML files
See gh-16270
6 years ago
dreis2211 dda0b3e2a1 Remove explicit types
Closes gh-16265
6 years ago
Andy Wilkinson b828b398b5 Merge branch '2.1.x' 6 years ago
Andy Wilkinson a36aa67b52 Merge branch '2.0.x' into 2.1.x 6 years ago
Spring Operator 3e2b6ac8ed Update build and setup configuration to use HTTPS
See gh-16246
6 years ago
Mohamed Rifni e3269a7e9b Switch FaviconRequestHandler visibility to package private
Closes gh-16250
6 years ago
Stephane Nicoll fcdc414646 Remove use of `@Autowired` for configuration properties bean
See gh-8762
6 years ago
Stephane Nicoll 4d73211c3a Polish "Check for multiple processors in OnClassCondition"
Closes gh-16115
6 years ago
Jan Thewes a96a79ea45 Check for multiple processors in OnClassCondition
See gh-16115
6 years ago
Stephane Nicoll b2290107db Polish "Trim trailing whitespace from spring.server.servlet.context-path"
Closes gh-16165
6 years ago
Mohamed Rifni bde2f850b2 Trim trailing whitespace from spring.server.servlet.context-path
See gh-16165
6 years ago
Andy Wilkinson 68bfb020aa Reduce need for bean method proxying and disable where not needed
Closes gh-9068
6 years ago
Andy Wilkinson 4b98fa7d94 Alias proxyBeanMethods on annotations meta-annotated with @Configuration
Closes gh-16201
6 years ago
Phillip Webb 64a2e8d67f Update copyright year for changed files 6 years ago
Phillip Webb dd3e8154d9 Merge branch '2.1.x' 6 years ago
Phillip Webb fc3aa43cc2 Update copyright year for changed files 6 years ago
Andy Wilkinson aa2008bc5a Merge branch '2.1.x' 6 years ago
Andy Wilkinson 8c3cec8f13 Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 361437f4e2 Merge branch '1.5.x' into 2.0.x 6 years ago
Stephane Nicoll 430571b37b Perform binding at creation time if possible
Previously, environment binding always happened in a post processor once
the bean has been created. Constructor binding requires to perform the
binding at creating time so this commit performs binding at creation
time if possible.

When this happens, a special `ConfigurationPropertiesBeanDefinition` is
created with a supplier that invokes the binder. To avoid a case where
a bean is processed twice, the post-processor now ignores any bean that
has already been bound to the environment.

Closes gh-8762

Co-authored-by: Madhura Bhave <mbhave@pivotal.io>
6 years ago
Andy Wilkinson b8dff5fe17 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 36cbd00853 Disable AssertJ's bare-named property accessor discovery
AssertJ includes a change in 3.12 that means that, by default, it now incorrectly
identifies some of the builder methods on CacheControl as accessor methods for its fields.
This commit restores the behaviour of 3.11 so that a method is only considered to be a
property accessor if a matches the Java bean naming conventions.

Closes gh-16145
6 years ago
Andy Wilkinson 0959698c32 Upgrade to Jersey 2.28
Closes gh-16114
6 years ago
Andy Wilkinson d6a869fa98 Switch to Jakarta EE API dependencies where possible
Closes gh-16113
Closes gh-16112
Closes gh-16111
Closes gh-15916
Closes gh-15689
6 years ago
Brian Clozel ce9626d00f Disable JMX by default
This commit switches the default value for the `spring.jmx.enabled`
configuration property.
JMX is now disabled by default and can be enabled with
`spring.jmx.enabled=true`.

Closes gh-16090
6 years ago
Johnny Lim f4786d7d2e Polish
Closes gh-16083
6 years ago
Dmytro Nosan c0a458e9d0 Remove unused constructor argument
Closes gh-16059
6 years ago
Stephane Nicoll d5448eb124 Polish "Add failure analyzer for Flyway's bootstrap failure"
Closes gh-16015
6 years ago
anand 96315372ef Add failure analyzer for Flyway's bootstrap failure
See gh-16015
6 years ago
Stephane Nicoll 2ad234b605 Adapt to breaking change in Spring Hateoas 6 years ago
Stephane Nicoll 554bff6145 Merge branch '2.1.x' 6 years ago
Stephane Nicoll eebd906c8a Polish contribution
Closes gh-16047
6 years ago
Dan Zheng 2c4afb3bd8 Fix NamedParameterJdbcTemplate precedence with database migration tools
See gh-16047
6 years ago
Stephane Nicoll 715db153e3 Polish "Remove code deprecated in 2.1"
Closes gh-16013
6 years ago
Mehmed Baždar 246111cd84 Remove code deprecated in 2.1
See gh-16013
6 years ago
Andy Wilkinson f2e3e274a8 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 53326695ea Polish 6 years ago
Andy Wilkinson de0c065625 Inject single-use configuration dependencies into bean methods
Closes gh-15751
6 years ago
Johnny Lim 55f5f2f910 Polish
Closes gh-15987
6 years ago
Stephane Nicoll ddfdc48161 Merge branch '2.1.x' 6 years ago
Stephane Nicoll 42c246cacb Polish contribution
Closes gh-15984
6 years ago
isank e546ed4834 Order TaskExecution auto-config before TaskScheduling auto-config
See gh-15984
6 years ago
Stephane Nicoll fa49dfcaaf Add support for task scheduling shutdown related properties
See gh-15951
6 years ago
Stephane Nicoll d2cbf08f09 Polish "Add support for task executor shutdown related properties"
Closes gh-15951
6 years ago
Filip Hrisafov 3b47ba21a8 Add support for task executor shutdown related properties
See gh-15951
6 years ago
Andy Wilkinson add8c6f295 Align HypermediaAutoConfigurationTests with latest HATEOAS API changes
See gh-15939
6 years ago
Stephane Nicoll 71df2f311b Polish "Expose Tomcat AccessLog Max days property"
Closes gh-15954
6 years ago
Dmytro Nosan 596f0c28c0 Expose Tomcat AccessLog Max days property
See gh-15954
6 years ago
Stephane Nicoll 8939a7eec3 Merge branch '2.1.x' 6 years ago
Stephane Nicoll f3e142cb7c Polish "Stop using imports from shaded dependencies"
Closes gh-15950
6 years ago
Michael Simons de7812aa3a Stop using imports from shaded dependencies
See gh-15950
6 years ago
Andy Wilkinson 747e419db1 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 9fb0b97f96 Decorate test containers so tests are skipped without Docker
Closes gh-15901
Closes gh-15638
6 years ago
Stephane Nicoll 3d6def9f81 Handle BatchMessagingMessageConverter with Kafka batch listeners
Closes gh-15942
6 years ago
Andy Wilkinson 18174a8e9e Polish "Add opt-in support for Neo4j-OGM native types"
See gh-15637
6 years ago
Michael Simons af21b847a0 Add opt-in support for Neo4j-OGM native types
This includes tests for the autoconfiguration using that new property.
The test require the native types for Bolt and embedded in the test
scope, so the Neo4j-OGM native types have been added to managed
dependencies.

The enhanced autoconfiguration throws an
InvalidConfigurationPropertyValueException when native types cannot be
used due to missing dependencies or wrong transport mode.

See gh-15637
6 years ago
Andy Wilkinson e924745bf8 Start building against Spring Data Moore M2 snapshots
See gh-15197
6 years ago
Andy Wilkinson c41924f7d4 Merge branch '2.1.x' 6 years ago
Andy Wilkinson ab8fcf0d71 Polish "Use class for @ConditionalOnClass"
See gh-15775
6 years ago
Johnny Lim b423962c89 Use class for @ConditionalOnClass
See gh-15775
6 years ago
Andy Wilkinson 48e781181e Merge branch '2.1.x' 6 years ago
Andy Wilkinson 799ac24da1 Reinstate auto-config of RequestContextFilter with Jersey
Previously, the auto-configuration for both Jersey and WebMvc would auto-configure
a RequestContextFilter bean. In 2.1.0, this led to a startup failure due to the latter
attempting to override the bean defined by the former. In addition to the override there
were also problems with the order of the filter as Jersey uses -1 and MVC uses -105.

To avoid the above-described problems, the auto-configuration of the RequestContextFilter
was removed from JerseyAutoConfiguration in 2.1.1. Unfortunately, the broke
request-scoped beans for those using only Jersey.

This commit attempts to strike a better balance by reintroducing the auto-configuration
of RequestContextFilter in JerseyAutoConfiguration. It will back off if the user defines
their own filter or filter registration. WebMvcAutoConfiguration has been updated to
back off in the same manner. This leaves the potential for ordering problems, but they
are no worse than they were before. Furthermore, the user has the means to correct any
problems by using the various filter ordering properties that are provided for Jersey,
Spring Session, Spring Security, etc.

Closes gh-15376
6 years ago
Andy Wilkinson db31e42751 Merge branch '2.1.x' 6 years ago
Andy Wilkinson a975c0ad16 Use Testcontainers’ CassandraContainer rather than our own
Closes gh-15901
6 years ago
Andy Wilkinson 6fe226d781 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 20f26c4d30 Polish "Fix stopping of Embedded Mongo before context is closed"
See gh-15692
6 years ago
Eugene 750246f021 Fix stopping of Embedded Mongo before context is closed
See gh-15692
6 years ago
Andy Wilkinson b5c9afc055 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 295a660e35 Polish "Set NO_REQUEST_TIMEOUT as a server option not a socket option"
See gh-15822
6 years ago
ayudovin dbce3731a4 Set NO_REQUEST_TIMEOUT as a server option not a socket option
See gh-15822
6 years ago
Andy Wilkinson c6a1df6cd4 Merge branch '2.1.x' 6 years ago
Jeffrey van der Laan 4f86233ca7 Do not auto-configure OEMIV filter when user defines registration bean
See gh-15889
6 years ago
Kedar Joshi 4a253ff87c Polish
1. Removed unnecessary null checks
2. Combined collection initialization and modification
3. Minor collections related optimizations

Closes gh-15837
6 years ago
Madhura Bhave 4d69e127c8 Merge branch '2.1.x' 6 years ago
Madhura Bhave 26da45aa9a Configure a JerseyApplicationPath bean for the actuators
This commit also ensures that Jersey-based actuator endpoints are
available before the user has configured a `ResourceConfig` bean

Fixes gh-15625
Fixes gh-15877
6 years ago
Brian Clozel e8fef97335 Merge branch '2.1.x' 6 years ago
Brian Clozel cba6079b7b Log unhandled server exceptions in WebFlux
Prior to this commit, errors unhandled by custom `WebExceptionHandler`
and resulting in an HTTP 500 status would not be logged at ERROR level,
giving no information to developers about the actual exception.

This commit ensures that such exceptions are logged at the ERROR level
with their exception. By the time the exception hits the
`DefaultErrorWebExceptionHandler`, if the response is already committed
or if the exception is due to a client disconnecting, the error is
delegated to Framework support as Spring Boot won't be able to render an
error page as expected.

Fixes gh-15769
6 years ago
Andy Wilkinson 45cc649c7d Merge branch '2.1.x' 6 years ago
Andy Wilkinson 82bc87560c Use AssertJ’s exception assertions rather than fail
Closes gh-15761
6 years ago
Stephane Nicoll 5269ea5536 Polish contribution
Closes gh-15754
6 years ago
Johnny Lim 6603033bbc Polish SessionConfigurationImportSelector.selectImports()
See gh-15754
6 years ago
Stephane Nicoll 002fa405a8 Merge branch '2.1.x' 6 years ago
Stephane Nicoll ede23caace Polish "Inject Map directly rather than via ObjectProvider"
Closes gh-15798
6 years ago
ayudovin 3a2e85ce75 Inject Map directly rather than via ObjectProvider
See gh-15798
6 years ago
Stephane Nicoll c5675de666 Polish "Handle AccessControlException in JspTemplateAvailabilityProvider"
Closes gh-15778
6 years ago
ayudovin 81273bdf9a Handle AccessControlException in JspTemplateAvailabilityProvider
See gh-15778
6 years ago
dreis2211 d4ab101223 Use Assertions.contentOf() where possible
Closes gh-15793
6 years ago
Stephane Nicoll 342212b8dc Merge branch '2.1.x' 6 years ago
Stephane Nicoll 6f86a84301 Polish "Alias auto-configured `TaskExecutor` to make async tasks use it"
Closes gh-15748
6 years ago
Camille Vienot d0859f1569 Alias auto-configured `TaskExecutor` to make async tasks use it
See gh-15748
6 years ago
Andy Wilkinson 530c7bee71 Do not auto-configure HttpMessageConverters in reactive web apps
Closes gh-15712
6 years ago
Andy Wilkinson 6abd18ae96 Do not auto-configure RestTemplateBuilder in reactive web apps
Closes gh-15718
6 years ago
Andy Wilkinson 5d60d6bd62 Use ApplicationContextRunner to test RestTemplateAutoConfiguration 6 years ago
Andy Wilkinson 7dd65074e8 Only perform background pre-init with multiple processors
Closes gh-15722
6 years ago
Stephane Nicoll 6baa6b291e Polish contribution
Closes gh-15695
6 years ago
Johnny Lim af3ed9ff9f Polish
See gh-15695
6 years ago
Phillip Webb 2f77ef7722 Merge branch '2.1.x' 6 years ago
Phillip Webb 6a901199f5 Polish 6 years ago
Stephane Nicoll 8d1d3fb087 Polish "Avoid string concatenation inside StringBuilder append()"
Closes gh-15589
6 years ago
igor-suhorukov 59ac85d371 Avoid string concatenation inside StringBuilder append()
See gh-15589
6 years ago
Brian Clozel a83d9635af Merge branch '2.1.x' 6 years ago
Brian Clozel 6200a319f2 Polish
Closes gh-15385
6 years ago
ayudovin e9588ca04b Support server.connection-timeout for Netty server 6 years ago
Stephane Nicoll 448f1626f9 Merge branch '2.1.x' 6 years ago
Stephane Nicoll 830da28b8c Fix JPA bootstrap executor detection with multiple candidates
Spring Boot provides two separate auto-configurations that can
potentially expose an `AsyncTaskExecutor` implementation so relying on
the presence of a single instance is too weak.

This commit fixes the detection of the AsyncTaskExecutor that can be
used to bootstrap JPA so that a single instance is used and, in the case
more than one exists, the one named `applicationTaskExecutor`.

Closes gh-15447
6 years ago
Stephane Nicoll 6ba1f40e59 Polish "Allow easy customization of EmbeddedMongo DownloadConfig"
Closes gh-15496
6 years ago
michael b5b6889601 Allow easy customization of EmbeddedMongo DownloadConfig
See gh-15496
6 years ago
Madhura Bhave 19caff6776 Merge branch '2.1.x' 6 years ago
Oleksii Bondar b52dddf784 Refactor OAuth2ClientPropertiesRegistrationAdapterTests
Closes gh-15586
6 years ago
Stephane Nicoll d0811b48df Polish "Disable Hibernate entity scanning for default JPA setup"
Closes gh-15565
6 years ago
ayudovin 510a8e2ec1 Disable Hibernate entity scanning for default JPA setup
See gh-15565
6 years ago
Stephane Nicoll 33547569db Merge branch '2.1.x' 6 years ago
Stephane Nicoll c6202b57e0 Merge branch '2.0.x' into 2.1.x 6 years ago
Stephane Nicoll be161b23cb Polish class conditions documentation
Closes gh-15578
6 years ago
dreis2211 0f5f6f15dc Use hasFieldOrPropertyWithValue where possible
Closes gh-15582
6 years ago
Stephane Nicoll b578dc05df Polish 6 years ago
igor-suhorukov dfb3cd51bc Simplify code by using for-each loop
See gh-15563
6 years ago
Stephane Nicoll fd12e696b0 Polish "Replace redundant call to class isInstance() with instanceof"
Closes gh-15554
6 years ago
igor-suhorukov 7424f48803 Replace redundant call to class isInstance() with instanceof
See gh-15554
6 years ago
Andy Wilkinson ddf64802c0 Merge branch '2.1.x' 6 years ago
Andy Wilkinson bfd63ab085 Polish "Stop JtaAutoConfiguration from enabling JtaProperties when not used"
Closes gh-15550
6 years ago
Nishant Raut 0b29da14b3 Stop JtaAutoConfiguration from enabling JtaProperties when not used
See gh-15550
6 years ago
Stephane Nicoll 9d67400afa Merge branch '2.1.x' 6 years ago
igor-suhorukov e578d30722 Replace anonymous inner class with lambda
See gh-15438
6 years ago
Andy Wilkinson 3a7406fe3a Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 0741c90489 Avoid blocking on a Mono indefinitely
Closes gh-15535
6 years ago
Andy Wilkinson 9d2d6d5812 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 9a33d1a2f9 Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 8c68da0882 Avoid blocking on a Mono indefinitely
Closes gh-15535
6 years ago
Andy Wilkinson 70f4d5e5a8 Polish "Apply context and connector customizer beans to Tomcat factories"
Closes gh-15492
6 years ago
Raheela 90c489048f Apply context and connector customizer beans to Tomcat factories
See gh-15492
6 years ago
Andy Wilkinson c8a0c99a21 Remove D…S…Init…InvokerTests' assumptions about classpath structure
See gh-15471
6 years ago
Stephane Nicoll 6207b46bc6 Merge branch '2.1.x' 6 years ago
dreis2211 948902f090 Avoid unnecessary usage of ReflectionTestUtils
Closes gh-15482
6 years ago
Andy Wilkinson 61d04db0d7 Minimize and centralize assumptions about build output
Closes gh-15471
6 years ago
Andy Wilkinson 064f6478df Move back to JUnit 4 until SUREFIRE-1614 has been resolved
See gh-14736
See gh-14737
See gh-14738
6 years ago
Andy Wilkinson 2b453bbb16 Minimise dependencies on Log4j2
Closes gh-15441
6 years ago
Madhura Bhave f863ce32ee Merge branch '2.1.x' 6 years ago
Madhura Bhave 3cc441c83e Do not remove trailing slash from OAuth2 Issuer URI
Fixes gh-15324
6 years ago
Andy Wilkinson beffc4da9f Remove ordering dependence from tests that create embedded databases
Closes gh-15423
6 years ago
Stephane Nicoll ba29788482 Polish "Replace explicit generic type with diamond operator"
Closes gh-15424
6 years ago
igor-suhorukov a2ebba8db1 Replace explicit generic type with diamond operator
See gh-15424
6 years ago
Madhura Bhave f040459ae5 Merge branch '2.1.x' 6 years ago
Madhura Bhave a11dea46d7 Use the right class in @ConditionalOnClass
See gh-15372
6 years ago
Madhura Bhave e0b55d36de Merge branch '2.1.x' 6 years ago
Madhura Bhave f13697b278 Make Resource Server auto-config conditional on JwtDecoder class
Fixes gh-15372
6 years ago
Andy Wilkinson d3e5c5688f Polish 6 years ago
Stephane Nicoll d5f90ffcfb Polish "Replace this lambda with a method reference"
Closes gh-15401
6 years ago
igor-suhorukov 5c1813aef8 Replace this lambda with a method reference
See gh-15401
6 years ago
Madhura Bhave 5a18df2d69 Fix tests 6 years ago
Madhura Bhave 59d2b0a3fb Upgrade tests to Junit5
See gh-14737
6 years ago
Stephane Nicoll 95b94c0158 Merge branch '2.1.x' 6 years ago
Stephane Nicoll c56c0ff433 Rename OAuth2ResourceServerJwkConfiguration
Closes gh-15375
6 years ago
Stephane Nicoll bbad720e23 Polish contribution
Closes gh-15086
6 years ago
Razib Shahriar 9e571a2827 Fail fast if nested condition uses a phase inappropriate for its members
See gh-15086
6 years ago
Stephane Nicoll 0df13baa0f Polish "Add configurable property for JWK encryption algorithm"
Closes gh-15145
6 years ago
artsiom 460fdaf52f Add configurable property for JWK encryption algorithm
See gh-15145
6 years ago
Stephane Nicoll ec678eaa3b Polish "Configure MessageSource if no "messageSource" bean defined"
Closes gh-15212
6 years ago
cac03 82d99da32a Configure MessageSource if no "messageSource" bean defined
Enable MessageSourceAutoConfiguration OnMissingBeanCondition by name
rather than class since AbstractApplicationContext expects MessageSource
to be defined only with "messageSource" name.

See gh-15212
6 years ago
Stephane Nicoll 1b40b0edf1 Polish contribution
Closes gh-15054
6 years ago
artsiom 3059f0e2e2 Add configuration property for configuring Tomcat's processor cache
See gh-15054
6 years ago
Phillip Webb ba1ef52e39 Merge branch '2.0.x' 6 years ago
Phillip Webb 74376aa023 Polish 6 years ago
Andy Wilkinson ac322a8e30 Polish 6 years ago
Madhura Bhave fc6c07ad3c Merge branch '2.0.x' 6 years ago
Madhura Bhave decaacddce Account for application path for Jersey servlet endpoints
Closes gh-14895
6 years ago
Stephane Nicoll 114347107e Polish key description 6 years ago
Alon Bar-Lev 108f28417e Allow to disable SSL client authentication on the management port
When server and management are at different ports, and when server
requires TLS client authentication, then there is no simple method to
disable TLS client authentication for management port.

This commit adds an additional "none" option to ssl.client-auth.

Example:

    server.port=8080
    server.ssl.enabled=true
    server.ssl.client-auth=need
    management.server.port=8081
    management.server.ssl.enabled=true
    management.server.ssl.client-auth=none

See gh-14985
6 years ago
dreis2211 17f04b8b75 Replace DirectFieldAccessor usages by hasFieldOrPropertyWithValue
Closes gh-15312
6 years ago
Andy Wilkinson cf7664c01a Cope with version not found in Embedded Mongo's Version enum
Closes gh-15311
6 years ago
Andy Wilkinson b094e28081 Remove auto-configuration of RequestContextFilter when using Jersey
Closes gh-15048
6 years ago
Andy Wilkinson fb3deab89d Merge branch '2.0.x' 6 years ago
Andy Wilkinson e81abc3f11 Order jacksonCodecCustomizer so user-provided customizer can go after it
Closes gh-15167
6 years ago
Andy Wilkinson f6a22a05b8 Merge branch '2.0.x' 6 years ago
Andy Wilkinson 9553d4f64b Polish "Auto-configure Spring Session's cookie serializer"
Closes gh-15163
6 years ago
Vedran Pavic 0daf83efab Auto-configure Spring Session's cookie serializer
See gh-15163
6 years ago
Stephane Nicoll 8928cd1982 Deprecate spring.rabbitmq.template.queue
Closes gh-15301
6 years ago
Stephane Nicoll a240e22593 Adapt to Rabbit internal change
See gh-15271
6 years ago
Andy Wilkinson 073ac7bc99 Fix Thymeleaf security dialect tests on Windows 6 years ago
Stephane Nicoll ae1979f1ff Merge branch '2.0.x' 6 years ago
Stephane Nicoll 5f0ac46d78 Unwrap DataSource target rather than plain instanceof calls
Closes gh-15227
6 years ago
Stephane Nicoll e424dfbe15 Polish "Perform best effort to retrieve DataSourceProxy"
Closes gh-15206
6 years ago
Tadaya Tsuyukubo 26f9a92837 Perform best effort to retrieve DataSourceProxy
Prior to this commit, `DataSourceJmxConfiguration` with tomcat
`DataSource`, it can only find `DataSourceProxy` if the given
`DataSource` is a direct child of it.  Since it uses `instanceof`, it
could not find `DataSourceProxy` if the `DataSource` is
wrapped(delegated) or proxied.

This is because `DataSourceProxy#unwrap()` always returns null; thus
cannot use this method to directly obtain `DataSourceProxy`.

In this commit, updated the check logic to perform the best effort to
retrieve `DataSourceProxy`. If given `DataSource` is wrapped or proxied
by spring, tries to unwrap or get target datasource recursively to find
`DataSourceProxy`.

See gh-15206
6 years ago
Andy Wilkinson 4f405ed97d Merge branch '2.0.x' 6 years ago
Andy Wilkinson 058428a14c Clarify how multiple attributes are treated by ConditionalOn(Missing)Bean
Closes gh-15177
6 years ago
Andy Wilkinson 3bda78a3d3 Fix tests after HandlerExceptionResolver logging changes
See gh-14936 and gh-15189
6 years ago
Dave Syer b6aff10244 Temporarily make @Bean methods in Spring Data JDBC public
Closes gh-15097
6 years ago
Stephane Nicoll c1b1f14f5a Fix default unit for multipart properties
This commit fixes a regression that wrongly changed the default unit of
multipart properties from bytes to megabytes.

Closes gh-15162
6 years ago
Stephane Nicoll 2f4325d00f Polish 6 years ago
Brian Clozel d84421b7e1 Improve HttpMessageConverters javadoc
Closes gh-15027
6 years ago
Johnny Lim fd5aa3ebf1 Polish
See gh-15134
6 years ago
Stephane Nicoll 089ef9085a Polish "Add HANA to the lookup of well-known databases"
Closes gh-15125
6 years ago
Jonathan Bregler 85754eaddd Add HANA to the lookup of well-known databases
See gh-15125
6 years ago
Andy Wilkinson e7d921c216 Align test expectations with styling of stack trace div
Closes gh-15075
6 years ago
Andy Wilkinson bfb0886495 Tolerate Hibernate 5.2
Closes gh-15100
6 years ago
Brian Clozel 159f947870 Polish
Closes gh-15075
6 years ago
up-to-you ae4bc48481 Fix stack-trace line breaks in whitelabel error views
Since gh-12838, the WebFlux whitelabel error view also shows the
stacktrace information if it is available in the model.

This commit adds a CSS directive that preserves white spaces and breaks
lines at newline characters.
6 years ago
dreis2211 3e95af2c85 Polish some Map operations
Closes gh-15103
6 years ago
dreis2211 5e35ac6ce5 Remove unused static methods in tests
Closes gh-15084
6 years ago
Stephane Nicoll 0bd69fded8 Fix detection of ScheduledExecutorService
`@EnableScheduling` detects primarily a suitable `TaskScheduler` in the
context and fallbacks to the presence of a `ScheduledExecutorService` if
that is not the case.

This commit improves the auto-configuration to back off when such
scheduled executor service is present, so that the framework
initialization code can pick it up as usual.

Closes gh-15032
6 years ago
Brian Clozel da53a0b8d5 Fix HTTP status error template rendering in WebFlux
Prior to this commit, a change in `HttpStatus.toString` since SPR-16898
prevented the default WebFlux `ErrorWebExceptionHandler` to render
template views for exact HTTP status (e.g. "404.html").
This issue does not affect the resolution of series, like "4xx.html".

This commit fixes `DefaultErrorWebExceptionHandler` to use
`HttpStatus.value()` when attempting to resolve error views.

Closes gh-15083
6 years ago
Stephane Nicoll 980d8ea0ad Merge branch '2.0.x' 6 years ago
Stephane Nicoll 2927195b02 Fix StaticResourceRequest javadoc examples
Closes gh-15050
6 years ago
Phillip Webb f3fa20b2d1 Polish 6 years ago
Andy Wilkinson 743782de7e Revert reloadable message source support
Closes gh-14882
See gh-14699
See gh-13377
6 years ago
Andy Wilkinson f492285999 Polish "Make auto-configured applicationTaskExecutor bean lazy"
Closes gh-14934
6 years ago
artsiom 4f92e857e9 Make auto-configured applicationTaskExecutor bean lazy
See gh-14934
6 years ago
Andy Wilkinson 0e08d379ae Polish "Add CachingMetadataReaderFactoryPostProcessor earlier in context lifecyle"
See gh-14907
6 years ago
Dave Syer c1022e74cd Add CachingMetadataReaderFactoryPostProcessor earlier in context lifecyle
An initializer that adds a BeanDefinitionRegistryPostProcessor which
in turn adds bean definitions has to be very careful to run early.
Otherwise, other initializers that want to influence the bean
definitions added never get a chance.

Closes gh-14907
6 years ago
Phillip Webb 22c7546607 Polish 6 years ago
Phillip Webb 1451c0c069 Polish "Restore max-http-header-size default value support"
Fix Jetty and Undertow customizers to restore Spring Boot 2.0
behavior where a negative or zero `max-http-header-size` indicates
that the server default should be used.

Closes gh-14986
6 years ago
Bryan Turner 8b40ce14cb Restore max-http-header-size default value support
Fix `TomcatWebServerFactoryCustomizer` to restore Spring Boot 2.0
behavior where a negative or zero `max-http-header-size` indicates
that the server default should be used.

See gh-14986
6 years ago
Phillip Webb 1a0a8470e5 Merge branch '2.0.x' 6 years ago
Phillip Webb 62b9268cec Polish "Fix Spring Batch job restart parameters handling"
See gh-14933
6 years ago
Mahmoud Ben Hassine ad3c3ad361 Fix Spring Batch job restart parameters handling
Fix the `JobLauncherCommandLineRunner` to correctly deal with job
parameters when restarting a job.

Prior to this commit, we were was calling the `getNextJobParameters`
method of the `JobParametersBuilder` from batch. This method was getting
the previous parameters of the wrong job instance in a restart scenario.

This commit fixes the issue by first getting the right job instance with
the provided parameters, then restarting it.

Closes gh-14933
6 years ago
Vedran Pavic 6e967fe860 Upgrade to Hazelcast 3.11
Closes gh-14949
6 years ago
Hanope 65e3b9ff5b Fix typos
Closes gh-14954
6 years ago
Brian Clozel 755c4b8b98 Update spring.mvc.log-resolved-exception description
Closes gh-14936
6 years ago
Phillip Webb 2097b6a4c1 Improve ResourceUrlEncodingFilter conditions
Update Thymeleaf and FreeMarker configurations to make use of the new
`@ConditionalOnMissingFilterBean` annotation.

Closes gh-14926
6 years ago
Phillip Webb 44a46f1514 Add @ConditionalOnMissingFilterBean
Add a new condition that can be used to check for servlet `Filter`
beans that are either registered directly, or via a
`FilterRegistrationBean`.

Closes gh-14940
6 years ago
Phillip Webb 9f858e759c Support parameterizedContainer in bean conditions
Add a `parameterizedContainer` attribute to `ConditionalOnBean` and
`ConditionalOnMissingBean` which can be used to support generic types
when checking for the presence of beans.

Closes gh-14940
6 years ago
Phillip Webb 4d3d711e0e Migrate ConditionalOnMissingBeanTests to context runner 6 years ago
Phillip Webb 1bd1ffdb60 Polish 6 years ago
dreis2211 4857b45ea5 Replace lambdas with method reference or call
Closes gh-14937
6 years ago
Brian Clozel 1651690d57 Fix tests after HandlerExceptionResolver logging changes
See gh-14936
6 years ago
Madhura Bhave 0dc4afdefd Merge branch '2.0.x' 6 years ago
Madhura Bhave d6991e6d91 Fix formatting violation 6 years ago
Phillip Webb 31335bb50f Merge branch '2.0.x' 6 years ago
Phillip Webb 35221c1142 Polish 6 years ago
Phillip Webb de7eeb5014 Fix ResourceUrlEncodingFilter conditions
Fix `ResourceUrlEncodingFilter` conditions which were inadvertently
changed in commits 64f04fce and 6cc272ec and would back off if any
`FilterRegistrationBean` was found.

The updated conditions restores the behavior of Spring Boot 2.0.5 and
allows users to directly register their own `ResourceUrlEncodingFilter`
beans (as long as they don't use a `FilterRegistrationBean`).

Fixes gh-14897
6 years ago
Andy Wilkinson 22e722d9f9 Polish 6 years ago
Johnny Lim c8c3f59e93 Polish
Closes gh-14884
6 years ago
Stephane Nicoll 474da80b4d Revert "Restructure of security packages"
See gh-14412
6 years ago
Stephane Nicoll 3dc74fea4b Polish 6 years ago
Stephane Nicoll 134682a7de Add error metadata for properties removed recently 6 years ago
Andy Wilkinson bd0a41d82d Merge branch '2.0.x' 6 years ago
Brian Clozel 96fc92609d Polish
Closes gh-14849
6 years ago
Daniel Fernández 56c1247bbb Add new config keys for Thymeleaf 3.0.10 features
This commit adds the following configuration properties:

* `spring.thymeleaf.render-hidden-markers-before-checkboxes`
* `spring.thymeleaf.servlet.produce-partial-output-while-processing`
6 years ago
Johnny Lim 7f9671fd14 Polish
Closes gh-14843
6 years ago
Stephane Nicoll 39f8b685df Merge branch '2.0.x' 6 years ago
Johnny Lim 47daf96c48 Polish
See gh-14843
6 years ago
Brian Clozel 8397878857 Polish
See gh-12838
6 years ago
Phillip Webb 29707bf75a Complete restructure of security packages
Complete the restructuring of the security auto-configuration
packages by removing the direct import of web configuration from
the main security auto-configuration.

Closes gh-14412
6 years ago
Madhura Bhave f835f82582 Preliminary restructure of security packages
Restructure the security auto-configuration packages to better reflect
the part of the system that the configuration applies to.

See gh-14412
6 years ago
Phillip Webb b8bc4c6f3c Delete deprecated SecurityPrerequisite
Remove `SecurityPrerequisite` which was deprecated in 2.0.6.

See gh-14846
6 years ago
Phillip Webb d558a1a762 Merge branch '2.0.x' 6 years ago
Phillip Webb 8ecb659a35 Deprecate SecurityPrerequisite
Deprecate `SecurityPrerequisite` interface since we don't support it
in Spring Boot 2.

Closes gh-14846
6 years ago
Brian Clozel 2c3e8de959 Include "trace" info in whitelabel error views
This commit shows the stacktrace information in default WhiteLabel error
views for Spring MVC and Spring WebFlux.

This information is only shown if it is present in the model map, which
depends on the `server.error.include-stacktrace` configuration property.

Closes gh-12838
6 years ago
Andy Wilkinson e53e8bf79f Merge branch '2.0.x' 6 years ago
Andy Wilkinson 0fedf8d2af Keep Liquibase-specific DataSource open for use by LiquibaseEndpoint
Closes gh-13832
6 years ago
Andy Wilkinson ab7c1af3ec Auto-configure SpringSecurityDialect for v5 and deprecate v4
Closes gh-14828
6 years ago
Brian Clozel d5236b91ce Polish 6 years ago
artsiom 9e5f171510 Support cachecontrol config property in WebFlux
Closes gh-14724
6 years ago
Stephane Nicoll 1a0d53dec0 Replace ReflectionTestUtils usage by hasFieldOrPropertyWithValue
Closes gh-14696
6 years ago
Andy Wilkinson 6e5310900b Switch from thymeleaf-extras-springsecurity4 to extras-springsecurity5
Closes gh-14806
6 years ago
Brian Clozel 2588a71ac4 Auto-Configure HTTP ResourceFactories on servers
This commit auto-configures HTTP resource factories on both Reactor
Netty and Jetty server instances. This creates `ReactorResourceFactory`
and `JettyResourceFactory` beans when necessary - those beans can be
reused and applied by the client auto-configuration in order to share
resources between client and server for optimal performance.

The server auto-configuration has the highest precedence, so from now
on, the auto-configured ResourceFactory bean on the client side will be
skipped if a reactive server is configured.

Closes gh-14495
6 years ago
Stephane Nicoll 11efe92ce7 Polish "Configure Cassandra JMX Reporting"
Closes gh-14778
6 years ago
Phillip Webb d102e0d7f7 Introduce Ordered Filter and WebFilter interfaces
Add `Ordered` variants of `javax.servlet.Filter` and
`org.springframework.web.server.WebFilter` mainly so that we can
deprecate `FilterRegistrationBean.REQUEST_WRAPPER_FILTER_MAX_ORDER`.

Closes gh-14793
6 years ago
Phillip Webb d6df7cf324 Update copyright year for changed files 6 years ago
Madhura Bhave ff35d14170 Change order of loggingCodecCustomizer
It is set to 0 so that users' customizers can be positioned before and
after it.

Fixes gh-14723
6 years ago
Brian Clozel 43966c7f93 Configure WebFlux HiddenHttpMethodFilter with property
This commit adds a new configuration property
`"spring.webflux.hiddenmethod.filter.enable"` that enables/disables the
`HttpHiddenMethodFilter` in Spring WebFlux.

Closes gh-14520
6 years ago
artsiom 8f3b58fa98 Replace ReflectionTestUtils usage by hasFieldOrPropertyWithValue
Closes gh-14783
6 years ago
Stephane Nicoll d37df3d718 Add support for customizing Flyway's configuration
Closes gh-14786
6 years ago
Stephane Nicoll e789bc0bb7 Use FluentConfiguration to configure Flyway
This commit stops binding the Flyway object directly to the environment
as mutating it will no longer be supported in Flyway 6.

This commit mirrors Flyway's configuration in FlywayProperties for the
most part.

Closes gh-14776
6 years ago
Andy Wilkinson 459d2943e7 Polish 6 years ago
Andy Wilkinson 85a4fb389d Merge branch '2.0.x' 6 years ago
Andy Wilkinson a296a805c5 Tolerate different quoting of annotation attributes on Java 8 and 9+
Closes gh-13594
6 years ago
Stephane Nicoll 3f4fbe32ff Merge branch '2.0.x' 6 years ago
Stephane Nicoll 81377e2fd5 Invoke Flyway#setCallbacks only if necessary
Closes gh-14775
6 years ago
Phillip Webb 85f86243c9 Order class filter checks and exit early
Update the logic in `OnClassCondition` so that filtering exits on the
first missing class. Also refactor the implementation to save
unnecessary `Set` creation when there is just a single class to check.

The `AutoConfigureAnnotationProcessor` has also been updated to order
classes so that any starting `org.springframework` are considered last.
The assumption being that other classes are more likely to be missing.

Closes gh-12131
6 years ago
Phillip Webb b1d4cf4ea8 Fix Neo4J Tests
Update Neo4J tests following SPR-17333 which has broken our previous
method of simulating Embedded Neo4J.

Closes gh-14779
6 years ago
Phillip Webb 33c2d24560 Support ConfigurationProperties BindHandler advise
Allow custom `BinderHandler` advise to be applied to the `Binder` used
for `@ConfigurationProperties`.  This mechanism has been added to allow
Spring Cloud Stream to manipulate `Bindable` instances before binding
occurs.

NOTE: This commit introduces a breaking change to the `BindHandler`
interface since the `onStart` method now returns a `Bindable` rather
than a `boolean`.

Closes gh-14745
6 years ago
Phillip Webb 94798062ab Configure Cassandra JMX Reporting
Allow Cassandra JMX reporting to be configured via a property, and
disable it by default since it won't work with Dropwizard metrics 4.

Also update some of our own tests to explicitly disable it.

Closes gh-14778
6 years ago
Stephane Nicoll 73ad17d2cb Use standard SpringBeanJobFactory to create Quartz Job instances
A recent update to SpringBeanJobFactory provides the same features as
our AutowireCapableBeanJobFactory override so this commit removes it in
favour of the standard factory.

Closes gh-14772
6 years ago
Stephane Nicoll c5122fb365 Merge branch '2.0.x' 6 years ago
Hanope 29b453d8b0 Fix typo
Closes gh-14770
6 years ago
Stephane Nicoll c91d9bfda8 Polish "Add encoding support for git and build properties"
Closes gh-10771
6 years ago
hengyunabc f7a4a56fba Add encoding support for git and build properties
See gh-10771
6 years ago
Andy Wilkinson 646c20ed6a Merge branch '2.0.x' 6 years ago
Andy Wilkinson f9b6c1ab4d Include more information in NoSuchBeanDefinition failure analysis
Closes gh-13594
6 years ago
Madhura Bhave b18751ebd9 Provide loggingCodecCustomizer only if property is set
Fixes gh-14723
6 years ago
Andy Wilkinson 37c60b6603 Merge branch '2.0.x' 6 years ago
Andy Wilkinson 3f7a01fd27 Use ApplicationContextRunner in SpringDataWebAutoConfigurationTests
See gh-14413
6 years ago
Andy Wilkinson fa47073d11 Merge branch '2.0.x' 6 years ago
Andy Wilkinson c6fdb4f0f2 Improve documentation of Quartz DataSource customization
Closes gh-12780
6 years ago
Andy Wilkinson f2446f78df Align Session Redis tests with changes in latest Apple snapshots
See gh-14732
6 years ago
Stephane Nicoll a22d089cdc Use a dedicated hook point to customize InfluxDB's HTTP client
This commit introduces a dedicated hook point for InfluxDB's http client
builder and retains backward compatibility, in a deprecated fashion, for
looking up a OkHttpClient.Builder bean.

Closes gh-14709
6 years ago
Stephane Nicoll 7da3396555 Merge branch '2.0.x' 6 years ago
dreis2211 55ec016bac Remove unused fields in tests
Closes gh-14707
6 years ago
Phillip Webb 01b8667dd7 Update copyright year for changed files 6 years ago
Phillip Webb 6aedb69443 Update copyright year for changed files 6 years ago
Andy Wilkinson 4d1fc196de Use Windows-specific custom features so download URI is correct
Closes gh-14690
6 years ago
Andy Wilkinson 9bc6dbd8d8 Merge branch '2.0.x' 6 years ago
Andy Wilkinson ad647ba073 Make JSON-B auto-config back of if no JSON-P implementation is available
Closes gh-14675
6 years ago
Andy Wilkinson 8a7d127600 Merge branch '2.0.x' 6 years ago
Andy Wilkinson 7490d8b99d Make JSON-B auto-config back off when no implementation is available
Previously, the JSON-B auto-configuration would be enabled when the JSON-B API was
on the classpath. This led to a failure if there was no implementation available.

The JSON-B API loads an implementation using the service loader. This commit updates
the auto-configuration to be conditional on the presence of a
META-INF/services/javax.json.bind.spi.JsonbProvider file on the classpath.

Closes gh-14675
6 years ago
Phillip Webb 11ac9bf6b5 Polish "Add ReloadableResourceBundleMessageSource support"
See gh-13377
6 years ago
Rui Figueira 22abe35f95 Add ReloadableResourceBundleMessageSource support
Add a `spring.messages.reloadable` configuration property which can be
used to auto-configure a `ReloadableResourceBundleMessageSource` rather
than a `ResourceBundleMessageSource`.

Closes gh-13377
6 years ago
Phillip Webb 8b59503291 Validate server.servlet.path does not contain '*'
Update `WebMvcProperties` to enforce that `server.servlet.path` never
contains a wildcard ['*'] character.

Closes gh-13292
6 years ago
Madhura Bhave daa3d457b7 Revert OAuth2 Client Registration Grant Type Hierarchy
Closes gh-14554
6 years ago
Stephane Nicoll 7e3bee35d7 Merge branch '2.0.x' 6 years ago
Stephane Nicoll 6cc272ecf5 Polish "Make sure cache busting works with error pages"
Closes gh-14583
6 years ago
artsiom 64f04fceea Make sure cache busting works with error pages
See gh-14583
6 years ago
Stephane Nicoll 5d0e812afe Merge branch '2.0.x' 6 years ago
Stephane Nicoll 1b10d3fcbf Fix missing metadata for nested POJO
This commit fixes missing descriptions and default values when
applicable for `management.server.ssl`, `server.compression`,
`server.http2`, `server.servlet.jsp`, `server.servlet.session` and
`server.ssl`.

Those nested namespace are managed by a POJO that is declared outside
of the module of the target @ConfigurationProperties type using it. As
a result, the annotation processor has no access to the source model and
can't extract the description and the default value, if any.

This commit migrates the misleading field-level Javadoc to manual meta
data for the time being.

Closes gh-14669
6 years ago
Stephane Nicoll d445ed7560 Merge branch '2.0.x' 6 years ago
Roland Weisleder d2a063b26a Clarify Javadoc of ConditionalOn annotations
Closes gh-14681
6 years ago
Andy Wilkinson b4638b82d0 Prevent ApplicationListener that depends on EMF from creating a cycle
Previously, when an EntityManagerFactory was being initialized
synchronously, the DataSourceSchemaCreatedEvent would be published
during its initialization. This meant that an application listener that
depends on the EntityManagerFactory would create a dependency cycle if
it was a potential recipient of the event.

For the synchronous case, this commit moves the publication of the
event so that it occurs after the initialisation of the entity manager
factory. This allows an application listener that is a potential
recipient of the DataSourceSchemaCreatedEvent to depend on the
EntityManagerFactory without creating a cycle.

Closes gh-14651
6 years ago
Andy Wilkinson 7cbee701cd Allow user-provided ExecuteListenerProvider to go after Boot's
Closes gh-14598
6 years ago
Johnny Lim 335775892b Polish
See gh-14667
6 years ago
Phillip Webb d76bba5e6f Migrate from ExpectedException rule to AssertJ
Replace ExpectedException JUnit rules with AssertJ exception
assertions.

Closes gh-14336
6 years ago
Stephane Nicoll aaecdfb527 Deprecate Cassandra properties that require a default constructor
Closes gh-14473
6 years ago
Stephane Nicoll 068040e227 Register SpringBeanContainer with default Hibernate setup
Closes gh-13717
6 years ago
Phillip Webb 2add65fe15 Polish Neo4J BookmarkManager auto-configuration
Closes gh-14568
6 years ago
Michael J. Simons b7847d98a7 Auto-configure Neo4J BookmarkManager when possible
Add `Neo4jBookmarkManagementConfiguration` which provides an instance
of `BookmarkManager` if necessary and Caffeine cache is on the
classpath. Depending on the kind of application, the `BookmarkManager`
will be request scoped or singleton, as recommended by Spring Data
Neo4j.

See gh-14568
6 years ago
Johnny Lim b079eeff1a Polish
Closes gh-14621
6 years ago
Stephane Nicoll 2d36a6f952 Merge branch '2.0.x' 6 years ago
Johnny Lim 1eca492c5e Polish
See gh-14621
6 years ago
Johnny Lim 698bbd6a9e Polish
Closes gh-14597
6 years ago
Andy Wilkinson f88ebf75cd Use Mongo 3.5.5 by default with Embedded mongo
Closes gh-14476
6 years ago
Andy Wilkinson 1a8f519922 Raise the default version of Mongo to 3.6.5 when using Embedded Mongo
While MongoDB 3.6.7 has been released, 3.6.5 is the latest version that's supported
by the version of Embedded Mongo that we're currently using.

Closes gh-14476
6 years ago
Phillip Webb a04e913c22 Make ResourceHandlerRegistrationCustomizer public
Make `ResourceHandlerRegistrationCustomizer` a public top level class.

Closes gh-14587
6 years ago
Phillip Webb ff98ba0fa5 Allow early OnWebApplication filtering
Update `OnWebApplicationCondition` to be an
`AutoConfigurationImportFilter` and filter out classes early.

Closes gh-13328
6 years ago
Phillip Webb c2f8398c06 Allow early OnBeanCondition filtering
Update `OnBeanCondition` to be an `AutoConfigurationImportFilter` and
filter out classes early.

See gh-13328
6 years ago
Phillip Webb e4f54a45be Add AutoConfigurationImportFilter base classes
Add `FilteringSpringBootCondition` base class and refactor the existing
`OnClassCondition` to use it. Also update the `match` method so that
the `autoConfigurationClasses` array may include `null` elements.

See gh-13328
6 years ago
Stephane Nicoll 831b0d7bdd Merge branch '2.0.x' 6 years ago
Stephane Nicoll 885948ce3b Polish 6 years ago
Stephane Nicoll 92afd041b0 Merge branch '2.0.x' 6 years ago
artsiom 7fb13d0dc2 Fix WebSocket web server customizer bean names
Closes gh-14582
6 years ago
Andy Wilkinson 8e9a93e5f3 Align SessionAutoConfigurationRedisTests with changes in Bean-RC1
See gh-14573
6 years ago
Andy Wilkinson 5d0a1ee0da Upgrade to Spring AMQP 2.1.0.RC1
Closes gh-14574
6 years ago
Stephane Nicoll 9d46fee6db Merge branch '2.0.x' 6 years ago
Gary Russell 26c1e389df Polish RabbitMQ properties doc
Fix description for `prefetch`; remove reference to transactions since
the direct container does not support transactionSize.

Also fix `transactionSize` to just reference acks; autoConfiguration
doesn't support enabling transactions.

Closes gh-14569
6 years ago
Stephane Nicoll cbae22f0c9 Polish "Migrate size properties to DataSize"
Closes gh-14549
6 years ago
qct eb9f635004 Migrate size properties to DataSize
See gh-14549
6 years ago
Andy Wilkinson 4b00dc8a5c Add support for Spring Data JDBC (auto-config, starter, and test slice)
Closes gh-14489
6 years ago
Andy Wilkinson 426ff3ada7 Store ObjectProvider rather than their Streams to allow reuse
Generally speaking, methods on configuration classes will only be called once
and, therefore, it should be safe to hold a reference to a Stream for later
one-time usage. However, there are some scenarios in Spring Fu where functional
registration results in an attempt being made to use a Stream more than use.

This commit protects against multiple use by storing the ObjectProvider and
getting a new ordered Stream each time it's needed.

Closes gh-14467
6 years ago
Andy Wilkinson cc6cf880cf Stop using ObjectProvider<List> and ObjectProvider<Collection>
Closes gh-14467
6 years ago
Stephane Nicoll 8652f40781 Allow Quartz property to set the scheduler name
This commit makes sure that "org.quartz.scheduler.instanceName" is
honoured if set. Previously, "spring.quartz.scheduler-name" had a
default value and was always set. As a result, `SchedulerFactoryBean`
did not take the quartz property into account.

Closes gh-14243
6 years ago
Johnny Lim 521f746151 Polish
Closes gh-14517
6 years ago
Andy Wilkinson efae363974 Register functional rather than reflective bean definitions where possible
Closes gh-14516
6 years ago
yongsungjeon 11864f2bb6 Use constant for produces attribute
Closes gh-14501
6 years ago
Johnny Lim d0a252181b Polish
Closes gh-14449
6 years ago
Andy Wilkinson c1b864c826 Polish 6 years ago
Madhura Bhave 9201e23f67 Revert "Raised the default version of Mongo to 3.6.5 when using Embedded Mongo."
This reverts commit 1a4ad96dd0. Reverting
to see if this fixes CI timeouts.
6 years ago
Madhura Bhave b2dd162572 Merge branch '2.0.x' 6 years ago
Madhura Bhave d7d5cbf959 Simplify printing ConditionEvaluationReport when using context runner
Closes gh-13119
6 years ago
Andy Wilkinson e1328f05e7 Merge branch '2.0.x' 6 years ago
Andy Wilkinson fc60d9f6d4 Merge branch '1.5.x' into 2.0.x 6 years ago
Gary Russell 19cea75e74 Start building against Spring Kafka 2.2.0 snapshots
See gh-14491
Closes gh-14420
6 years ago
Andy Wilkinson 1a4ad96dd0 Raised the default version of Mongo to 3.6.5 when using Embedded Mongo.
While MongoDB 3.6.7 has been released, 3.6.5 is the latest version that's supported
by the version of Embedded Mongo that we're currently using.

Closes gh-14476
6 years ago
Andy Wilkinson a1d1a7392f Polish "Use ExecutorProvider bean if available when auto-configuring jOOQ"
Closes gh-14471
6 years ago
davinkevin 620419f9e4 Use ExecutorProvider bean if available when auto-configuring jOOQ
See gh-14471
6 years ago
Phillip Webb 5cc1a830b2 Fixup abstract configuration following SPR-16839
Spring Framework now requires that all nested configuration classes
are contained within a `@Component` class (see SPR-16839). This means
that our abstract `JpaBaseConfiguration` class should have a
`@Configuration` annotation.

Closes gh-14480
6 years ago
Madhura Bhave 01e61d88e7 Merge branch '2.0.x' 6 years ago
Madhura Bhave 5708792d82 Merge branch '1.5.x' into 2.0.x 6 years ago
Madhura Bhave d9efca146e Merge branch '2.0.x' 6 years ago
Madhura Bhave 09ccf875b7 Merge branch '1.5.x' into 2.0.x 6 years ago
Madhura Bhave 1113c356dc ReactiveOAuth2ClientAutoConfiguration backs off for servlet env
Fixes gh-14463
6 years ago
Phillip Webb 84b6fff8c0 Update copyright year for changed files 6 years ago
Phillip Webb 424dfc398b Move 'insights.web' properties to 'spring.http'
Relocate the 'spring.insights.web.log-request-details' property to
'spring.http.log-request-details'.

Closes gh-14313
6 years ago
Andy Wilkinson 79e3deec0e Merge branch '2.0.x' 6 years ago
Andy Wilkinson 2e86a6f479 Merge branch '1.5.x' into 2.0.x 6 years ago
Madhura Bhave 968a637e50 Refactor ReactiveOAuth2ClientAutoConfiguration for non webapps
Non web applications might want to leverage
`ReactiveClientRegistrationRepository` and
`ServerOAuth2AuthorizedClientRepository` to configure `WebClient`.

Closes gh-14350
6 years ago
Sebastien Deleuze 48367e7741 Make standard JSON builder customiser classes package-private
Closes gh-14399
6 years ago
Madhura Bhave d3ecd02987 Merge branch '2.0.x' 6 years ago
Madhura Bhave e41394233b Harmonize ReactiveSecurityAutoConfiguration
Fixes gh-14263
6 years ago
Stephane Nicoll 24051b42d0 Polish "Add support for configuring missingQueuesFatal property"
See gh-14252
6 years ago
Stephane Nicoll c1322a543c Polish "Add support for configuring missingQueuesFatal property"
Closes gh-14252
6 years ago
Dmytro Nosan 91e731a4b4 Add support for configuring missingQueuesFatal property
See gh-14252
6 years ago
Andy Wilkinson 4ae057694f Merge branch '2.0.x' 6 years ago
Andy Wilkinson aa45f3c702 Merge branch '1.5.x' into 2.0.x 6 years ago
Stephane Nicoll 4d031999ce Polish "Fix use of deprecated Mongo API"
Closes gh-14318
6 years ago
Mark Paluch b97892ff88 Fix use of deprecated Mongo API
We now use com.mongodb.MongoClientSettings to configure the reactive
MongoDB driver. This is a breaking change as
MongoClientSettingsBuilderCustomizer and user-provided
MongoClientSettings beans referenced the package the settings type
from com.mongodb.async.client.

MongoClient.getSettings() is deprecated and still in use within tests
until a replacement is available.

See gh-14318
6 years ago
Phillip Webb 8c34e053f5 Update copyright header of changed files 6 years ago
Phillip Webb c3de4c84f2 Polish 6 years ago
Stephane Nicoll 304c6a02ba Polish "Make it possible to disable the BackgroundPreinitializer"
Closes gh-14298
6 years ago
artsiom 5779767513 Make it possible to disable the BackgroundPreinitializer
See gh-14298
6 years ago
Johnny Lim 49c760d275 Update @since tag
This commit updates @since tag in CloudServiceConnectorsAutoConfiguration
as it has been renamed in cfd0ab7646.

Closes gh-14297
6 years ago
Phillip Webb 9d1b3a2b49 Merge branch '2.0.x' 6 years ago
Phillip Webb cafff43022 Update copyright header of changed files 6 years ago
Phillip Webb 9af6b3422f Polish 6 years ago
Madhura Bhave 75937f5b5c Make jmsListenerContainerFactory @ConditionalOnSingleCandidate
Closes gh-12700
6 years ago
Phillip Webb 59b5c54489 Upgrade to Rabbit AMQP Client to 5.4.0
Closes gh-14303
6 years ago
Phillip Webb 0cd64ea690 Merge branch '2.0.x' 6 years ago
Phillip Webb 45613f8c3c Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson 8ee4775820 Polish 6 years ago
Brian Clozel 2af8a9617b Revert temporary workaround for reactor resources
This switches back the Reactor resources on global by default.

See gh-14058
See SPR-17199
6 years ago
Stephane Nicoll c0e45b7333 Adapt to Spring Framework API change 6 years ago
Stephane Nicoll 8771b34c15 Polish "Align max HTTP header size configuration"
Closes gh-14234
6 years ago
qct dbbb378650 Align max HTTP header size configuration
See gh-14234
6 years ago
Johnny Lim 5427d778fe Polish
Closes gh-14293
6 years ago
Stephane Nicoll 3d732e86f4 Merge branch '2.0.x' 6 years ago
Johnny Lim ca57e58ee5 Polish
See gh-14293
6 years ago
Stephane Nicoll 960acb0cbf Merge branch '2.0.x' 6 years ago
Stephane Nicoll 42bf594d96 Polish condition name
See gh-14285
6 years ago
Stephane Nicoll 5a1aefc76f Merge branch '2.0.x' 6 years ago
Stephane Nicoll ddeae9b58e Polish "Fix WSDL locations condition to work with a list"
Closes gh-14285
6 years ago
Eneias Cordeiro da Silva 80358f7fbf Fix WSDL locations condition to work with a list
See gh-14285
6 years ago
Johnny Lim d510bc71b1 Polish
Closes gh-14271
6 years ago
Stephane Nicoll 7dff13b632 Merge branch '2.0.x' 6 years ago
Stephane Nicoll 8950c3ebb4 Polish
See gh-14271
6 years ago
Stephane Nicoll 8b753297c3 Merge branch '2.0.x' 6 years ago
Stephane Nicoll ea2fb620b4 Clarify structure of prefixes
Closes gh-14258
6 years ago
Stephane Nicoll 374cf2c781 Merge branch '2.0.x' 6 years ago
Stephane Nicoll 6d637bc53b Add missing condition
Closes gh-14264
6 years ago
Phillip Webb 174f53e1cf Merge branch '2.0.x' 6 years ago
Phillip Webb 2e2f91d4a0 Merge branch '1.5.x' into 2.0.x 6 years ago
Stephane Nicoll cfd0ab7646 Remove `spring.cloud.enabled` property
This commit removes an undocumented property and rename the Spring
Cloud Service Connectors auto-configuration.

Closes gh-14219
6 years ago
Madhura Bhave a33e58fc45 Deprecate OAuth2 login redirect-uri-template
This property is deprecated in favor of
`spring.security.oauth2.client.registration.login.*.redirect-uri

Closes gh-14226
6 years ago
Madhura Bhave a54898b8f5 Remove explicit call to `authorizationCodeGrant`
See gh-13812
6 years ago
Madhura Bhave f5deebf0cb Support authorization_code grant for OAuth2 client
This commit also refactors OAuth2 client properties. With
the added support for authorization_code clients, client
registrations are now divided into `login` and `authorization_code`.
An environment post processor is used for backward compatibility with
old Open ID Connect login clients.

Closes gh-13812
6 years ago
Stephane Nicoll b7ae55866e Polish "Improve Kafka Auto-configuration"
Closes gh-14215
6 years ago
Gary Russell 59c6dc5c7a Improve Kafka Auto-configuration
- transaction manager
- error handler
- after rollback processor

See gh-14215
6 years ago
Stephane Nicoll 56329e67d7 Polish "Add support for com.mongodb.client.MongoClient"
Closes gh-14176
6 years ago
Christoph Strobl d549e6001a Add support for com.mongodb.client.MongoClient
Next to com.mongodb.MongoClient the MongoDB Java driver offers the
com.mongodb.client.MongoClient as entry point for database and
collection operations. Spring Data MongoDB supports
c.m.client.MongoClient via its MongoDbFactory using
SimpleMongoClientDbFactory.

The MongoAutoConfiguration now backs off if any of those two clients is
already defined in the Application context allowing
MongoDataAutoConfiguration to pick up the users driver implementation of
choice.

See gh-14176
6 years ago
Madhura Bhave 35d7bb7f34 Polish "issuer uri in reactive resource-server config"
Closes gh-14199
6 years ago
artsiom 04b7c4c6d9 Support issuer uri in reactive OAuth2 resource-server config 6 years ago
Dave Syer c7b7a1402a Make some nested private classes package private
Closes gh-13795
6 years ago
Stephane Nicoll d9c0dbb99d Polish "Polish some Collectors"
Closes gh-13727
6 years ago
dreis2211 422a436df1 Polish some Collectors
See gh-13727
6 years ago
Johnny Lim cf17106d8d Polish
Closes gh-14212
6 years ago
Johnny Lim fe3fe0fa63 Polish
Closes gh-14202
6 years ago
Madhura Bhave cf31325e5d Polish "OIDC issuer uri in OAuth resource server config"
Closes gh-14190
6 years ago
artsiom 0c299bbc1f Support OIDC issuer uri in OAuth resource server config 6 years ago
mhyeon.lee c827530f4b Add user-info-authentication-method
Closes gh-13865
6 years ago
Madhura Bhave d07e2fa0b2 Polish "OAuth2 client secret should not be required"
Closes gh-14156
6 years ago
artsiom 6be4307712 OAuth2 client secret property should not be required 6 years ago
Madhura Bhave caf7221485 Update OAuth2 config following changes in Spring Security DSL
Closes gh-14169
6 years ago
Stephane Nicoll 833e39eeb6 Let Hibernate configure the transaction manager on WebSphere
Closes gh-8926
6 years ago
Madhura Bhave fc4340c5d4 Rename OAuth2 resource server properties
Closes gh-14165
6 years ago
Stephane Nicoll 26353a8f35 Port test to use ehcache3
Hibernate 5.3 has deprecated the ehcache2 region factory so this commit
upgrades the integration test to use JCache instead.
6 years ago
Brian Clozel 0881b7c390 Revert "Consider only current context in WebFlux setup"
This reverts commit da4624a882.
6 years ago
Stephane Nicoll 03d6cd9f0b Merge branch '2.0.x' 6 years ago
Stephane Nicoll be00c1db63 Fix dependency between cache and hibernate
This commit fixes the ordering between `CacheAutoConfiguration` and
`HibernateJpaAutoConfiguration` so that the auto-configured
`CacheManager` is configured before Hibernate starts.

Closes gh-14181
6 years ago
Brian Clozel da4624a882 Consider only current context in WebFlux setup
This commit introduces a subclass of `DispatcherHandler` that only
considers the current context when looking for WebFlux infrastructure
beans.

This avoids issues where a child context (e.g. with Actuator) picks up
infrastructure beans from the parent context and exposes all endpoints
instead of getting only the ones from the current context.

Closes gh-14012
6 years ago
Stephane Nicoll 1b7f713487 Merge branch '2.0.x' 6 years ago
Stephane Nicoll 5e7be50265 Restore trace request param behaviour with error controller
This commits restores the behaviour of Spring Boot 1.x with regards to
the "trace" request param used to add the stacktrace to the model.

This was inadvertently changed so that the stacktrace would be added
if the parameter wasn't set.

Closes gh-14171
6 years ago
Brian Clozel 53f3982748 Support Jetty RS as HTTP driver for WebClient
This commit adds a new auto-configuration choice for
`ClientHttpConnector`, this time using the Jetty RS HTTP client library
if available.

This is the best choice in case the application runs on a Jetty reactive
server, as both client and server will share resources.

Closes gh-14005
6 years ago
Stephane Nicoll 1bbe3afdec Merge branch '2.0.x' 6 years ago
Stephane Nicoll 9938d1f4b6 Order IntegrationAutoConfiguration properly
This commit makes sure that the auto-configuration for Spring
Integration runs after the datasource has been auto-configured if
necessary as there is an optional part that can initialize the jdbc
schema.

Closes gh-14175
6 years ago
Brian Clozel e2a7594246 Configure Reactor HTTP client resources
This commit adds support for the new `ReactorResourceFactory` and
ensures that such a bean is created and destroyed with the application
context. This will create a `ClientHttpConnector` bean, to be configured
on the `WebClient.Builder` instance - or let developers create their own
`ClientHttpConnector` bean to override that opinion.

By default, the `ReactorResourceFactory` is configured to participate
with the global resources, for better efficiency.

Closes gh-14058
6 years ago
Stephane Nicoll 6d4bab911c Polish "Add Kafka Streams auto-configuration"
Closes gh-14021
6 years ago
Gary Russell a7acbbd625 Add Kafka Streams auto-configuration
See gh-14021
6 years ago
Stephane Nicoll 597fe237b5 Polish "Add PropertyMapper.from(value)"
Closes gh-13837
6 years ago
Dmytro Nosan 1bd52bc432 Add PropertyMapper.from(value)
See gh-13837
6 years ago
Johnny Lim c95b339f02 Polish
Closes gh-14149
6 years ago
Madhura Bhave 84901fa58e OnClassCondition report should only include relevant condition
Closes gh-11086
6 years ago
Stephane Nicoll d9a42a5165 Merge branch '2.0.x' 6 years ago
Stephane Nicoll e03f01564a Deprecate EntityManagerFactoryBeanCallback
Closes gh-14083
6 years ago
Madhura Bhave f6f9f27189 Merge branch '2.0.x' 6 years ago
Madhura Bhave f7135ff18f Use ResolverStyle.SMART when a custom format is specified
Fixes gh-13970
6 years ago
artsiom 1c224e5fbb Add WebFluxRegistrations for custom WebFlux beans
This commit adds a new `WebFluxRegistrations` interface that
allows developers to register custom instances of key WebFlux
infrastructure components, such as `RequestMappingHandlerMapping`
and `RequestMappingHandlerAdapter`.

Closes gh-13997
6 years ago
Stephane Nicoll ba2f2a3727 Polish jaxb setup for JDK 9 and further 6 years ago
Brian Clozel 6ecbd8d21b Auto-Configure FormContentFilter in Spring MVC
Because `HttpPutFormContentFilter` has been deprecated in Spring
Framework 5.1, this commit updates the auto-configuration to replace it
with the new `FormContentFilter`. This new filter is building on the
previous one and supports HTTP DELETE requests as well.

Both filters should not be used in addition, so the former
configuration has been removed. This commit also adds configuration
metadata to let developers know about the configuration key change.

Closes: gh-13363
6 years ago
Stephane Nicoll d1ac774af2 Configure build to be compatible with Java 11
See gh-14028
6 years ago
Stephane Nicoll 930c838da9 Remove Narayana support
The Spring Boot integration is now handled by the Narayana project
itself at https://github.com/snowdrop/narayana-spring-boot

This commit removes our support.

Closes gh-12026
6 years ago
Brian Clozel 5e836b1231 Merge branch '2.0.x' 6 years ago
artsiom 51fd27fad4 Configure HiddenHttpMethodFilter for Spring WebFlux
Closes gh-14008
6 years ago
Stephane Nicoll 82e3a6a1a4 Polish 6 years ago
Brian Clozel 8c1df92566 Align with DispatcherServlet changes
The `shouldHandleFailure` configuration option has been removed from
`DispatcherServlet`.

See gh-13511
6 years ago
artsiom d22c3e2787 Add property to disable HiddenHttpMethodFilter
Closes gh-14030
6 years ago
Madhura Bhave d724f154f4 Merge branch '2.0.x' 6 years ago
Madhura Bhave b93c2b9a9f Allow actuator endpoints to be used with mvcMatchers
This commit changes AbstractWebMvcEndpointHandlerMapping to
be a MatchableHandlerMapping. Additionally, EndpointRequest,
now delegates to MvcRequestMatcher for Spring MVC applications.

For all other applications, AntPathRequestMatcher is used as
a delegate.

Closes gh-13962
6 years ago
Andy Wilkinson 90608fa40e Align test with changes made in ab1f5931
See gh-13511
6 years ago
Andy Wilkinson 30ee481c98 Do not block in DSInitializedPublisher when EMF is using async bootstrap
Previously, we would retrieve the EntityManagerFactory’s DataSource as
soon as it was being post-processed. When the native
EntityManagerFactory is being bootstrapped asynchronously, this
retrieval would block until bootstrapping had completed. This negated
some of the benefits of asynchronous bootstrapping.

This commit updates DataSourceInitializedPublisher so that it only
accesses the EntityManagerFactory’s DataSource once its bootstrapping
has completed. This is achieved using a decorated JpaVendorAdapter
that is called one the boostrapping has completed.

Closes gh-14061
6 years ago
Andy Wilkinson f28528a527 Allow Data JPA's bootstrap mode to be configured via the environment
In Spring Data Lovelace, repositories' bootstrap mode can be
configured via @EnableJpaRepositories. This commit adds support for
configuring the mode via the environment rather than having to use
the annotation. Additionally, when deferred or lazy bootstrapping is
being used, the LocalContainerEntityManagerFactoryBean is configured
to use a bootstrap executor. This allows JPA's initialization to be
performed on a separate thread, allowing the rest of application
context initialization to proceed in parallel.

Closes gh-13833
6 years ago
Brian Clozel ab1f5931a0 Disable DispatcherServlet shouldHandleFailure
This change broke a Spring Security sample, reverting it.

See gh-13511
6 years ago
Brian Clozel f2511b7fa3 Improve Web DEBUG logging output configuration
Since SPR-16946, Spring Framework revisited the DEBUG logging output
developers get while working on Spring MVC and Spring WebFlux
applications.

This commit aligns to those changes where DEBUG output was produced
in Spring Boot (especially in `DefaultErrorWebExceptionHandler`).

This also enables DEBUG logging on the related packages when running an
application with Spring Boot Developer Tools, providing a better
development experience.

This is also adding the new `spring.insights.web.log-request-details`
configuration property, which logs additional information about the
incoming requests at the DEBUG and TRACE levels. Since that information
can be sensitive (e.g. credentials, tokens, etc.), this property is not
enabled by default nor activated by the Developer Tools.

Closes: gh-13511
6 years ago
Stephane Nicoll 8f2ab952f5 Polish javadoc formatting 6 years ago
Stephane Nicoll de470540ea Add auto-configuration support for TaskScheduler
This commit adds support for providing a default ThreadPoolTaskScheduler
with sensible defaults. A new TaskSchedulerBuilder is provided with
defaults from the `spring.task.scheduler.*` namespace and can be used
to create custom instances.

If no custom `TaskScheduler` bean is present, `@EnableScheduling` now
uses the auto-configured task scheduler.

Closes gh-1397
6 years ago
Stephane Nicoll dcd80c087e Harmonize task execution naming 6 years ago
Stephane Nicoll 91e3856947 Polish 6 years ago
Madhura Bhave 64f9d33956 Merge branch '2.0.x' 6 years ago
Johnny Lim 5f3f1a1f11 Polish
Closes gh-14067
6 years ago
Johnny Lim d5eaaf6e2a Polish
Closes gh-14049
6 years ago
Madhura Bhave baaf8c95ff Polish "Update OIDC configuration"
Closes gh-14065
6 years ago
Josh Cummings e34723efd2 Update OIDC config following Spring Security changes
The location changed for the class that provides a ClientRegistration
via an issuer URL, and this updates Spring Boot accordingly.
6 years ago
Andy Wilkinson 04215e6651 Polish 6 years ago
Stephane Nicoll e7b5d95681 Adapt ServerProperties with a default size to DataSize
See gh-13974
6 years ago
Stephane Nicoll 6734e11222 Adapt MultipartConfig to use DataSize support
See gh-13974
6 years ago
Andy Wilkinson 76d9b1cdbd Merge branch '2.0.x' 6 years ago
Nikolay Rybak 7759dcd9df Propagate retryWrites flag from connection URI to ReactiveMongoClient
Closes gh-14032
6 years ago
dreis2211 c9bdc98935 Add missing @Override
Closes gh-14043
6 years ago
Johnny Lim b90113ac33 Align server.tomcat.max-swallow-size with Tomcat's default value
Closes gh-14025
6 years ago
Johnny Lim 101cc59b7d Polish
Closes gh-14023
6 years ago
Stephane Nicoll a96856c99a Merge branch '2.0.x' 6 years ago
dreis2211 72707b9d58 Polish OnWebApplicationCondition
Closes gh-14015
6 years ago
Madhura Bhave bc6e4e6e55 Add auto-config for reactive OAuth2 Resource Server
Closes gh-13948
6 years ago
Madhura Bhave 319fec4be4 Polish 6 years ago
Stephane Nicoll 5cfe8dbee9 Polish 6 years ago
Stephane Nicoll 60d8c7979f Polish 6 years ago
Madhura Bhave 5bf9d31d91 Fix checkstyle 6 years ago
Madhura Bhave d6b6a5f81f Add auto-config for spring-security-oauth2-resource-server
Closes gh-13787
6 years ago
Stephane Nicoll e6b44189e0 Polish "Add global support for JMX unique names"
This commit ensures that the new "spring.jmx.unique-names" property
deprecates the Endpoint's specific property as they share the same goal.

If both are set with an incompatible value, an exception is thrown
inviting the user to update their configuration.

Closes gh-13990
6 years ago
artsiom 1a3f08d772 Add global support for JMX unique names
See gh-13990
6 years ago
Stephane Nicoll c071f34a4a Add auto-configuration support for TaskExecutor
This commit adds support for providing a default ThreadPoolTaskExecutor
with sensible defaults. A new TaskExecutorBuilder is provided with
defaults from the `spring.task.*` namespace and can be used to create
custom instances.

If no custom `Executor` bean is present, `@EnableAsync` now uses the
auto-configure application task executor. Same goes for the async support
in Spring MVC.

Closes gh-1563
6 years ago
Stephane Nicoll 624c1306fd Merge branch '2.0.x' 6 years ago