Commit Graph

2634 Commits

Author SHA1 Message Date
Stephane Nicoll d2f256abe8 Polish "Add configuration for RabbitMQ requested channel max property"
See gh-19106
2019-11-27 10:36:56 +01:00
Franjo Zilic c043068578 Add configuration for RabbitMQ requested channel max property
See gh-19106
2019-11-27 10:01:03 +01:00
Stephane Nicoll a4ca1d02b3 Merge branch '2.1.x' into 2.2.x
Closes gh-19112
2019-11-25 13:59:45 +01:00
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
2019-11-25 13:52:27 +01:00
cbono 2210236f82 Use ssl.enabled flag when RabbitMQ address has no protocol
See gh-19109
2019-11-25 11:16:56 +01:00
thelproad 65ab82b3cd Remove redundant code
See gh-19000
2019-11-23 12:01:19 +01:00
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
2019-11-22 20:58:38 +01:00
Stephane Nicoll 58bfbb92b9 Merge branch '2.1.x' into 2.2.x
Closes gh-19091
2019-11-21 14:38:09 +01:00
Adam Michalik c154a014a1 Remove invalid example of spring.mvc.async.request-timout property
See gh-19057
2019-11-21 14:13:22 +01:00
Brian Clozel 9fe721d75c Temporarily ignore failing error web handler test
See gh-19083
2019-11-21 11:07:23 +01:00
Stephane Nicoll 08067fb816 Polish "Remove reference to ConfigurationPropertiesScan in javadoc"
See gh-18920
2019-11-08 11:10:14 +01:00
wonwoo 92b00255a1 Remove reference to ConfigurationPropertiesScan in javadoc
See gh-18920
2019-11-08 11:09:57 +01:00
Stephane Nicoll d331f28222 Merge branch '2.1.x'
Closes gh-18885
2019-11-05 14:17:35 +01:00
Stephane Nicoll 4d1373c94d Polish "Support amqps:// URIs in spring.rabbitmq.addresses"
See gh-18808
2019-11-05 14:07:24 +01:00
Mark Pollack 0fedb24c6f Support amqps:// URIs in spring.rabbitmq.addresses
See gh-18808

Co-Authored-By: Bryan Kelly <xyloman@gmail.com>
2019-11-05 14:07:24 +01:00
Andy Wilkinson 49566edf6c Reduce visibility of test methods 2019-11-05 12:29:38 +00:00
Andy Wilkinson 63dd159935 Merge branch '2.1.x'
Closes gh-18878
2019-11-05 09:58:04 +00:00
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
2019-11-05 09:53:36 +00:00
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
2019-11-04 15:19:06 +00:00
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
2019-11-04 14:09:33 +00:00
Johnny Lim 45d85778b8 Polish
See gh-18838
2019-11-01 09:01:24 +02:00
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
2019-10-31 20:01:43 +01:00
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
2019-10-30 15:47:02 +01:00
Stephane Nicoll 2ceffcee14 Start building against Spring Data Moore-SR1 snapshots
See gh-18744
2019-10-29 10:36:35 +01:00
Stephane Nicoll a315d4229d Start building against Spring Data Lovelace-SR12 snapshots
See gh-18743
2019-10-29 10:31:00 +01:00
dreis2211 9ece2e277f Remove redundant explicit types
See gh-18754
2019-10-27 08:33:01 +01:00
wonwoo 3369d80f3f Polish OnBeanCondition message
See gh-18727
2019-10-26 11:55:34 +02:00
Phillip Webb 597baf9774 Polish "Optimize logger calls"
See gh-18710
2019-10-23 21:00:05 -07:00
wycm 240b1f9e29 Optimize logger calls
Guard logger calls to ensure that they are only made when the
level is set.

See gh-18710
2019-10-23 20:59:11 -07:00
Johnny Lim 8c2d6b28f8 Polish
See gh-18697
2019-10-23 10:09:56 +02:00
dreis2211 8ecdf919f8 Fix Mockito deprecations
See gh-18689
2019-10-23 09:49:33 +02:00
Phillip Webb 511a2a073f Merge branch '2.1.x'
Closes gh-18695
2019-10-22 16:20:05 -07:00
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
2019-10-22 16:00:43 -07:00
Phillip Webb 714c9b9804 Polish 2019-10-22 13:12:09 -07:00
Stephane Nicoll dccb842286 Polish "Apply dependsOn semantic between Liquibase and JPA"
See gh-18673
2019-10-22 17:44:04 +02:00
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
2019-10-22 17:43:28 +02:00
Stephane Nicoll 4d5d90847e Merge branch '2.1.x'
Closes gh-18682
2019-10-22 09:41:04 +02:00
wycm 681a94b0d5 Optimize debug level logs
See gh-18604
2019-10-22 09:36:48 +02:00
Stephane Nicoll c05f88bf78 Polish "Add missing package-info files"
See gh-18632
2019-10-22 09:35:10 +02:00
Leo Li af114c93ee Add missing package-info files
See gh-18632
2019-10-22 09:30:04 +02:00
Alessandro Falappa f28af3db9f Narrow type for Tomcat 'locale' and 'encoding' properties
See gh-18637
2019-10-22 09:22:48 +02:00
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
2019-10-16 14:57:05 +02:00
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
2019-10-16 13:39:42 +01:00
Brian Clozel 7104b8385f Merge branch '2.1.x' 2019-10-16 14:37:26 +02:00
Brian Clozel 9c5ee1126f Polish
See gh-18473
2019-10-16 14:36:19 +02:00
Brian Clozel 7113d41a80 Merge branch '2.1.x'
Closes gh-18618
2019-10-16 14:09:46 +02:00
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
2019-10-16 13:48:48 +02:00
Andy Wilkinson 4b4b39853b Merge branch '2.1.x'
Closes gh-18608
2019-10-15 19:47:41 +01:00
Andy Wilkinson 00d4b44cbb Remove trailing commas from test SQL scripts
Closes gh-18607
2019-10-15 19:47:27 +01:00
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
2019-10-15 16:52:18 +01:00
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
2019-10-15 13:48:20 +01:00
Johnny Lim 701bd0dd46 Polish
See gh-18490
2019-10-02 22:15:05 -07:00
Phillip Webb 795303d667 Replace depends-on post processor configurations
Replace `AbstractDependsOnBeanFactoryPostProcessor` `@Configuration`
classes with simple `@Import` component classes.

Closes gh-18382
2019-10-02 21:41:31 -07:00
Madhura Bhave 40ac5b4ae2 Autoconfigure RSocket Security
Closes gh-18356
2019-10-02 13:54:07 -07:00
Madhura Bhave bc96e09965 Add additional test for reactive security auto-config 2019-10-02 13:46:50 -07:00
Madhura Bhave 22ed56ac52 Add auto-config for Spring Security's SAML support
Closes gh-18260

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
2019-10-02 11:23:21 -07:00
Phillip Webb 71f8347c81 Rename ServerRSocketFactoryCustomizer
Rename `ServerRSocketFactoryCustomizer` to
`ServerRSocketFactoryProcessor` to better reflect that it is not a
traditional customizer.

Closes gh-18390
2019-10-02 10:41:53 -07:00
Vedran Pavic 4808016560 Align with Spring Session MongoDB deprecations
See gh-18470
2019-10-01 21:32:45 +01:00
dreis2211 bafc10f2c4 Fix default values in metadata for HiddenHttpMethodFilter
See gh-18435
2019-09-29 16:18:41 +02:00
Phillip Webb 1f9c9fedb4 Merge branch '2.1.x'
Closes gh-18409
2019-09-28 22:31:17 -07:00
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
2019-09-28 22:04:30 -07:00
Phillip Webb 4b0fb8ff24 Polish 'Add @LocalRSocketServerPort support'
See gh-18287
2019-09-28 22:03:36 -07:00
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>
2019-09-28 22:03:36 -07:00
Tadaya Tsuyukubo bccdf04358 Use ordered TaskExecutorCustomizers
Use an ordered stream in `TaskExecutionAutoConfiguration` when
obtaining the TaskExecutor customizers.

See gh-18333
2019-09-28 18:44:57 -07:00
Madhura Bhave 39ed15728f Configure oauth2client in Reactive OAuth2 client auto-config
Closes gh-18385
2019-09-27 11:42:43 -07:00
Stephane Nicoll f78c9574d8 Start building against Spring Session Corn snapshots
See gh-18257
2019-09-27 16:20:50 +02:00
Phillip Webb d83238aaab Merge branch '2.1.x'
Closes gh-18369
2019-09-26 12:14:35 -07:00
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
2019-09-26 12:14:13 -07:00
dreis2211 4262aab446 Fix deprecation warnings caused by BodyInserters.fromObject
See gh-18349
2019-09-25 13:57:17 +01:00
Madhura Bhave 0a70e33009 Merge branch '2.1.x'
Closes gh-18345
2019-09-24 10:28:54 -07:00
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
2019-09-24 09:50:45 -07:00
Andy Wilkinson a354657ace Merge branch '2.1.x'
Closes gh-18343
2019-09-24 16:17:36 +01:00
Andy Wilkinson c613418451 Suppress body when handling a no content (204) "error"
Fixes gh-18136
2019-09-24 16:01:18 +01:00
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
2019-09-24 11:13:35 +01:00
Phillip Webb 5076d8562a Fix Artemis EmbeddedJMS initialization
Update `ArtemisConnectionFactoryFactory` to reference the new
embedded Artemis classes.

See gh-16646
2019-09-23 23:42:30 -07:00
Andy Wilkinson 42e0dc14b5 Migrate from deprecated Artemis EmbeddedJMS
Closes gh-16646
2019-09-23 18:27:32 +01:00
Andy Wilkinson b9cfbf7c8b Merge branch '2.1.x'
Closes gh-18323
2019-09-23 16:46:53 +01:00
Andy Wilkinson 9df356ec4c Fix destination checking in Artemis auto-configuration tests
Closes gh-18319
2019-09-23 16:45:36 +01:00
Andy Wilkinson 2de7b3af4a Merge branch '2.1.x' 2019-09-22 11:30:51 +01:00
Andy Wilkinson e5f26a4f1a Rename test resource to be Windows-friendly 2019-09-22 11:29:45 +01:00
Andy Wilkinson 30c05b2b49 Support X-Forwarded-Host header when auto-configuring RemoteIpValve
Closes gh-18233
2019-09-22 08:30:27 +01:00
Andy Wilkinson 4cc7fef728 Deprecate support for Spring Cloud Connectors in favor of Java CFEnv
Closes gh-17877
2019-09-21 20:23:56 +01:00
Andy Wilkinson ea6d9f3328 Merge branch '2.1.x'
Closes gh-18298
2019-09-21 13:42:54 +01:00
aohana 51a8c73b7b Test custom comment prefix with one that does not work by default
See gh-18285
2019-09-21 13:33:20 +01:00
Andy Wilkinson 8791b696f8 Add auto-configuration support for TransactionalOperator
Closes gh-18265
2019-09-20 17:37:41 +01:00
Andy Wilkinson 3b01bc0366 Switch TransactionAutoConfigurationTests to ApplicationContextRunner 2019-09-20 17:37:08 +01:00
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
2019-09-20 18:32:21 +02:00
Johnny Lim b70be97cbf Polish
See gh-18281
2019-09-19 09:03:38 +02:00
Andy Wilkinson 9377b9a9e4 Support -- and # by default as Quartz datasource init comment prefixes
Closes gh-17435
2019-09-18 20:38:16 +01:00
Andy Wilkinson 1b237de5f5 Use Awaitility in our own tests
Closes gh-18227
2019-09-13 20:50:14 +01:00
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
2019-09-13 10:26:59 +01:00
Stephane Nicoll 70f7e47002 Polish "Use Duration for ServerProperties.Jetty.idleTimeout"
See gh-18206
2019-09-12 15:13:31 +02:00
Johnny Lim 96019362f7 Use Duration for ServerProperties.Jetty.idleTimeout
See gh-18206
2019-09-12 14:59:54 +02:00
Johnny Lim 5b41c3b608 Polish
See gh-18192
2019-09-12 14:55:47 +02:00
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
2019-09-11 21:09:43 +02:00
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.
2019-09-06 17:55:06 +01:00
Andy Wilkinson 71d5d481ad Merge branch '2.1.x'
Closes gh-18165
2019-09-06 13:07:58 +01:00
Andy Wilkinson 19ccfaea86 Fix QuartzAutoConfiguration when Liquibase is not on the class path
Fixes gh-18153
2019-09-06 13:05:53 +01:00
Andy Wilkinson 1f875d552a Polish "Add a config property for JMS listener container's receive timeout"
See gh-17332
2019-09-05 21:42:13 +01:00
ibmmqmet 1cde657861 Add a config property for JMS listener container's receive timeout
See gh-17332
2019-09-05 21:30:53 +01:00
Andy Wilkinson 6328f2e8a8 Polish "Make logError() in AbstractErrorWebExceptionHandler overrideable"
See gh-17863
2019-09-05 21:18:21 +01:00
Peter Jurkovic 7ea612beaf Make logError() in AbstractErrorWebExceptionHandler overrideable
See gh-17863
2019-09-05 21:04:45 +01:00
Andy Wilkinson 13b45b42c7 Align with breaking API changes in latest Security snapshots
See gh-17897
2019-09-04 14:55:50 +01:00
Andy Wilkinson 29080b87ec Protect autoconfigure module against slow starting test containers 2019-09-04 10:15:10 +01:00
Phillip Webb c1a16f5f21 Merge branch '2.1.x'
Closes gh-18117
2019-09-03 16:56:34 -07:00
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
2019-09-03 16:51:06 -07:00
Andy Wilkinson 6daab5c8ef Merge branch '2.1.x'
Closes gh-18108
2019-09-03 13:33:12 +01:00
Johnny Lim 2eac53cc5d Fix typo in deprecation reason for liquibase.check-change-log-location
See gh-18100
2019-09-03 13:32:29 +01:00
Andy Wilkinson ee0f57bfc7 Merge branch '2.1.x'
Closes gh-18106
2019-09-03 12:57:37 +01:00
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
2019-09-03 12:45:17 +01:00
Andy Wilkinson 2dea534a0e Merge branch '2.1.x'
Closes gh-18103
2019-09-03 12:25:32 +01:00
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
2019-09-03 12:13:28 +01:00
dreis2211 07b857e57a Use disabledWithoutDocker option for @Testcontainers
See gh-18095
2019-09-03 09:51:53 +02:00
dreis2211 b4350a9d96 Remove unnecessary blank lines
See gh-18089
2019-09-03 08:48:10 +02:00
Andy Wilkinson 20b6656ba7 Protect autoconfigure module against slow starting test containers 2019-09-02 12:19:09 +01:00
Andy Wilkinson 3a417eec52 Merge branch '2.1.x' 2019-09-02 11:46:42 +01:00
Andy Wilkinson 4fd7b68f71 Polish 2019-09-02 11:45:55 +01:00
Phillip Webb a86258e62c Revert "Reduce bean method visibility"
Reverts commit 2be3027dcf
on 2.1.x
2019-09-01 20:04:09 -07:00
Phillip Webb b3835a8149 Merge branch '2.1.x' 2019-09-01 18:31:27 -07:00
Phillip Webb 2be3027dcf Reduce bean method visibility
See gh-17539
2019-09-01 18:30:39 -07:00
Phillip Webb 3746631081 Merge branch '2.1.x'
Closes gh-18085
2019-09-01 14:54:02 -07:00
Phillip Webb 75a1a24914 Polish "Ensure Flyway/Liquibase runs before Quartz"
See gh-17539
2019-09-01 14:48:37 -07:00
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
2019-09-01 14:46:25 -07:00
dreis2211 3e35a6616c Fix duplicated words
See gh-18004
2019-09-01 09:09:38 +02:00
Phillip Webb 1283bc05d7 Merge branch '2.1.x'
Closes gh-18021
2019-08-30 14:41:36 -07:00
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
2019-08-30 14:36:16 -07:00
davinkevin 84c81462b4 Upgrade to jOOQ 3.12.0
See gh-18014
2019-08-30 09:56:02 +01:00
Andy Wilkinson e2edb6a539 Polish "Auto-configure Flyway with JavaMigration beans"
See gh-17993
2019-08-30 09:26:56 +01:00
Semyon Danilov ff68295928 Auto-configure Flyway with JavaMigration beans
See gh-17993
2019-08-30 09:20:59 +01:00
Andy Wilkinson 0e2a131e5d Polish "Upgrade to Flyway 6.0.1"
See gh-17997
2019-08-30 08:19:07 +01:00
Semyon Danilov 278b20d9c9 Upgrade to Flyway 6.0.1
See gh-17997
2019-08-30 08:19:07 +01:00
Stephane Nicoll 96596f8ecc Polish contribution
See gh-17962
2019-08-28 10:55:32 +02:00
Kant 7ee3656188 Polish
See gh-17962
2019-08-28 10:55:13 +02:00
Madhura Bhave 2726540e76 Merge branch '2.1.x'
Closes gh-17980
2019-08-28 13:13:48 +05:30
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>
2019-08-28 11:48:53 +05:30
dreis2211 ec57f0c31f Fix upstream RSocket method renames
See gh-17973
2019-08-27 13:12:52 +01:00
Madhura Bhave 46ea4a2501 isPublisherConfirms in RabbitProperties should not throw NPE
Fixes gh-17967
2019-08-27 08:39:55 +05:30
Stephane Nicoll 7d994e607d Restructure tests to exercise deprecated property in a dedicated test
See gh-17848
2019-08-24 08:22:28 +02:00
Madhura Bhave 21783faede Merge branch '2.1.x'
Closes gh-17953
2019-08-23 19:44:16 -07:00
Madhura Bhave 28d374d84d Polish "Configure Issuer Validator for Resource Server"
See gh-17952
2019-08-23 19:34:49 -07:00
HaiTao Zhang b3d189cf87 Configure Issuer Validator for Resource Server
See gh-17952
2019-08-23 19:34:31 -07:00
Madhura Bhave 8954fe13e5 Polish "Support additional publisher confirm types"
See gh-17848
2019-08-23 18:44:42 -07:00
HaiTao Zhang 8c1c8a27d9 Support additional publisher confirm types
See gh-17848
2019-08-23 18:44:15 -07:00
LiangYong 12bfca56d6 Remove unnecessary null check
See gh-17916
2019-08-23 13:25:11 +02:00
Andy Wilkinson c48228f645 Merge branch '2.1.x'
Closes gh-17942
2019-08-23 11:03:43 +01:00
Andy Wilkinson ac0a22d603 Tolerate LCEMFB with null JpaVendorAdapter in JPA auto-config
Closes gh-17935
2019-08-23 10:39:40 +01:00
Andy Wilkinson 05e089601e Remove default favicon and support for serving from classpath root
Closes gh-17925
2019-08-22 13:53:13 +01:00
dreis2211 6ef6875a60 Correct WebFlux response body method
See gh-17919
2019-08-21 11:07:48 +01:00
Andy Wilkinson 9ac6485768 Prioritise static resource locations over classpath for favicon.ico
Closes gh-17922
2019-08-21 10:42:32 +01:00
Brian Clozel e7c3ab3e27 Rename WebFlux response body methods
This commit adapts to recent changes in Spring Framework.
See spring-projects/spring-framework#23212
2019-08-20 13:03:24 +02:00
Andy Wilkinson 7f8944d00f Polish 2019-08-19 17:31:56 +01:00
Andy Wilkinson cc3df98135 Merge branch '2.1.x' 2019-08-19 16:08:25 +01:00
Andy Wilkinson ab87b2a39b Polish 2019-08-19 16:05:43 +01:00
LiangYong a5746d0a03 Simplify some code
See gh-17893
2019-08-19 07:24:54 +02:00
dreis2211 d4affd7f85 Use hasSize() assertion in favor of length checks
See gh-17874
2019-08-17 06:39:41 +02:00
Stephane Nicoll 04b63cda8f Merge branch '2.1.x'
Closes gh-17889
2019-08-17 06:38:00 +02:00
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
2019-08-17 06:34:22 +02:00
Madhura Bhave 76dfe1aae4 Merge branch '2.1.x'
Closes gh-17887
2019-08-16 16:53:42 -07:00
Madhura Bhave 0187e5106d Polish "Set up SpringLiquibase beans' dependencies by type rather than name"
See gh-17805
2019-08-16 16:43:50 -07:00
Andrii Hrytsiuk b69f9e9fdf Add missing javadoc
See gh-17805
2019-08-16 16:05:33 -07:00
Andrii Hrytsiuk eaad22dd89 Set up SpringLiquibase beans' dependencies by type rather than name
See gh-17805
2019-08-16 16:05:33 -07:00
Madhura Bhave 64e8b1d47c Polish "Add properties for Jetty threadpool"
See gh-17871
2019-08-15 18:31:12 -07:00
HaiTao Zhang 1024d74742 Add properties for Jetty threadpool
See gh-17871
2019-08-15 18:30:57 -07:00
Madhura Bhave eea83e935e Resolve httpstatus error series using raw int code
See gh-16691
2019-08-15 10:44:46 -07:00
Madhura Bhave 4b4dc28a86 Support non-standard error codes with AbstractErrorWebExceptionHandler
Fixes gh-16691
2019-08-15 08:21:04 -07:00
Madhura Bhave 178746d678 Update Opaque Token Client Name following upstream changes
Closes gh-17846
2019-08-12 18:38:27 -07:00
Brian Clozel 16f798dc11 Apply RSocket transport configuration on server
Fixes gh-17845
2019-08-12 21:11:59 +02:00
dreis2211 b605cddb10 Polish some Collections API calls
See gh-17825
2019-08-11 10:36:10 +02:00
Stephane Nicoll b8a1043e98 Merge branch '2.1.x'
Closes gh-17813
2019-08-08 16:33:31 +02:00
Stephane Nicoll 1b3a6d1616 Polish "Configure a temporary directory with Undertow"
See gh-17778
2019-08-08 16:29:43 +02:00
Vedran Pavic 85a289f71a Harmonize Spring Session flush mode properties javadoc
See gh-17797
2019-08-08 14:29:30 +02:00
Vedran Pavic 84dd1f2d29 Add support for configuring Spring Session JDBC flush mode
See gh-17797
2019-08-08 14:27:15 +02:00
Madhura Bhave c5d1781ae1 Merge branch '2.1.x'
Closes gh-17793
2019-08-05 15:32:47 -07:00
陈其苗 77931a0981 Fix typo in assertion
See gh-17774
2019-08-05 15:30:33 -07:00
Stephane Nicoll 7874de4062 Restore tests that were failing with Java 13
Closes gh-17607
2019-08-05 20:43:08 +02:00
Madhura Bhave ea244aa32b Merge branch '2.1.x'
Closes gh-17769
2019-08-02 09:16:05 -07:00
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
2019-08-02 09:03:45 -07:00
Stephane Nicoll f021c227e1 Polish 2019-08-02 17:42:38 +02:00
Stephane Nicoll 45915d085e Merge branch '2.1.x'
Closes gh-17767
2019-08-02 17:35:39 +02:00
Stephane Nicoll eb26492eef Polish 2019-08-02 17:31:07 +02:00
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
2019-08-02 17:12:01 +02:00
Madhura Bhave e06b06d817 Polish "Support RFC 8414 in JwtDecoders and ClientRegistrations"
See gh-17761
2019-08-01 18:31:50 -07:00
HaiTao Zhang 8baec96453 Support RFC 8414 in JwtDecoders and ClientRegistrations
See gh-17761
2019-08-01 18:18:49 -07:00
Madhura Bhave f7f858bce8 Merge branch '2.1.x'
Closes gh-17759
2019-08-01 12:44:18 -07:00
Madhura Bhave 5f3364326b Configure interceptors for WelcomePageHandlerMapping
Fixes gh-16309
2019-08-01 12:27:53 -07:00
Stephane Nicoll bee373d6cf Start building against Spring HATEOAS 1.0 snapshots
See gh-17755
2019-08-01 15:19:41 +02:00
Stephane Nicoll da0ab06d1a Merge branch '2.1.x'
Closes gh-17754
2019-08-01 14:49:22 +02:00
Stephane Nicoll f2fd169c3a Rename restClient to elasticsearchRestClient
For consistency, similar beans have been renamed as well.

Closes gh-17751
2019-08-01 14:45:33 +02:00
Stephane Nicoll 1ec8e822a1 Fix broken build 2019-08-01 14:42:01 +02:00
Stephane Nicoll 48e07c8fda Merge branch '2.1.x'
Closes gh-17753
2019-08-01 14:24:23 +02:00
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
2019-08-01 14:16:22 +02:00
Dmytro Nosan 0e87b9c163 Create RestClient from a RestHighLevelClient if available
See gh-17488
2019-08-01 14:16:22 +02:00
Phillip Webb 34c31ce099 Remove BeanTypeRegistry
Remove `BeanTypeRegistry` and rely entirely on standard calls Spring
Framework APIs.

Closes gh-17594
2019-08-01 10:15:15 +01:00
Phillip Webb da4f436140 Change SearchStrategy EXHAUSTIVE to TYPE_HIERARCHY
Fixup references following upstream Spring Framework change.
2019-07-31 15:11:43 +01:00
Johnny Lim 2c2ee92a39 Remove ConditionEvaluationReportLoggingListener in a test
See gh-17742
2019-07-31 14:58:46 +02:00
Stephane Nicoll c08fe65429 Merge branch '2.1.x'
See gh-17744
2019-07-31 13:57:48 +02:00
Stephane Nicoll dc4e67f5dd Remove useless classpath override 2019-07-31 13:55:38 +02:00
Stephane Nicoll 44a0afcec3 Polish "Allow for custom EntityMapper bean"
See gh-17661
2019-07-31 10:46:29 +02:00
P.J. Meisch a1cf665f98 Allow for custom EntityMapper bean
See gh-17661
2019-07-31 10:31:27 +02:00
Stephane Nicoll e52d398771 Adapt to recent changes in Spring Security snapshots 2019-07-30 17:36:51 +02:00
dreis2211 8d2f2b75bd Upgrade to AssertJ 3.13.1
See gh-17690
2019-07-30 09:48:33 +02:00
Madhura Bhave b6754f6f20 Fix test 2019-07-29 14:48:25 -07:00
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
2019-07-29 14:15:00 -07:00
Madhura Bhave e184298c50 Polish "Default password shouldn't be generated for resource server"
See gh-17646
2019-07-29 14:13:35 -07:00
HaiTao Zhang 1b0cf7bd22 Default password should not be generated when using resource server
See gh-17646
2019-07-29 14:09:20 -07:00
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
2019-07-29 11:28:51 +01:00
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
2019-07-28 09:59:19 +02:00
Stephane Nicoll 97907aac30 Polish 2019-07-28 09:47:04 +02:00
Johnny Lim a80749ed81 Add missing assertion in dispatcherServletCustomConfig()
See gh-17648
2019-07-27 09:32:24 +02:00
Madhura Bhave 3423dbf6ac Add transaction manager in Spring Data jdbc tests
See gh-17654
2019-07-27 09:06:01 +02:00
Madhura Bhave 39a7b9da38 Switch to lambda style security configuration
Closes gh-17525
2019-07-26 14:41:49 -07:00
Stephane Nicoll b79de1e7e3 Fix broken build 2019-07-26 16:26:37 +02:00
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.
2019-07-24 20:39:55 +02:00
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.
2019-07-24 15:51:27 +02:00
Dmytro Nosan efce9388e7 Trim OAuth2 provider property whitespace
Update `OAuth2ClientPropertiesRegistrationAdapter` to trim whitespace
of the "provider" property.

See gh-17497
2019-07-24 14:32:41 +01:00
Phillip Webb 8bc780762a Merge branch '2.1.x' 2019-07-24 11:42:48 +01:00
Phillip Webb fb1dd8fe93 Merge branch '2.0.x' into 2.1.x 2019-07-24 11:41:32 +01:00
Phillip Webb 913e831f4e Merge '1.5.x' into 2.0.x 2019-07-24 11:39:58 +01:00
dreis2211 c8097692ea Align JavaVersion.NINE name with JDK versioning
See gh-17611
2019-07-24 11:12:02 +02:00
Johnny Lim 43345b36e6 Polish
See gh-17616
2019-07-24 11:00:40 +02:00
Stephane Nicoll 690019ba8f Polish "Disable tests that are failing on Java 13"
See gh-17607
2019-07-23 15:51:21 +02:00
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
2019-07-23 12:41:24 +02:00
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
2019-07-22 15:30:40 +02:00
Stephane Nicoll 3c7ac4fe7f Polish 2019-07-22 13:17:51 +02:00
Stephane Nicoll 55079c3a80 Merge branch '2.1.x'
Closes gh-17602
2019-07-22 13:16:58 +02:00
Stephane Nicoll 1661da8774 Polish "Configure ActiveMQConnectionFactory properly without spring-jms"
See gh-17531
2019-07-22 13:09:31 +02:00
Dmytro Nosan 77b52b993b Configure ActiveMQConnectionFactory properly without spring-jms
See gh-17531
2019-07-22 13:08:42 +02:00
adavid9 6211a682d6 Replace deprecated media type
See gh-17596
2019-07-21 18:28:10 +02:00
Phillip Webb ff9f5fd1c7 Polish OnBeanCondition
Polish `OnBeanCondition` and make it easier to remove `BeanTypeRegistry`
in the future.

See gh-17594
2019-07-20 13:36:56 +01:00
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
2019-07-19 13:57:55 +01:00
Andy Wilkinson c7d2799f4e Add configuration property for DispatcherServlet event publishing
Closes gh-17500
2019-07-19 13:11:19 +01:00
Stephane Nicoll 3dd5426ea5 Polish "Adjust to changes in Spring AMQP 2.2 snapshots"
See gh-17587
2019-07-19 13:20:25 +02:00
dreis2211 e71a417399 Adjust to changes in Spring AMQP 2.2 snapshots
See gh-17587
2019-07-19 13:19:57 +02:00
Stephane Nicoll dd2f20fcd2 Polish "Add support for configuring Tomcat's relaxed path and query chars"
See gh-17510
2019-07-18 16:00:06 +02:00
dirkdeyne 1fee797af7 Add support for configuring Tomcat's relaxed path and query chars
See gh-17510
2019-07-18 15:04:29 +02:00
dreis2211 2038fac825 Remove testsupport.assertj package
See gh-17557
2019-07-18 14:20:28 +02:00
Andy Wilkinson 3bf5cf1124 Merge branch '2.1.x'
Closes gh-17562
2019-07-18 07:22:24 +01:00
Andy Wilkinson b725c60177 Deprecate DeploymentInfo customization with reactive Undertow
Fixes gh-17555
2019-07-18 06:54:38 +01:00
Phillip Webb a9ba7080ce Merge branch '2.1.x' 2019-07-17 21:48:42 +01:00
Phillip Webb d567261790 Polish 2019-07-17 21:38:44 +01:00
Andy Wilkinson dad7fb4f6d Add NettyServerCustomizer beans to the auto-configured factory
Closes gh-17556
2019-07-17 14:58:11 +01:00
Andy Wilkinson ea1139755d Ensure that customizers registered multiple times are only called once
Closes gh-17264
2019-07-17 14:52:29 +01:00
Andy Wilkinson 73f7a9318f Merge branch '2.1.x'
Closes gh-17546
2019-07-17 09:07:28 +01:00
Andy Wilkinson e84477cfe2 Only perform Quartz DataSource init when using JDBC store
Fixes gh-17545
2019-07-17 09:04:17 +01:00
Stephane Nicoll 1f7615a964 Polish "Add support for configuring Spring Session SaveMode"
See gh-17514
2019-07-16 11:30:38 +02:00
Vedran Pavic e073792448 Add support for configuring Spring Session SaveMode
See gh-17514
2019-07-16 11:09:54 +02:00
Andy Wilkinson 8aed06452d Allow custom resource handlers to provide favicon.ico
Closes gh-17381
2019-07-15 14:18:45 +01:00
Phillip Webb eff1147ccc Rename classpath runner package
Remove `runner` since we're no longer tied to JUnit 4.

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

See gh-17491
2019-07-15 13:38:26 +01:00
dreis2211 0f0278e69b Migrate ModifiedClassPath tests to JUnit 5
Migrate the remaining JUnit 4 tests to JUnit 5, making use of the
new `ModifiedClassPathExtension`.

See gh-17491
2019-07-15 00:31:03 +01:00
dreis2211 b0bf2dd7ab Migrate to ApplicationContextRunner
Migrate a new tests to use the `ApplicationContextRunner`.

See gh-17491
2019-07-15 00:26:08 +01:00
Phillip Webb 0cb6a7f47d Polish 2019-07-15 00:24:19 +01:00
Phillip Webb 01933f9b06 Merge previously split strings
Merge some string lines that were previously split because of the
90 chars wide formatting.
2019-07-15 00:24:19 +01:00
Phillip Webb c3816bfe7b Polish output capture names 2019-07-15 00:24:18 +01:00
Phillip Webb b7e092e821 Fix upstream RSocket method renames
Align with the recent upstream Spring Framework changes triggered by
their issue #23170.
2019-07-13 14:01:04 +01:00
Andy Wilkinson dc0432665b Use ephemeral ports rather than 8080 in our tests
Closes gh-17025
2019-07-10 17:22:40 +01:00
Andy Wilkinson 1fffe0ab3e Merge branch '2.1.x'
Closes gh-17482
2019-07-10 13:37:32 +01:00
Dmytro Nosan 93d0427fb5 Polish AbstractDependsOnBeanFactoryPostProcessor
See gh-17480
2019-07-10 13:36:57 +01:00
Andy Wilkinson 47f4bb0d64 Merge branch '2.1.x'
Closes gh-17481
2019-07-10 13:30:10 +01:00
Andy Wilkinson f753c31988 Polish "Set up MongoClient beans' dependencies by type rather than name"
See gh-16627
2019-07-10 13:13:19 +01:00
ielatif 39f1039425 Set up MongoClient beans' dependencies by type rather than name
See gh-16627
2019-07-10 13:10:41 +01:00
Andy Wilkinson 6adcd75481 Merge branch '2.1.x'
Closes gh-17479
2019-07-10 12:37:40 +01:00
Andy Wilkinson 80650f485d Polish "Allow depended on beans to be identified by type"
See gh-17020
2019-07-10 12:25:57 +01:00
Dmytro Nosan 9923ffe9bd Allow depended on beans to be identified by type
Prior to this commit, `AbstractDependsOnBeanFactoryPostProcessor`
could only identify depended on beans by name.

See gh-17020
2019-07-10 12:25:57 +01:00
Brian Clozel 3c28622ebc Add support for reactor-tools debug agent
The `reactor-tools` dependency now brings a new Reactor Debug Agent
which instruments loaded classes for better Reactor stacktraces.
This commit removes the `spring.reactor.stacktrace-mode.enabled`
configuration property since the related Reactor Hook is about to be
removed.
As a replacement, we're introducing `spring.reactor.debug-agent.enabled`
which tells whether the Reactor Debug Agent should be loaded, given that
the `reactor-tools` dependency is available. This option is enabled by
default, since adding the dependency on classpath is a strong signal
already.

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

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

Fixes gh-17425
2019-07-10 12:06:26 +02:00
Dmytro Nosan fd9e8503bb Polish BatchAutoConfiguration
See gh-17462
2019-07-09 16:56:16 +01:00
Andy Wilkinson edff0f87e2 Merge branch '2.1.x'
Closes gh-17466
2019-07-09 16:52:13 +01:00
Andy Wilkinson acd9b61c8e Make Batch JPA auto-configuration back off without a DataSource
Fixes gh-17465
2019-07-09 15:46:45 +01:00
Andy Wilkinson a40bc64f6e Merge branch '2.1.x'
Closes gh-17463
2019-07-09 15:14:41 +01:00
Andy Wilkinson c5241f0e82 Remove accidental usage of com.hazelcast.util.Base64
Closes gh-17461
2019-07-09 15:03:31 +01:00
Andy Wilkinson d93c79316d Align with body method changes in RequestBodySpec
Closes gh-17460
2019-07-09 12:13:23 +01:00
Andy Wilkinson 3e6c15c451 Deprecate auto-configuration for Joda-Time
Closes gh-17419
2019-07-09 11:52:36 +01:00
Johnny Lim 426ef749db Polish
See gh-17413
2019-07-09 07:40:30 +02:00
Madhura Bhave 939a247d87 Merge pull request #17448 from izeye
* pr/17448:
  Fix typo

Closes gh-17448
2019-07-08 16:04:35 -07:00
Johnny Lim e42f4d0279 Fix typo
See gh-17448
2019-07-08 16:04:12 -07:00
Andy Wilkinson b0626bca32 Merge branch '2.1.x'
Closes gh-17454
2019-07-08 15:54:04 +01:00
Andy Wilkinson 02bea78229 Retain as much Batch auto-config as possible without Spring JDBC
Closes gh-17451
2019-07-08 15:35:16 +01:00
Andy Wilkinson 5b7c0e0c58 Merge branch '2.1.x'
Closes gh-17453
2019-07-08 14:44:34 +01:00
Andy Wilkinson a023f308ed Make JDBC-based batch configurer back off without a DataSource
Closes gh-17449
2019-07-08 14:43:26 +01:00
Andy Wilkinson 072453bf58 Polish "Add support for configuring a Batch-specific DataSource"
See gh-17375
2019-07-08 13:16:47 +01:00
Dmytro Nosan f449665e2a Add support for configuring a Batch-specific DataSource
See gh-17375
2019-07-08 13:15:24 +01:00
Andy Wilkinson 3ba25b9ee9 Simplify class loading check in pooled DataSource condition
Closes gh-17284
2019-07-08 12:19:55 +01:00
Andy Wilkinson b39479bc07 Polish "Add config property for Kafka consumer isolation level"
See gh-17389
2019-07-05 17:23:45 +01:00
Ryan Dunckel 1b8f955fec Add config property for Kafka consumer isolation level
See gh-17389
2019-07-05 17:16:58 +01:00
Andy Wilkinson 2816635418 Polish 2019-07-04 17:51:20 +01:00
Andy Wilkinson 6a777a7f9b Disable HiddenHttpMethodFilter by default
HiddenHttpMethodFilter can be problematic as it causes early
consumption of a request body if the body may contain parameters. This
happens as the filter needs to read the parameters to see if an
_method parameter is present. The filter is only beneficial for web
applications that are the hidden HTTP method functionality but is
potentially detriimental to all applications that are not. As such
we no longer believe that it should be enabled by default and users
should be required to opt in.

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

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

Closes gh-17416
2019-07-04 12:36:03 +01:00
Madhura Bhave 3bd7760f9c Polish "Allow Undertow's options to be configured via the environment
See gh-17356
2019-07-03 17:48:56 -07:00
HaiTao Zhang 417f4dd7fa Allow Undertow's options to be configured via the environment
See gh-17356
2019-07-03 17:20:31 -07:00
Phillip Webb a66c4d3096 Unify method visibility of private classes
Apply checkstyle rule to ensure that private and package private
classes do not have unnecessary public methods. Test classes have
also been unified as much as possible to use default scoped
inner-classes.

Closes gh-7316
2019-07-03 11:39:47 -07:00
Andy Wilkinson 4ab4198168 Switch to Infinispan's Spring 5 integration
Closes gh-17333
2019-07-02 12:50:12 +01:00
Vedran Pavic 8ed71b3c51 Start building against Spring Session Corn-M3 snapshots
See gh-17278
2019-07-02 09:33:16 +01:00
Dmytro Nosan 1d9aae8282 Introduce RedisCacheManagerBuilderCustomizer
See gh-17287
2019-06-29 22:56:21 +01:00
Andy Wilkinson 4c812b065d Merge pull request #17322 from garyrussell
* gh-17322:
  Auto-configure KLC with user-provided RecordInterceptor

Closes gh-17322
2019-06-29 22:06:25 +01:00
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
2019-06-29 22:05:33 +01:00
Andy Wilkinson 9f521430fa Polish "Use @EmbeddedKafka for Integration Tests"
See gh-17355
2019-06-29 21:47:11 +01:00
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
2019-06-29 21:36:36 +01:00
Andy Wilkinson 6212901bc1 Polish "Add 'client-name' property to specify a Redis client name"
See gh-17330
2019-06-29 21:24:57 +01:00
Dmytro Nosan f877caf118 Add 'client-name' property to specify a Redis client name
See gh-17330
2019-06-29 21:23:25 +01:00
Andy Wilkinson 8f668610f7 Align RSocket auto-configuration latest Framework changes
Closes gh-17366
2019-06-29 21:09:54 +01:00
Phillip Webb 605599138e Merge branch '2.1.x' 2019-06-28 23:56:02 -07:00
Phillip Webb 92bff3c328 Merge branch '2.0.x' into 2.1.x 2019-06-28 23:42:28 -07:00
Phillip Webb cfeb0239b7 Merge branch '1.5.x' into 2.0.x 2019-06-28 23:28:34 -07:00
Phillip Webb c62b6b4ccd Merge branch '2.1.x' 2019-06-28 12:22:45 -07:00
Phillip Webb de35efd1ef Merge branch '2.0.x' into 2.1.x 2019-06-28 12:21:57 -07:00
Phillip Webb bb34846630 Merge branch '1.5.x' into 2.0.x 2019-06-28 12:19:46 -07:00
rossdrew d6977ea89f Remove hyphenation of opaquetoken in OAuth2 property names
See gh-17290
2019-06-28 14:48:56 +01:00
Andy Wilkinson 66f1344f7c Merge branch '2.1.x'
Closes gh-17335
Closes gh-17292
2019-06-27 12:00:34 +01:00
Phillip Webb 0b720b99b2 Merge branch '2.1.x'
Closes gh-17308
2019-06-25 11:19:57 -07:00
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
2019-06-25 11:17:27 -07:00
Brian Clozel 9166b6d329 Polish "Make rSocketServerBootstrap @ConditionalOnMissingBean"
See gh-17301
2019-06-25 11:25:11 +02:00
Spencer Gibb 2cb6af959b
Make rSocketServerBootstrap @ConditionalOnMissingBean
7857dd2d72 broke gateway's ability to override the `SocketAcceptor`.
2019-06-24 16:13:36 -04:00
Andy Wilkinson 7405efa326 Ensure that each Tomcat customizer is only called once
Fixes gh-17264
2019-06-21 17:53:24 +01:00
Stephane Nicoll e560b7f6ba Remove public modifier on JUnit5 lifecycle methods
See gh-17292
2019-06-21 18:09:05 +02:00
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
2019-06-21 15:26:07 +02:00
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
2019-06-21 15:22:28 +02:00
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
2019-06-21 11:21:13 +02:00
Phillip Webb 69fbd8f20c Merge branch '2.1.x'
Closes gh-17227
Closes gh-17228
2019-06-17 11:53:16 -07:00
Phillip Webb 692bda1595 Polish "Fix connection timeout configuration for Netty"
See gh-16535
2019-06-17 11:26:36 -07:00
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
2019-06-17 11:24:35 -07:00
Andy Wilkinson 9d355f00e1 Merge branch '2.1.x'
Closes gh-17218
2019-06-17 13:19:45 +01:00
Andy Wilkinson 5dc2339ec2 Polish "Consider properties from @AutoConfigureTestDatabase"
See gh-16814
2019-06-17 11:38:13 +01:00
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
2019-06-17 11:09:29 +01:00
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>
2019-06-14 18:14:40 -07:00
Andy Wilkinson 48adfe626c Log H2 console path and JDBC URL on startup
Closes gh-17063
2019-06-14 13:42:01 +01:00
Madhura Bhave 0d2e44151b Fix tests following Spring Security changes 2019-06-13 16:09:57 -07:00
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
2019-06-13 08:54:11 -07:00
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
2019-06-13 08:54:11 -07:00
Stephane Nicoll 54c72cf39f Polish 2019-06-13 15:24:04 +02:00
Stephane Nicoll 985c8f7598 Polish RSocket support 2019-06-13 15:11:00 +02:00
Andy Wilkinson 704b5fb2ee Enable encoding of message/x.rsocket.routing.v0 requests
Closes gh-17135
2019-06-13 12:38:15 +01:00
Phillip Webb e0aa90cf32 Fix incomplete polish of RedisSessionProperties
Fix polish commit from 919913ae66 to correctly name the property
getter/setters.

See gh-17022
2019-06-12 17:43:11 -07:00
Phillip Webb 919913ae66 Polish "Add session property for ConfigureRedisAction"
See gh-17022
2019-06-12 17:33:45 -07:00
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
2019-06-12 17:31:39 -07:00
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
2019-06-12 16:34:31 -07:00
Andy Wilkinson 9b5cb4f9b8 Remove need for public constructor on inner-class
Closes gh-17086
2019-06-12 14:55:40 +01:00
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
2019-06-12 15:52:04 +02:00
Phillip Webb b3d5cd538d Add JUnit 5 checkstyle rules
Add a rule to enforce JUnit 5 usage and conventions.

Closes gh-17093
2019-06-10 16:16:45 -07:00
Madhura Bhave 2560b54f7c Add configuration support for Opaque Token authentication
Closes gh-15872
2019-06-10 14:24:32 -07:00
Andy Wilkinson 75e45fd239 Switch to @DisableWithoutTestcontainers
Closes gh-17092
2019-06-10 12:49:12 +01:00
Phillip Webb 266d6334b2 Fix checkstyle RedundantModifier test violations 2019-06-07 20:46:33 -07:00
Phillip Webb cde4f0d688 Fix checkstyle violations 2019-06-07 13:27:14 -07:00
Andy Wilkinson b18fffaf14 Move tests to JUnit 5 wherever possible 2019-06-07 12:25:54 +01:00
Andy Wilkinson aef92b9295 Merge branch '2.1.x'
Closes gh-17079
2019-06-07 11:00:44 +01:00
Andy Wilkinson 24925c3dae Merge branch '2.0.x' into 2.1.x
Closes gh-17078
2019-06-07 10:50:34 +01:00
Andy Wilkinson c6c139d980 Merge branch '1.5.x' into 2.0.x 2019-06-07 10:46:31 +01:00
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
2019-06-07 00:14:01 +02:00
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
2019-06-05 14:22:43 +02:00
Phillip Webb db75347eb6 Merge branch '2.1.x' 2019-06-04 14:41:20 -07:00
Phillip Webb 0ef331018e Merge branch '2.0.x' into 2.1.x 2019-06-04 14:30:52 -07:00
Phillip Webb 7fc01971ed Merge branch '1.5.x' into 2.0.x 2019-06-04 14:20:25 -07:00
Phillip Webb d306b31ce9 Merge branch '2.1.x' 2019-06-04 02:08:00 -07:00
Phillip Webb ccfbd03482 Merge branch '2.0.x' into 2.1.x 2019-06-04 02:07:14 -07:00
Phillip Webb b442d3b906 Merge branch '1.5.x' into 2.0.x 2019-06-04 01:49:03 -07:00
Phillip Webb 5fba43aa31 Merge branch '1.5.x' into 2.0.x 2019-06-04 00:05:57 -07:00
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
2019-06-03 21:20:06 +02:00
Stephane Nicoll ae5b5be597 Reset flag after each test as well to avoid side effects 2019-06-03 13:29:35 +02:00
Stephane Nicoll f30e29a4ad Rename spring.reactor.stacktrace-mode.enabled property
Closes gh-16537
2019-06-03 12:18:07 +02:00
Gary Russell 23cff6fb09 KafkaAutoConfigurationIntegrationTests to JUnit5
See gh-17034
2019-06-03 08:41:16 +02:00
Issam El-atif 4ac1407af1 Use new JettyClientHttpConnector constructor
Simplify `ClientHttpConnectorConfiguration`by using the recently
introduced `JettyClientHttpConnector` constructor.

See gh-17015
2019-05-31 15:31:41 -07:00
Andy Wilkinson 0644a79401 Repackage output capture and always use extension declaratively
Closes gh-17029
2019-05-31 18:33:10 +01:00
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
2019-05-30 23:44:35 -07:00
Phillip Webb ad5e905bd7 Update copyright header of changed files 2019-05-30 11:30:43 -07:00
Phillip Webb 68aec8b6ee Polish 2019-05-30 11:30:27 -07:00
Dmytro Nosan 54061bd59f Polish CassandraDataAutoConfiguration
See gh-17004
2019-05-30 11:17:22 +02:00
dreis2211 38c21f58b8 Add missing @Test annotation
See gh-17012
2019-05-29 14:41:22 -07:00
Phillip Webb c84c9409bd Polish 2019-05-29 14:41:01 -07:00
Andy Wilkinson 880721557b Polish "Auto-configure Flyway and Liquibase when there's a URL but no DataSource"
See gh-16850
2019-05-29 11:01:37 +01:00
ilya.lukyanovich@dataart.com 3ca73bf00d Auto-configure Flyway and Liquibase when there's a URL but no DataSource
See gh-16850
2019-05-29 11:01:26 +01:00
Andy Wilkinson 69a298231c Polish "Configure FluentConfiguration to use ResourceLoader's ClassLoader"
See gh-16947
2019-05-29 10:11:24 +01:00
Alan Gomes cc5bd51343 Configure FluentConfiguration to use ResourceLoader's ClassLoader
See gh-16947
2019-05-29 10:02:56 +01:00
Johnny Lim 0741e6470f Use MediaType.APPLICATION_CBOR constant
See https://github.com/spring-projects/spring-framework/pull/23042

Closes gh-16986
2019-05-29 09:21:15 +02:00
Andy Wilkinson 86380ab8db Add missing package-info.java files 2019-05-29 07:20:34 +01:00
Phillip Webb eb38c3abb7 Fix test broken by additional customizer
See gh-16498
2019-05-28 18:18:25 -07:00
Phillip Webb 9a6415375d Polish 2019-05-28 17:00:25 -07:00
Phillip Webb 6e9f2e42af Merge branch '2.1.x'
Closes gh-16992
2019-05-28 15:06:16 -07:00
Phillip Webb 6913ea24b0 Polish "Fix NoClassDefFound when missing Spring Security"
See gh-16889
2019-05-28 14:56:58 -07:00
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
2019-05-28 14:55:18 -07:00
Phillip Webb df55d73bff Merge branch '2.1.x'
Closes gh-16990
2019-05-28 13:49:34 -07:00
Phillip Webb 278a0866cd Polish "Fix Spring Data Cassandra auto-configure condition"
See gh-16971
2019-05-28 13:47:45 -07:00
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
2019-05-28 13:47:40 -07:00
Andy Wilkinson 0eb6c0ddd3 Defer disabling registry until Tomcat server is being created
Closes gh-16498
2019-05-28 20:49:07 +01:00
Andy Wilkinson b603cd5d4b Disable Tomcat's MBean Registry by default
Closes gh-16498
2019-05-28 15:21:31 +01:00
Brian Clozel d46de7abc4 Polish "Set UTF-8 charset for whitelabel HTML error pages"
Closes gh-16611
2019-05-27 19:06:38 +02:00
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
2019-05-27 17:48:01 +02:00
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
2019-05-27 15:19:32 +02:00
Brian Clozel 45507c475b Configure String codecs in RSocket strategies
Closes gh-16924
2019-05-27 15:19:27 +02:00
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
2019-05-27 15:19:22 +02:00
dreis2211 27ca7e17d9 Fix deprecated StandardAnnotationMetadata usages
Closes gh-16930
2019-05-22 14:05:15 +02:00
Andy Wilkinson 46cdd6ecb2 Merge branch '2.1.x'
Closes gh-16939
2019-05-22 12:35:49 +01:00
Andy Wilkinson da12ad0ca5 Make ReactiveSecurityAutoConfiguration back off without spring-webflux
Closes gh-16934
2019-05-22 12:33:59 +01:00
Stephane Nicoll 74208bb1a7 Polish "Auto-configure Kafka listener container with rebalance listener"
Closes gh-16755
2019-05-21 09:49:34 +02:00
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
2019-05-21 09:40:41 +02:00
Stephane Nicoll 2949561bf6 Polish "Add support for Couchbase's role-based access"
Closes gh-16389
2019-05-21 09:13:09 +02:00
Enes Açıkoğlu 3386856ccf Add support for Couchbase's role-based access
See gh-16389
2019-05-21 09:12:45 +02:00
Stephane Nicoll 3c46b9e83d Polish "Add configuration property for Spring Kafka's missingTopicsFatal"
Closes gh-16740
2019-05-20 14:45:59 +02:00
Gary Russell 1583ce8d26 Add configuration property for Spring Kafka's missingTopicsFatal
See gh-16740
2019-05-20 14:32:18 +02:00
Stephane Nicoll 275d794553 Make sure JdbcTemplateConfiguration is imported once
Closes gh-13806
2019-05-20 10:52:00 +02:00
Phillip Webb 79e05c770f Merge branch '2.1.x' 2019-05-14 21:05:05 -07:00
Phillip Webb ed998ef0d3 Update copyright header of changed files 2019-05-14 21:04:50 -07:00
Phillip Webb a82b5266ae Merge branch '2.1.x'
Closes gh-16858
2019-05-14 20:04:51 -07:00
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
2019-05-14 20:04:02 -07:00
Stephane Nicoll 128b41d43a Configure JmsMessagingTemplate default destination
Closes gh-16227
2019-05-14 10:05:48 +02:00
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
2019-05-13 22:39:55 +02:00
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
2019-05-13 17:11:03 +02:00
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
2019-05-13 16:03:21 +02:00
Brian Clozel 2e504b4c3c Migrate from NCSARequestLog to CustomRequestLog
Closes gh-16416
2019-05-13 09:35:49 +02:00
Brian Clozel 930186e505 Merge branch '2.1.x' 2019-05-10 23:20:36 +02:00
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
2019-05-10 23:18:54 +02:00
Brian Clozel 0b4934d140 Fix DefaultErrorWebExceptionHandler test 2019-05-10 17:43:45 +02:00
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
2019-05-10 10:16:22 +01:00
Gary Russell ef39ff8988 Start building against Spring Kafka 2.3.0.M2 snapshots
See gh-16739
See gh-16752
2019-05-09 15:53:34 +01:00
Andy Wilkinson 5514192672 Merge branch '2.1.x'
Closes gh-16809
2019-05-09 15:41:48 +01:00
Andy Wilkinson 96f3a482f0 Polish "Enable minIdle by allowing timeBetweenEviction runs to be configured"
See gh-16703
2019-05-09 15:40:11 +01:00
Gemini Kim 1659d46028 Enable minIdle by allowing timeBetweenEviction runs to be configured
See gh-16703
2019-05-09 15:40:11 +01:00
Andy Wilkinson bf294a762a Polish 2019-05-09 15:13:26 +01:00
Johnny Lim a56867da27 Consistent use of PropertyMapper::asInt
See gh-16738
2019-05-09 15:02:07 +01:00
Johnny Lim 1548fb655c Polish FlywayProperties
See gh-16737
2019-05-09 14:41:26 +01:00
Andy Wilkinson ece87cc4cc Polish "Provide control over how a Cassandra Cluster is created"
See gh-16702
2019-05-09 14:33:12 +01:00
Steffen Folman Qvistgaard 5daf310bf4 Provide control over how a Cassandra Cluster is created
See gh-16702
2019-05-09 14:33:11 +01:00
Madhura Bhave 684a1c7a3c Migrate tests to JUnit5 testcontainer extensions
Closes gh-15456
2019-05-08 16:05:44 +02:00
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>
2019-05-08 16:05:44 +02:00
Brian Clozel 1f897ad923 Fix DefaultErrorWebExceptionHandler test 2019-05-02 10:14:08 +02:00
Johnny Lim 21b05bbafc Polish RSocketServerBootstrap bean name
Closes gh-16700
2019-05-02 09:19:41 +02:00
Johnny Lim cb0e3c793b Polish
Closes gh-16688
2019-05-01 08:41:44 +02:00
Stephane Nicoll 922ceed63a Polish "Auto-configure ReactiveStringRedisTemplate if necessary"
Closes gh-16604
2019-04-30 14:51:47 +02:00
Qiang Lee 866233bd2f Auto-configure ReactiveStringRedisTemplate if necessary
See gh-16604
2019-04-30 14:43:35 +02:00
Toshiaki Maki e203f6a5f5 Fix typo
Closes gh-16684
2019-04-30 08:40:35 +02:00
Johnny Lim e22c2e5687 Polish
Closes gh-16685
2019-04-30 08:24:18 +02:00
Stephane Nicoll 704da1750b Polish "Add support for Hazelcast YAML configuration"
Closes gh-16632
2019-04-29 15:16:43 +02:00
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
2019-04-29 14:19:10 +02:00
Phillip Webb 17aaf26590 Use consistent javadoc style for annotation links
Closes gh-13920
2019-04-24 19:37:59 -07:00
Phillip Webb 1e44aba772 Fix compiler warnings and polish
Fix various compiler warnings and apply a little polish.
2019-04-24 19:37:42 -07:00
Andy Wilkinson a0999dadb7 Merge branch '2.1.x'
Closes gh-16642
2019-04-24 13:57:52 +01:00
Andy Wilkinson ba0279be14 Remove race condition in TaskSchedulingAutoConfigurationTests
Closes gh-16640
2019-04-24 11:55:41 +01:00
Andy Wilkinson 915bde0e62 Use MIME decoder to read OAuth2 resource server public key
Fixes gh-16624
2019-04-23 12:30:39 +01:00
Madhura Bhave 23cf8565b1 Polish "Apply server customizer beans automatically"
Closes gh-16584
2019-04-22 15:19:42 -07:00
Sergey Serdyuk 8ff78ed4c3 Apply server customizer beans automatically
See gh-16584
2019-04-22 15:19:34 -07:00
Stephane Nicoll d55d6b35d9 Merge branch '2.1.x' 2019-04-19 16:02:10 +02:00
Stephane Nicoll 7b9471836b Polish "Improve DefaultCookieSerializer auto-configuration"
Closes gh-16513
2019-04-19 15:55:13 +02:00
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
2019-04-19 15:54:26 +02:00
Phillip Webb b879972d0d Migrate to MergedAnnotations API
Migrate away from `AnnotationUtils` and `AnnotatedElementUtils`
when possible to the new `MergedAnnotations` API.

Closes gh-16551
2019-04-18 15:40:02 -07:00
Andy Wilkinson ca1a666f58 Polish "Add support for configuring remaining Undertow server options"
See gh-16278
2019-04-18 12:21:28 +01:00
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
2019-04-18 12:19:12 +01:00
Stephane Nicoll 2cfcd2690e Polish "Allow to configure the Elasticsearch rest client timeouts"
Closes gh-15965
2019-04-18 11:17:44 +02:00
Dmytro Nosan 5bacb32557 Allow to configure the Elasticsearch rest client timeouts
See gh-15965
2019-04-18 11:17:44 +02:00
Stephane Nicoll e24c17d524 Polish "Add auto-configuration support for ReactiveGridFsTemplate"
Closes gh-16467
2019-04-17 15:36:58 +02:00
ayudovin d9c9ed1d52 Add auto-configuration support for ReactiveGridFsTemplate
See gh-16467
2019-04-17 15:32:07 +02:00
Stephane Nicoll 0f60555031 Polish "Complete Jetty Access Log configuration properties support"
Closes gh-16080
2019-04-17 15:25:54 +02:00
nicolas 55a5a26b95 Complete Jetty Access Log configuration properties support
See gh-16080
2019-04-17 15:25:54 +02:00
Andy Wilkinson 1eac4d6046 Support configuration of Flyway's Pro properties
Closes gh-14989
2019-04-17 12:12:05 +01:00
Johnny Lim 2b2afd785b Polish
Closes gh-16575
2019-04-17 11:57:48 +02:00
Stephane Nicoll b710dc71fe Polish "Use BatchErrorHandler when Kafka listener type is batch"
Closes gh-16499
2019-04-17 11:36:10 +02:00
Madhura Bhave bb7940f8e4 Use BatchErrorHandler when Kafka listener type is batch
Closes gh-16499
2019-04-16 15:51:10 -07:00
Phillip Webb 5f1bbf8c72 Update copyright header of changed files 2019-04-15 17:51:08 -07:00
Phillip Webb 2dfd916c96 Polish 2019-04-15 17:51:08 -07:00
Madhura Bhave bf6f9b4c43 Polish "Add property for mongo auto-index creation"
See gh-16454
2019-04-15 16:52:44 -07:00
ayudovin 2e9005de14 Add property to configure Mongo auto index creation
Closes gh-16454
2019-04-15 16:38:54 -07:00
Brian Clozel c0a360fd71 Fix imports ordering 2019-04-15 21:50:56 +02:00
Brian Clozel 71362299ae Polish RSocket server bootstrap
See gh-16021
2019-04-15 21:42:21 +02:00
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
2019-04-15 12:05:07 +02:00
Madhura Bhave b4d6ac1f41 Fix javadoc 2019-04-12 12:32:23 -07:00
Madhura Bhave 7bbeeaa4d2 Fix build following Spring Security changes 2019-04-12 12:24:35 -07:00
Madhura Bhave 8fd8a9b618 Fix javadoc 2019-04-12 11:55:06 -07:00
Madhura Bhave 62ec8f373a Forwarded header auto-config should be conditional on missing bean
See gh-5677
2019-04-12 11:34:38 -07:00
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
2019-04-12 10:34:19 -07:00
Brian Clozel 9eb7260699 Polish RSocket server support
Relax the `NettyRSocketBootstrap` contract to allow all types of
`SocketAcceptor` implementations.

See gh-16021
2019-04-11 20:52:49 +02:00
Brian Clozel 2112e02eda Polish
Closes gh-15952
2019-04-11 19:07:14 +02:00
Dmytro Nosan 2c20d01e25 Add requestId info to ErrorAttributes in WebFlux
See gh-15952
2019-04-11 19:06:52 +02:00
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
2019-04-11 15:44:17 +02:00
Vedran Pavic bbaa98175f Upgrade to Hazelcast 3.12
Closes gh-16503
2019-04-11 12:38:47 +02:00
Stephane Nicoll ee735a61ce Polish
See gh-15814
2019-04-09 14:20:52 +02:00
Madhura Bhave 7054a33e70 Add support for public key file for OAuth2 resource server
Closes gh-15814
2019-04-08 18:17:12 -07:00
dreis2211 7042884042 Fix Thymeleaf deprecations
Closes gh-16478
2019-04-06 21:32:04 +02:00
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
2019-04-05 14:17:41 +02:00
Madhura Bhave 7587af343d Merge pull request #16342 Pascal Zwick
* pr/16342:
  Polish "Simplify the configuration of the ProtocolHandler"
  Simplify the configuration of the ProtocolHandler
2019-04-04 12:41:15 -07:00
Madhura Bhave ad767ca4e1 Polish "Simplify the configuration of the ProtocolHandler"
Closes gh-16342
2019-04-04 12:41:05 -07:00
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
2019-04-04 12:24:47 -07:00
Stephane Nicoll bb4e559724 Let Hibernate detect the dialect to use
Closes gh-16172
2019-04-04 14:10:01 +02:00
Stephane Nicoll 5f6d8e1ead Polish 2019-04-04 11:16:09 +02:00
Phillip Webb 8aec4de399 Merge branch '2.1.x' 2019-04-03 17:34:01 -07:00
Phillip Webb 617f97f788 Fix checkstyle violation 2019-04-03 17:33:34 -07:00
Phillip Webb ddbfb2530d Update copyright header of changed files 2019-04-03 17:01:00 -07:00
Phillip Webb ad7eebee9e Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
Phillip Webb f12ab1ff90 Update copyright header of changed files 2019-04-03 16:13:00 -07:00
Phillip Webb 34fee1adfa Polish 2019-04-03 16:12:37 -07:00
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
2019-04-03 12:08:29 +02:00
Stephane Nicoll edb5937571 Merge branch '2.1.x' 2019-04-03 11:46:58 +02:00
Johnny Lim 9fae1e5d0e Check for Reactor Netty disconnected client errors
Closes gh-16046
2019-04-03 11:45:51 +02:00
dreis2211 03a5bb7857 Avoid using deprecated @SolrDocument#solrCoreName
Closes gh-16419
2019-04-03 09:02:23 +02:00
Phillip Webb 2376f973f4 Merge branch '2.1.x' 2019-04-02 13:46:36 -07:00
Phillip Webb 47c6bf741d Merge branch '2.0.x' into 2.1.x 2019-04-02 13:40:21 -07:00
Phillip Webb 07c000c5b7 Merge branch '1.5.x' into 2.0.x 2019-04-02 13:34:28 -07:00
Andy Wilkinson 9e7d922555 Allow processor cache to be configured to be unlimited
Closes gh-16415
2019-04-02 15:26:40 +01:00
Andy Wilkinson ea80ca2ffc Do not assume HTTP protocol when customizing processor cache
Closes gh-16413
2019-04-02 15:10:55 +01:00
Andy Wilkinson 8ebe5f9983 Merge branch '2.1.x' 2019-04-02 11:17:28 +01:00
Andy Wilkinson f20d9a62ae Polish "Ensure that MongoClient's EventLoopGroup is shut down during context close"
See gh-16087
2019-04-02 11:09:14 +01:00
Dmytro Nosan ee7bed1849 Ensure that MongoClient's EventLoopGroup is shut down during context close
See gh-16087
2019-04-02 11:04:42 +01:00
Madhura Bhave 8daa8c48fb Merge branch '2.1.x' 2019-04-01 15:51:25 -07:00
Madhura Bhave 768aa5dfcc Ignore exception if ValidationAdapter can't get a MessageInterpolator
Fixes gh-16177
2019-04-01 15:48:32 -07:00
Stephane Nicoll 076e327481 Polish "Complete support for customizing Tomcat's access log"
Closes gh-16039
2019-03-29 17:47:53 +01:00
Andrew McGhie f823ae488d Complete support for customizing Tomcat's access log
See gh-16039
2019-03-29 17:47:53 +01:00
Stephane Nicoll 241171fcfa Merge branch '2.1.x' 2019-03-29 14:09:01 +01:00
liucheng.zhang 4d1717f18e Disable nulls serialization when serialize-nulls property is false
Closes gh-16332
2019-03-29 13:57:08 +01:00
Stephane Nicoll 465053c11e Merge branch '2.1.x' 2019-03-28 18:09:22 +01:00
Stephane Nicoll 6c3d64a2eb Test Thymeleaf auto-configuration backs off without spring integration
See gh-16341
2019-03-28 17:59:22 +01:00
Stephane Nicoll 29b1b38cc6 Migrate Thymeleaf tests to application runner 2019-03-28 17:58:18 +01:00
Johnny Lim 40d0d6b113 Polish
Closes gh-16299
2019-03-28 16:42:27 +01:00
Stephane Nicoll 89f93b28d7 Merge branch '2.1.x' 2019-03-28 16:37:33 +01:00
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
2019-03-28 16:37:09 +01:00
Andy Wilkinson 24593f39f8 Polish "Use HTTPS for external links wherever possible"
See gh-16276
2019-03-28 13:55:55 +00:00
Spring Operator fb242c27d2 Use HTTPS for external links wherever possible
See gh-16276
2019-03-28 12:07:01 +00:00
Andy Wilkinson 878a635bfb Merge branch '2.1.x' 2019-03-28 11:48:47 +00:00
Andy Wilkinson 5a3474c7a8 Polish "Use HTTPS for external links wherever possible"
See gh-16320
2019-03-28 10:53:01 +00:00
Spring Operator 9fc3ac7d49 Use HTTPS for external links wherever possible
See gh-16320
2019-03-28 09:49:30 +00:00
Andy Wilkinson 864942ad4f Merge branch '2.0.x' into 2.1.x 2019-03-28 09:35:53 +00:00
Andy Wilkinson 14b21026bf Polish "Use HTTPS for external links wherever possible"
See gh-16319
2019-03-28 09:17:50 +00:00
Spring Operator 1a4c6f2dac Use HTTPS for external links wherever possible
See gh-16319
2019-03-27 20:06:52 +00:00
Andy Wilkinson ba4671f0ab Merge branch '1.5.x' into 2.0.x 2019-03-27 19:59:36 +00:00
Stephane Nicoll 3e3353e0e9 Merge branch '2.1.x' 2019-03-27 11:40:49 +01:00
Stephane Nicoll e57c0c0657 Do not attempt to add Jaxb customization if Jaxb is not present
See gh-16268
2019-03-27 11:38:55 +01:00
Stephane Nicoll bece962711 Merge branch '2.1.x' 2019-03-27 10:18:23 +01:00
Stephane Nicoll c2f9e7dd43 Fix StreamsBuilderFactoryBean injection definition
Closes gh-16329
2019-03-27 10:17:49 +01:00
Johnny Lim 038e213343 Restore setExtractBareNamePropertyMethods() for AssertJ
Closes gh-16325
2019-03-27 07:03:07 +01:00
Andy Wilkinson 4900505425 Merge branch '2.0.x' into 2.1.x 2019-03-26 13:53:57 +00:00
Spring Operator a5dba01cb9 Use HTTPS for external links from XML files where possible
See gh-16314
2019-03-26 13:52:17 +00:00
Andy Wilkinson fedb40a2bf Merge branch '1.5.x' into 2.0.x 2019-03-26 13:48:32 +00:00
Stephane Nicoll 197e1669e2 Polish 2019-03-25 09:01:13 +01:00
Madhura Bhave 8f693a0277 Add support for configuration properties scanning
See gh-12602
2019-03-21 13:30:44 -07:00
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.
2019-03-21 14:31:38 +01:00
Andy Wilkinson 36c1c051b8 Merge branch '2.1.x' 2019-03-20 16:55:10 +00:00
Andy Wilkinson e23f72c8b0 Merge branch '2.0.x' into 2.1.x 2019-03-20 16:53:48 +00:00
Andy Wilkinson 9fbd38ab3c Merge branch '1.5.x' into 2.0.x 2019-03-20 16:45:26 +00:00
Spring Operator 00ab30362c Use HTTPS for external links in XML files
See gh-16270
2019-03-20 14:33:25 +00:00
dreis2211 dda0b3e2a1 Remove explicit types
Closes gh-16265
2019-03-20 09:44:51 +01:00
Mohamed Rifni e3269a7e9b Switch FaviconRequestHandler visibility to package private
Closes gh-16250
2019-03-17 09:33:33 +01:00
Stephane Nicoll fcdc414646 Remove use of `@Autowired` for configuration properties bean
See gh-8762
2019-03-14 11:03:10 +01:00
Stephane Nicoll 4d73211c3a Polish "Check for multiple processors in OnClassCondition"
Closes gh-16115
2019-03-13 18:13:33 +01:00
Jan Thewes a96a79ea45 Check for multiple processors in OnClassCondition
See gh-16115
2019-03-13 18:13:11 +01:00
Stephane Nicoll b2290107db Polish "Trim trailing whitespace from spring.server.servlet.context-path"
Closes gh-16165
2019-03-12 17:46:17 +01:00
Mohamed Rifni bde2f850b2 Trim trailing whitespace from spring.server.servlet.context-path
See gh-16165
2019-03-12 17:45:56 +01:00
Andy Wilkinson 68bfb020aa Reduce need for bean method proxying and disable where not needed
Closes gh-9068
2019-03-12 13:18:42 +00:00
Andy Wilkinson 4b98fa7d94 Alias proxyBeanMethods on annotations meta-annotated with @Configuration
Closes gh-16201
2019-03-12 09:24:20 +00:00
Phillip Webb 64a2e8d67f Update copyright year for changed files 2019-03-11 22:15:36 -07:00
Phillip Webb dd3e8154d9 Merge branch '2.1.x' 2019-03-11 22:15:19 -07:00
Phillip Webb fc3aa43cc2 Update copyright year for changed files 2019-03-11 22:14:53 -07:00
Andy Wilkinson aa2008bc5a Merge branch '2.1.x' 2019-03-11 16:40:19 +00:00
Andy Wilkinson 8c3cec8f13 Merge branch '2.0.x' into 2.1.x 2019-03-11 16:14:19 +00:00
Andy Wilkinson 361437f4e2 Merge branch '1.5.x' into 2.0.x 2019-03-11 15:53:34 +00:00
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>
2019-03-08 15:50:44 +01:00
Andy Wilkinson b8dff5fe17 Merge branch '2.1.x' 2019-03-07 10:20:29 +00:00
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
2019-03-06 19:42:38 +00:00
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
2019-03-05 18:51:00 +01:00
Johnny Lim f4786d7d2e Polish
Closes gh-16083
2019-03-04 15:19:57 +01:00
Dmytro Nosan c0a458e9d0 Remove unused constructor argument
Closes gh-16059
2019-02-28 14:09:34 +01:00
Stephane Nicoll d5448eb124 Polish "Add failure analyzer for Flyway's bootstrap failure"
Closes gh-16015
2019-02-28 13:46:04 +01:00
anand 96315372ef Add failure analyzer for Flyway's bootstrap failure
See gh-16015
2019-02-28 13:46:04 +01:00
Stephane Nicoll 2ad234b605 Adapt to breaking change in Spring Hateoas 2019-02-28 13:42:27 +01:00
Stephane Nicoll 554bff6145 Merge branch '2.1.x' 2019-02-27 15:19:37 +01:00
Stephane Nicoll eebd906c8a Polish contribution
Closes gh-16047
2019-02-27 15:10:43 +01:00
Dan Zheng 2c4afb3bd8 Fix NamedParameterJdbcTemplate precedence with database migration tools
See gh-16047
2019-02-27 15:10:20 +01:00
Stephane Nicoll 715db153e3 Polish "Remove code deprecated in 2.1"
Closes gh-16013
2019-02-27 11:15:48 +01:00
Mehmed Baždar 246111cd84 Remove code deprecated in 2.1
See gh-16013
2019-02-27 10:08:48 +01:00
Andy Wilkinson f2e3e274a8 Merge branch '2.1.x' 2019-02-21 08:19:43 +00:00
Andy Wilkinson 53326695ea Polish 2019-02-21 08:13:54 +00:00
Andy Wilkinson de0c065625 Inject single-use configuration dependencies into bean methods
Closes gh-15751
2019-02-20 17:02:43 +00:00
Johnny Lim 55f5f2f910 Polish
Closes gh-15987
2019-02-19 09:14:40 +01:00
Stephane Nicoll ddfdc48161 Merge branch '2.1.x' 2019-02-18 21:25:25 +01:00
Stephane Nicoll 42c246cacb Polish contribution
Closes gh-15984
2019-02-18 21:18:51 +01:00
isank e546ed4834 Order TaskExecution auto-config before TaskScheduling auto-config
See gh-15984
2019-02-18 21:18:09 +01:00
Stephane Nicoll fa49dfcaaf Add support for task scheduling shutdown related properties
See gh-15951
2019-02-18 21:13:32 +01:00
Stephane Nicoll d2cbf08f09 Polish "Add support for task executor shutdown related properties"
Closes gh-15951
2019-02-18 21:13:32 +01:00
Filip Hrisafov 3b47ba21a8 Add support for task executor shutdown related properties
See gh-15951
2019-02-18 21:13:32 +01:00
Andy Wilkinson add8c6f295 Align HypermediaAutoConfigurationTests with latest HATEOAS API changes
See gh-15939
2019-02-18 09:41:11 +00:00
Stephane Nicoll 71df2f311b Polish "Expose Tomcat AccessLog Max days property"
Closes gh-15954
2019-02-14 16:01:21 +01:00
Dmytro Nosan 596f0c28c0 Expose Tomcat AccessLog Max days property
See gh-15954
2019-02-14 16:01:21 +01:00
Stephane Nicoll 8939a7eec3 Merge branch '2.1.x' 2019-02-14 15:35:18 +01:00
Stephane Nicoll f3e142cb7c Polish "Stop using imports from shaded dependencies"
Closes gh-15950
2019-02-14 15:34:03 +01:00
Michael Simons de7812aa3a Stop using imports from shaded dependencies
See gh-15950
2019-02-14 15:34:03 +01:00
Andy Wilkinson 747e419db1 Merge branch '2.1.x' 2019-02-13 17:45:45 +00:00
Andy Wilkinson 9fb0b97f96 Decorate test containers so tests are skipped without Docker
Closes gh-15901
Closes gh-15638
2019-02-13 17:44:45 +00:00
Stephane Nicoll 3d6def9f81 Handle BatchMessagingMessageConverter with Kafka batch listeners
Closes gh-15942
2019-02-13 17:06:38 +01:00
Andy Wilkinson 18174a8e9e Polish "Add opt-in support for Neo4j-OGM native types"
See gh-15637
2019-02-13 15:04:54 +00:00
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
2019-02-13 14:38:44 +00:00
Andy Wilkinson e924745bf8 Start building against Spring Data Moore M2 snapshots
See gh-15197
2019-02-13 11:26:37 +00:00
Andy Wilkinson c41924f7d4 Merge branch '2.1.x' 2019-02-12 15:45:55 +00:00
Andy Wilkinson ab8fcf0d71 Polish "Use class for @ConditionalOnClass"
See gh-15775
2019-02-12 15:45:05 +00:00
Johnny Lim b423962c89 Use class for @ConditionalOnClass
See gh-15775
2019-02-12 15:45:00 +00:00
Andy Wilkinson 48e781181e Merge branch '2.1.x' 2019-02-12 14:15:20 +00:00
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
2019-02-12 14:05:36 +00:00
Andy Wilkinson db31e42751 Merge branch '2.1.x' 2019-02-12 09:58:21 +00:00
Andy Wilkinson a975c0ad16 Use Testcontainers’ CassandraContainer rather than our own
Closes gh-15901
2019-02-12 09:58:05 +00:00
Andy Wilkinson 6fe226d781 Merge branch '2.1.x' 2019-02-11 17:38:24 +00:00
Andy Wilkinson 20f26c4d30 Polish "Fix stopping of Embedded Mongo before context is closed"
See gh-15692
2019-02-11 17:34:40 +00:00
Eugene 750246f021 Fix stopping of Embedded Mongo before context is closed
See gh-15692
2019-02-11 17:33:59 +00:00
Andy Wilkinson b5c9afc055 Merge branch '2.1.x' 2019-02-11 17:12:51 +00:00
Andy Wilkinson 295a660e35 Polish "Set NO_REQUEST_TIMEOUT as a server option not a socket option"
See gh-15822
2019-02-11 17:11:20 +00:00
ayudovin dbce3731a4 Set NO_REQUEST_TIMEOUT as a server option not a socket option
See gh-15822
2019-02-11 17:08:16 +00:00
Andy Wilkinson c6a1df6cd4 Merge branch '2.1.x' 2019-02-11 16:42:29 +00:00
Jeffrey van der Laan 4f86233ca7 Do not auto-configure OEMIV filter when user defines registration bean
See gh-15889
2019-02-11 16:33:06 +00:00
Kedar Joshi 4a253ff87c Polish
1. Removed unnecessary null checks
2. Combined collection initialization and modification
3. Minor collections related optimizations

Closes gh-15837
2019-02-10 10:35:36 +01:00
Madhura Bhave 4d69e127c8 Merge branch '2.1.x' 2019-02-08 18:38:21 -08:00
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
2019-02-08 18:38:01 -08:00
Brian Clozel e8fef97335 Merge branch '2.1.x' 2019-02-08 12:29:39 +01:00
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
2019-02-08 12:25:05 +01:00
Andy Wilkinson 45cc649c7d Merge branch '2.1.x' 2019-02-04 12:36:33 +00:00
Andy Wilkinson 82bc87560c Use AssertJ’s exception assertions rather than fail
Closes gh-15761
2019-02-04 11:48:26 +00:00
Stephane Nicoll 5269ea5536 Polish contribution
Closes gh-15754
2019-01-31 16:33:38 +01:00
Johnny Lim 6603033bbc Polish SessionConfigurationImportSelector.selectImports()
See gh-15754
2019-01-31 16:33:02 +01:00
Stephane Nicoll 002fa405a8 Merge branch '2.1.x' 2019-01-31 16:26:37 +01:00
Stephane Nicoll ede23caace Polish "Inject Map directly rather than via ObjectProvider"
Closes gh-15798
2019-01-31 16:25:18 +01:00
ayudovin 3a2e85ce75 Inject Map directly rather than via ObjectProvider
See gh-15798
2019-01-31 16:24:18 +01:00
Stephane Nicoll c5675de666 Polish "Handle AccessControlException in JspTemplateAvailabilityProvider"
Closes gh-15778
2019-01-31 16:21:48 +01:00
ayudovin 81273bdf9a Handle AccessControlException in JspTemplateAvailabilityProvider
See gh-15778
2019-01-31 16:20:19 +01:00
dreis2211 d4ab101223 Use Assertions.contentOf() where possible
Closes gh-15793
2019-01-28 10:08:57 +01:00
Stephane Nicoll 342212b8dc Merge branch '2.1.x' 2019-01-28 10:08:02 +01:00
Stephane Nicoll 6f86a84301 Polish "Alias auto-configured `TaskExecutor` to make async tasks use it"
Closes gh-15748
2019-01-28 10:04:30 +01:00
Camille Vienot d0859f1569 Alias auto-configured `TaskExecutor` to make async tasks use it
See gh-15748
2019-01-28 09:59:55 +01:00
Andy Wilkinson 530c7bee71 Do not auto-configure HttpMessageConverters in reactive web apps
Closes gh-15712
2019-01-18 14:57:14 -05:00
Andy Wilkinson 6abd18ae96 Do not auto-configure RestTemplateBuilder in reactive web apps
Closes gh-15718
2019-01-18 14:50:24 -05:00
Andy Wilkinson 5d60d6bd62 Use ApplicationContextRunner to test RestTemplateAutoConfiguration 2019-01-18 14:36:18 -05:00
Andy Wilkinson 7dd65074e8 Only perform background pre-init with multiple processors
Closes gh-15722
2019-01-18 11:50:17 -05:00
Stephane Nicoll 6baa6b291e Polish contribution
Closes gh-15695
2019-01-14 08:11:20 -05:00
Johnny Lim af3ed9ff9f Polish
See gh-15695
2019-01-14 08:09:32 -05:00
Phillip Webb 2f77ef7722 Merge branch '2.1.x' 2019-01-11 16:45:05 -08:00
Phillip Webb 6a901199f5 Polish 2019-01-11 16:42:02 -08:00
Stephane Nicoll 8d1d3fb087 Polish "Avoid string concatenation inside StringBuilder append()"
Closes gh-15589
2019-01-11 08:30:12 +01:00
igor-suhorukov 59ac85d371 Avoid string concatenation inside StringBuilder append()
See gh-15589
2019-01-11 08:28:19 +01:00
Brian Clozel a83d9635af Merge branch '2.1.x' 2019-01-08 16:13:35 +01:00
Brian Clozel 6200a319f2 Polish
Closes gh-15385
2019-01-08 16:13:18 +01:00
ayudovin e9588ca04b Support server.connection-timeout for Netty server 2019-01-08 16:03:08 +01:00
Stephane Nicoll 448f1626f9 Merge branch '2.1.x' 2019-01-07 14:56:18 +01:00
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
2019-01-07 14:54:59 +01:00
Stephane Nicoll 6ba1f40e59 Polish "Allow easy customization of EmbeddedMongo DownloadConfig"
Closes gh-15496
2019-01-02 10:33:17 +01:00
michael b5b6889601 Allow easy customization of EmbeddedMongo DownloadConfig
See gh-15496
2019-01-02 10:30:33 +01:00
Madhura Bhave 19caff6776 Merge branch '2.1.x' 2018-12-31 13:24:52 -08:00
Oleksii Bondar b52dddf784 Refactor OAuth2ClientPropertiesRegistrationAdapterTests
Closes gh-15586
2018-12-31 13:18:00 -08:00
Stephane Nicoll d0811b48df Polish "Disable Hibernate entity scanning for default JPA setup"
Closes gh-15565
2018-12-31 16:51:43 +01:00
ayudovin 510a8e2ec1 Disable Hibernate entity scanning for default JPA setup
See gh-15565
2018-12-31 16:51:31 +01:00
Stephane Nicoll 33547569db Merge branch '2.1.x' 2018-12-31 10:36:41 +01:00
Stephane Nicoll c6202b57e0 Merge branch '2.0.x' into 2.1.x 2018-12-31 10:36:24 +01:00
Stephane Nicoll be161b23cb Polish class conditions documentation
Closes gh-15578
2018-12-31 10:36:02 +01:00
dreis2211 0f5f6f15dc Use hasFieldOrPropertyWithValue where possible
Closes gh-15582
2018-12-30 09:48:27 +01:00
Stephane Nicoll b578dc05df Polish 2018-12-26 09:16:27 +01:00
igor-suhorukov dfb3cd51bc Simplify code by using for-each loop
See gh-15563
2018-12-25 09:58:42 +01:00
Stephane Nicoll fd12e696b0 Polish "Replace redundant call to class isInstance() with instanceof"
Closes gh-15554
2018-12-23 15:51:39 +01:00
igor-suhorukov 7424f48803 Replace redundant call to class isInstance() with instanceof
See gh-15554
2018-12-23 15:50:22 +01:00
Andy Wilkinson ddf64802c0 Merge branch '2.1.x' 2018-12-21 15:13:10 +00:00
Andy Wilkinson bfd63ab085 Polish "Stop JtaAutoConfiguration from enabling JtaProperties when not used"
Closes gh-15550
2018-12-21 15:12:29 +00:00
Nishant Raut 0b29da14b3 Stop JtaAutoConfiguration from enabling JtaProperties when not used
See gh-15550
2018-12-21 15:12:29 +00:00
Stephane Nicoll 9d67400afa Merge branch '2.1.x' 2018-12-20 17:54:08 +01:00
igor-suhorukov e578d30722 Replace anonymous inner class with lambda
See gh-15438
2018-12-20 17:47:29 +01:00
Andy Wilkinson 3a7406fe3a Merge branch '2.0.x' into 2.1.x 2018-12-20 15:58:03 +00:00
Andy Wilkinson 0741c90489 Avoid blocking on a Mono indefinitely
Closes gh-15535
2018-12-20 15:31:39 +00:00
Andy Wilkinson 9d2d6d5812 Merge branch '2.1.x' 2018-12-20 15:30:51 +00:00
Andy Wilkinson 9a33d1a2f9 Merge branch '2.0.x' into 2.1.x 2018-12-20 15:30:42 +00:00
Andy Wilkinson 8c68da0882 Avoid blocking on a Mono indefinitely
Closes gh-15535
2018-12-20 15:24:53 +00:00
Andy Wilkinson 70f4d5e5a8 Polish "Apply context and connector customizer beans to Tomcat factories"
Closes gh-15492
2018-12-19 17:09:21 +00:00
Raheela 90c489048f Apply context and connector customizer beans to Tomcat factories
See gh-15492
2018-12-19 17:01:02 +00:00
Andy Wilkinson c8a0c99a21 Remove D…S…Init…InvokerTests' assumptions about classpath structure
See gh-15471
2018-12-17 16:35:22 +00:00
Stephane Nicoll 6207b46bc6 Merge branch '2.1.x' 2018-12-17 17:07:58 +01:00
dreis2211 948902f090 Avoid unnecessary usage of ReflectionTestUtils
Closes gh-15482
2018-12-17 17:07:23 +01:00
Andy Wilkinson 61d04db0d7 Minimize and centralize assumptions about build output
Closes gh-15471
2018-12-14 17:50:20 +00:00
Andy Wilkinson 064f6478df Move back to JUnit 4 until SUREFIRE-1614 has been resolved
See gh-14736
See gh-14737
See gh-14738
2018-12-12 16:49:30 +00:00
Andy Wilkinson 2b453bbb16 Minimise dependencies on Log4j2
Closes gh-15441
2018-12-12 08:19:34 +00:00
Madhura Bhave f863ce32ee Merge branch '2.1.x' 2018-12-10 16:44:42 -08:00
Madhura Bhave 3cc441c83e Do not remove trailing slash from OAuth2 Issuer URI
Fixes gh-15324
2018-12-10 16:35:52 -08:00
Andy Wilkinson beffc4da9f Remove ordering dependence from tests that create embedded databases
Closes gh-15423
2018-12-10 14:57:39 +00:00
Stephane Nicoll ba29788482 Polish "Replace explicit generic type with diamond operator"
Closes gh-15424
2018-12-09 11:43:28 +01:00
igor-suhorukov a2ebba8db1 Replace explicit generic type with diamond operator
See gh-15424
2018-12-09 11:42:27 +01:00
Madhura Bhave f040459ae5 Merge branch '2.1.x' 2018-12-07 14:32:07 -08:00
Madhura Bhave a11dea46d7 Use the right class in @ConditionalOnClass
See gh-15372
2018-12-07 14:15:59 -08:00
Madhura Bhave e0b55d36de Merge branch '2.1.x' 2018-12-07 13:51:11 -08:00
Madhura Bhave f13697b278 Make Resource Server auto-config conditional on JwtDecoder class
Fixes gh-15372
2018-12-07 13:48:32 -08:00
Andy Wilkinson d3e5c5688f Polish 2018-12-07 19:58:13 +00:00
Stephane Nicoll d5f90ffcfb Polish "Replace this lambda with a method reference"
Closes gh-15401
2018-12-07 11:10:10 +01:00
igor-suhorukov 5c1813aef8 Replace this lambda with a method reference
See gh-15401
2018-12-07 11:01:42 +01:00
Madhura Bhave 5a18df2d69 Fix tests 2018-12-05 18:33:50 -08:00
Madhura Bhave 59d2b0a3fb Upgrade tests to Junit5
See gh-14737
2018-12-05 17:49:09 -08:00
Stephane Nicoll 95b94c0158 Merge branch '2.1.x' 2018-12-04 10:53:41 +01:00
Stephane Nicoll c56c0ff433 Rename OAuth2ResourceServerJwkConfiguration
Closes gh-15375
2018-12-04 10:53:01 +01:00
Stephane Nicoll bbad720e23 Polish contribution
Closes gh-15086
2018-12-03 14:23:16 +01:00
Razib Shahriar 9e571a2827 Fail fast if nested condition uses a phase inappropriate for its members
See gh-15086
2018-12-03 14:14:29 +01:00
Stephane Nicoll 0df13baa0f Polish "Add configurable property for JWK encryption algorithm"
Closes gh-15145
2018-12-03 11:49:18 +01:00
artsiom 460fdaf52f Add configurable property for JWK encryption algorithm
See gh-15145
2018-12-03 11:35:10 +01:00
Stephane Nicoll ec678eaa3b Polish "Configure MessageSource if no "messageSource" bean defined"
Closes gh-15212
2018-12-03 11:28:26 +01:00
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
2018-12-03 11:28:07 +01:00
Stephane Nicoll 1b40b0edf1 Polish contribution
Closes gh-15054
2018-12-03 11:16:54 +01:00
artsiom 3059f0e2e2 Add configuration property for configuring Tomcat's processor cache
See gh-15054
2018-12-03 11:13:19 +01:00
Phillip Webb ba1ef52e39 Merge branch '2.0.x' 2018-11-29 15:32:48 -08:00
Phillip Webb 74376aa023 Polish 2018-11-29 15:30:28 -08:00
Andy Wilkinson ac322a8e30 Polish 2018-11-29 14:45:20 +00:00
Madhura Bhave fc6c07ad3c Merge branch '2.0.x' 2018-11-28 17:41:11 -08:00
Madhura Bhave decaacddce Account for application path for Jersey servlet endpoints
Closes gh-14895
2018-11-28 17:25:32 -08:00
Stephane Nicoll 114347107e Polish key description 2018-11-28 11:31:48 +01:00
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
2018-11-28 11:29:21 +01:00
dreis2211 17f04b8b75 Replace DirectFieldAccessor usages by hasFieldOrPropertyWithValue
Closes gh-15312
2018-11-28 08:47:41 +01:00
Andy Wilkinson cf7664c01a Cope with version not found in Embedded Mongo's Version enum
Closes gh-15311
2018-11-27 16:33:22 +00:00
Andy Wilkinson b094e28081 Remove auto-configuration of RequestContextFilter when using Jersey
Closes gh-15048
2018-11-27 15:39:46 +00:00
Andy Wilkinson fb3deab89d Merge branch '2.0.x' 2018-11-27 13:55:33 +00:00
Andy Wilkinson e81abc3f11 Order jacksonCodecCustomizer so user-provided customizer can go after it
Closes gh-15167
2018-11-27 13:51:33 +00:00
Andy Wilkinson f6a22a05b8 Merge branch '2.0.x' 2018-11-27 11:21:22 +00:00
Andy Wilkinson 9553d4f64b Polish "Auto-configure Spring Session's cookie serializer"
Closes gh-15163
2018-11-27 11:08:15 +00:00
Vedran Pavic 0daf83efab Auto-configure Spring Session's cookie serializer
See gh-15163
2018-11-27 11:08:05 +00:00
Stephane Nicoll 8928cd1982 Deprecate spring.rabbitmq.template.queue
Closes gh-15301
2018-11-27 09:55:45 +01:00
Stephane Nicoll a240e22593 Adapt to Rabbit internal change
See gh-15271
2018-11-27 08:31:46 +01:00
Andy Wilkinson 073ac7bc99 Fix Thymeleaf security dialect tests on Windows 2018-11-26 16:15:15 +00:00
Stephane Nicoll ae1979f1ff Merge branch '2.0.x' 2018-11-26 10:35:37 +01:00
Stephane Nicoll 5f0ac46d78 Unwrap DataSource target rather than plain instanceof calls
Closes gh-15227
2018-11-26 10:35:10 +01:00
Stephane Nicoll e424dfbe15 Polish "Perform best effort to retrieve DataSourceProxy"
Closes gh-15206
2018-11-26 10:18:48 +01:00
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
2018-11-26 10:18:48 +01:00
Andy Wilkinson 4f405ed97d Merge branch '2.0.x' 2018-11-23 15:45:13 +00:00
Andy Wilkinson 058428a14c Clarify how multiple attributes are treated by ConditionalOn(Missing)Bean
Closes gh-15177
2018-11-23 15:44:58 +00:00
Andy Wilkinson 3bda78a3d3 Fix tests after HandlerExceptionResolver logging changes
See gh-14936 and gh-15189
2018-11-22 20:27:19 +00:00
Dave Syer b6aff10244 Temporarily make @Bean methods in Spring Data JDBC public
Closes gh-15097
2018-11-16 14:53:33 +01:00
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
2018-11-15 09:17:26 +01:00
Stephane Nicoll 2f4325d00f Polish 2018-11-15 09:06:44 +01:00
Brian Clozel d84421b7e1 Improve HttpMessageConverters javadoc
Closes gh-15027
2018-11-14 15:06:41 +01:00
Johnny Lim fd5aa3ebf1 Polish
See gh-15134
2018-11-11 11:03:13 +01:00
Stephane Nicoll 089ef9085a Polish "Add HANA to the lookup of well-known databases"
Closes gh-15125
2018-11-10 18:02:01 +01:00
Jonathan Bregler 85754eaddd Add HANA to the lookup of well-known databases
See gh-15125
2018-11-10 17:59:29 +01:00
Andy Wilkinson e7d921c216 Align test expectations with styling of stack trace div
Closes gh-15075
2018-11-08 12:31:21 +00:00
Andy Wilkinson bfb0886495 Tolerate Hibernate 5.2
Closes gh-15100
2018-11-08 12:24:22 +00:00
Brian Clozel 159f947870 Polish
Closes gh-15075
2018-11-07 09:40:11 +01:00
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.
2018-11-07 09:40:11 +01:00
dreis2211 3e95af2c85 Polish some Map operations
Closes gh-15103
2018-11-06 07:41:55 +01:00
dreis2211 5e35ac6ce5 Remove unused static methods in tests
Closes gh-15084
2018-11-05 07:38:49 +01:00
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
2018-11-04 09:58:41 +01:00
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
2018-11-03 21:28:48 +01:00
Stephane Nicoll 980d8ea0ad Merge branch '2.0.x' 2018-11-01 17:49:56 +09:00
Stephane Nicoll 2927195b02 Fix StaticResourceRequest javadoc examples
Closes gh-15050
2018-11-01 17:48:56 +09:00
Phillip Webb f3fa20b2d1 Polish 2018-10-29 14:25:45 -07:00
Andy Wilkinson 743782de7e Revert reloadable message source support
Closes gh-14882
See gh-14699
See gh-13377
2018-10-29 16:24:59 +00:00
Andy Wilkinson f492285999 Polish "Make auto-configured applicationTaskExecutor bean lazy"
Closes gh-14934
2018-10-29 12:15:04 +00:00
artsiom 4f92e857e9 Make auto-configured applicationTaskExecutor bean lazy
See gh-14934
2018-10-29 12:14:03 +00:00
Andy Wilkinson 0e08d379ae Polish "Add CachingMetadataReaderFactoryPostProcessor earlier in context lifecyle"
See gh-14907
2018-10-29 11:36:49 +00:00
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
2018-10-29 11:36:10 +00:00
Phillip Webb 22c7546607 Polish 2018-10-28 21:05:54 -07:00
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
2018-10-28 21:04:17 -07:00
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
2018-10-28 20:56:51 -07:00
Phillip Webb 1a0a8470e5 Merge branch '2.0.x' 2018-10-26 13:37:39 -07:00
Phillip Webb 62b9268cec Polish "Fix Spring Batch job restart parameters handling"
See gh-14933
2018-10-26 13:30:50 -07:00
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
2018-10-26 13:24:02 -07:00
Vedran Pavic 6e967fe860 Upgrade to Hazelcast 3.11
Closes gh-14949
2018-10-25 15:57:59 -07:00
Hanope 65e3b9ff5b Fix typos
Closes gh-14954
2018-10-26 07:34:58 +09:00
Brian Clozel 755c4b8b98 Update spring.mvc.log-resolved-exception description
Closes gh-14936
2018-10-25 11:04:20 +02:00
Phillip Webb 2097b6a4c1 Improve ResourceUrlEncodingFilter conditions
Update Thymeleaf and FreeMarker configurations to make use of the new
`@ConditionalOnMissingFilterBean` annotation.

Closes gh-14926
2018-10-24 15:10:49 -07:00
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
2018-10-24 15:10:49 -07:00
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
2018-10-24 15:10:49 -07:00
Phillip Webb 4d3d711e0e Migrate ConditionalOnMissingBeanTests to context runner 2018-10-24 15:10:49 -07:00
Phillip Webb 1bd1ffdb60 Polish 2018-10-24 15:10:49 -07:00
dreis2211 4857b45ea5 Replace lambdas with method reference or call
Closes gh-14937
2018-10-24 10:12:36 +02:00
Brian Clozel 1651690d57 Fix tests after HandlerExceptionResolver logging changes
See gh-14936
2018-10-23 15:34:06 +02:00
Madhura Bhave 0dc4afdefd Merge branch '2.0.x' 2018-10-22 15:05:16 -07:00
Madhura Bhave d6991e6d91 Fix formatting violation 2018-10-22 15:02:31 -07:00
Phillip Webb 31335bb50f Merge branch '2.0.x' 2018-10-22 14:35:03 -07:00
Phillip Webb 35221c1142 Polish 2018-10-22 14:26:01 -07:00
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
2018-10-22 14:17:49 -07:00
Andy Wilkinson 22e722d9f9 Polish 2018-10-18 15:51:20 +01:00
Johnny Lim c8c3f59e93 Polish
Closes gh-14884
2018-10-18 09:36:27 +02:00
Stephane Nicoll 474da80b4d Revert "Restructure of security packages"
See gh-14412
2018-10-17 12:22:51 +02:00
Stephane Nicoll 3dc74fea4b Polish 2018-10-16 15:55:07 +02:00
Stephane Nicoll 134682a7de Add error metadata for properties removed recently 2018-10-16 15:55:07 +02:00
Andy Wilkinson bd0a41d82d Merge branch '2.0.x' 2018-10-16 13:31:35 +01:00
Brian Clozel 96fc92609d Polish
Closes gh-14849
2018-10-16 12:23:04 +02:00
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`
2018-10-16 12:23:04 +02:00
Johnny Lim 7f9671fd14 Polish
Closes gh-14843
2018-10-16 11:38:51 +02:00
Stephane Nicoll 39f8b685df Merge branch '2.0.x' 2018-10-16 11:38:39 +02:00
Johnny Lim 47daf96c48 Polish
See gh-14843
2018-10-16 11:37:02 +02:00
Brian Clozel 8397878857 Polish
See gh-12838
2018-10-16 10:35:25 +02:00
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
2018-10-16 01:01:11 -07:00
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
2018-10-16 01:01:10 -07:00
Phillip Webb b8bc4c6f3c Delete deprecated SecurityPrerequisite
Remove `SecurityPrerequisite` which was deprecated in 2.0.6.

See gh-14846
2018-10-15 22:02:09 -07:00
Phillip Webb d558a1a762 Merge branch '2.0.x' 2018-10-15 22:01:25 -07:00
Phillip Webb 8ecb659a35 Deprecate SecurityPrerequisite
Deprecate `SecurityPrerequisite` interface since we don't support it
in Spring Boot 2.

Closes gh-14846
2018-10-15 21:00:53 -07:00
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
2018-10-15 22:22:36 +02:00
Andy Wilkinson e53e8bf79f Merge branch '2.0.x' 2018-10-15 15:29:10 +01:00
Andy Wilkinson 0fedf8d2af Keep Liquibase-specific DataSource open for use by LiquibaseEndpoint
Closes gh-13832
2018-10-15 15:26:26 +01:00
Andy Wilkinson ab7c1af3ec Auto-configure SpringSecurityDialect for v5 and deprecate v4
Closes gh-14828
2018-10-15 12:18:40 +01:00
Brian Clozel d5236b91ce Polish 2018-10-15 10:59:38 +02:00
artsiom 9e5f171510 Support cachecontrol config property in WebFlux
Closes gh-14724
2018-10-15 10:59:38 +02:00
Stephane Nicoll 1a0d53dec0 Replace ReflectionTestUtils usage by hasFieldOrPropertyWithValue
Closes gh-14696
2018-10-15 08:25:10 +02:00
Andy Wilkinson 6e5310900b Switch from thymeleaf-extras-springsecurity4 to extras-springsecurity5
Closes gh-14806
2018-10-13 19:57:04 +01:00
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
2018-10-12 11:32:55 +02:00
Stephane Nicoll 11efe92ce7 Polish "Configure Cassandra JMX Reporting"
Closes gh-14778
2018-10-12 10:41:47 +02:00
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
2018-10-11 23:13:23 -07:00
Phillip Webb d6df7cf324 Update copyright year for changed files 2018-10-11 22:39:43 -07:00
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
2018-10-11 13:40:57 -07:00
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
2018-10-11 18:15:27 +02:00
artsiom 8f3b58fa98 Replace ReflectionTestUtils usage by hasFieldOrPropertyWithValue
Closes gh-14783
2018-10-11 17:49:37 +02:00
Stephane Nicoll d37df3d718 Add support for customizing Flyway's configuration
Closes gh-14786
2018-10-11 17:45:20 +02:00
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
2018-10-11 17:45:15 +02:00
Andy Wilkinson 459d2943e7 Polish 2018-10-11 12:29:49 +01:00
Andy Wilkinson 85a4fb389d Merge branch '2.0.x' 2018-10-11 11:51:56 +01:00
Andy Wilkinson a296a805c5 Tolerate different quoting of annotation attributes on Java 8 and 9+
Closes gh-13594
2018-10-11 11:51:34 +01:00
Stephane Nicoll 3f4fbe32ff Merge branch '2.0.x' 2018-10-11 11:56:13 +02:00
Stephane Nicoll 81377e2fd5 Invoke Flyway#setCallbacks only if necessary
Closes gh-14775
2018-10-11 11:50:53 +02:00
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
2018-10-10 22:02:05 -07:00
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
2018-10-10 17:51:41 -07:00
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
2018-10-10 12:40:11 -07:00
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
2018-10-10 10:00:44 -07:00
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
2018-10-10 16:01:59 +02:00
Stephane Nicoll c5122fb365 Merge branch '2.0.x' 2018-10-10 15:44:12 +02:00
Hanope 29b453d8b0 Fix typo
Closes gh-14770
2018-10-10 15:43:29 +02:00
Stephane Nicoll c91d9bfda8 Polish "Add encoding support for git and build properties"
Closes gh-10771
2018-10-10 13:43:44 +02:00
hengyunabc f7a4a56fba Add encoding support for git and build properties
See gh-10771
2018-10-10 13:43:44 +02:00
Andy Wilkinson 646c20ed6a Merge branch '2.0.x' 2018-10-10 12:22:00 +01:00
Andy Wilkinson f9b6c1ab4d Include more information in NoSuchBeanDefinition failure analysis
Closes gh-13594
2018-10-10 12:21:46 +01:00
Madhura Bhave b18751ebd9 Provide loggingCodecCustomizer only if property is set
Fixes gh-14723
2018-10-09 14:41:17 -07:00
Andy Wilkinson 37c60b6603 Merge branch '2.0.x' 2018-10-09 17:47:18 +01:00
Andy Wilkinson 3f7a01fd27 Use ApplicationContextRunner in SpringDataWebAutoConfigurationTests
See gh-14413
2018-10-09 17:46:55 +01:00
Andy Wilkinson fa47073d11 Merge branch '2.0.x' 2018-10-09 15:09:15 +01:00
Andy Wilkinson c6fdb4f0f2 Improve documentation of Quartz DataSource customization
Closes gh-12780
2018-10-09 15:05:25 +01:00
Andy Wilkinson f2446f78df Align Session Redis tests with changes in latest Apple snapshots
See gh-14732
2018-10-09 12:39:08 +01:00
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
2018-10-09 13:33:14 +02:00
Stephane Nicoll 7da3396555 Merge branch '2.0.x' 2018-10-08 10:45:49 +02:00
dreis2211 55ec016bac Remove unused fields in tests
Closes gh-14707
2018-10-08 10:40:04 +02:00
Phillip Webb 01b8667dd7 Update copyright year for changed files 2018-10-05 13:40:07 -07:00
Phillip Webb 6aedb69443 Update copyright year for changed files 2018-10-05 13:31:33 -07:00
Andy Wilkinson 4d1fc196de Use Windows-specific custom features so download URI is correct
Closes gh-14690
2018-10-05 14:56:07 +01:00
Andy Wilkinson 9bc6dbd8d8 Merge branch '2.0.x' 2018-10-05 13:06:38 +01:00
Andy Wilkinson ad647ba073 Make JSON-B auto-config back of if no JSON-P implementation is available
Closes gh-14675
2018-10-05 13:05:14 +01:00
Andy Wilkinson 8a7d127600 Merge branch '2.0.x' 2018-10-05 11:04:10 +01:00
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
2018-10-05 11:03:49 +01:00
Phillip Webb 11ac9bf6b5 Polish "Add ReloadableResourceBundleMessageSource support"
See gh-13377
2018-10-04 19:45:42 -07:00
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
2018-10-04 19:45:41 -07:00
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
2018-10-04 19:45:41 -07:00
Madhura Bhave daa3d457b7 Revert OAuth2 Client Registration Grant Type Hierarchy
Closes gh-14554
2018-10-04 15:21:36 -07:00
Stephane Nicoll 7e3bee35d7 Merge branch '2.0.x' 2018-10-04 17:54:25 +02:00
Stephane Nicoll 6cc272ecf5 Polish "Make sure cache busting works with error pages"
Closes gh-14583
2018-10-04 17:53:56 +02:00
artsiom 64f04fceea Make sure cache busting works with error pages
See gh-14583
2018-10-04 17:53:56 +02:00
Stephane Nicoll 5d0e812afe Merge branch '2.0.x' 2018-10-04 15:53:26 +02:00
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
2018-10-04 15:49:04 +02:00
Stephane Nicoll d445ed7560 Merge branch '2.0.x' 2018-10-04 12:24:14 +02:00
Roland Weisleder d2a063b26a Clarify Javadoc of ConditionalOn annotations
Closes gh-14681
2018-10-04 12:22:52 +02:00
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
2018-10-03 17:29:54 +01:00
Andy Wilkinson 7cbee701cd Allow user-provided ExecuteListenerProvider to go after Boot's
Closes gh-14598
2018-10-03 16:56:50 +01:00
Johnny Lim 335775892b Polish
See gh-14667
2018-10-03 13:57:18 +02:00
Phillip Webb d76bba5e6f Migrate from ExpectedException rule to AssertJ
Replace ExpectedException JUnit rules with AssertJ exception
assertions.

Closes gh-14336
2018-10-02 10:55:28 -07:00
Stephane Nicoll aaecdfb527 Deprecate Cassandra properties that require a default constructor
Closes gh-14473
2018-10-02 17:43:59 +02:00
Stephane Nicoll 068040e227 Register SpringBeanContainer with default Hibernate setup
Closes gh-13717
2018-10-02 16:41:02 +02:00
Phillip Webb 2add65fe15 Polish Neo4J BookmarkManager auto-configuration
Closes gh-14568
2018-10-01 10:34:10 -07:00
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
2018-10-01 10:29:17 -07:00
Johnny Lim b079eeff1a Polish
Closes gh-14621
2018-10-01 10:51:13 -04:00
Stephane Nicoll 2d36a6f952 Merge branch '2.0.x' 2018-10-01 10:50:58 -04:00
Johnny Lim 1eca492c5e Polish
See gh-14621
2018-10-01 10:46:27 -04:00
Johnny Lim 698bbd6a9e Polish
Closes gh-14597
2018-09-26 11:45:21 -04:00
Andy Wilkinson f88ebf75cd Use Mongo 3.5.5 by default with Embedded mongo
Closes gh-14476
2018-09-25 16:44:38 -04:00
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
2018-09-25 15:19:34 -04:00
Phillip Webb a04e913c22 Make ResourceHandlerRegistrationCustomizer public
Make `ResourceHandlerRegistrationCustomizer` a public top level class.

Closes gh-14587
2018-09-24 10:20:25 -04:00
Phillip Webb ff98ba0fa5 Allow early OnWebApplication filtering
Update `OnWebApplicationCondition` to be an
`AutoConfigurationImportFilter` and filter out classes early.

Closes gh-13328
2018-09-24 09:46:30 -04:00
Phillip Webb c2f8398c06 Allow early OnBeanCondition filtering
Update `OnBeanCondition` to be an `AutoConfigurationImportFilter` and
filter out classes early.

See gh-13328
2018-09-24 09:45:49 -04:00
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
2018-09-24 09:45:05 -04:00
Stephane Nicoll 831b0d7bdd Merge branch '2.0.x' 2018-09-23 10:49:17 +02:00
Stephane Nicoll 885948ce3b Polish 2018-09-23 10:47:09 +02:00
Stephane Nicoll 92afd041b0 Merge branch '2.0.x' 2018-09-22 19:31:45 +02:00
artsiom 7fb13d0dc2 Fix WebSocket web server customizer bean names
Closes gh-14582
2018-09-22 19:29:48 +02:00
Andy Wilkinson 8e9a93e5f3 Align SessionAutoConfigurationRedisTests with changes in Bean-RC1
See gh-14573
2018-09-22 14:57:43 +01:00
Andy Wilkinson 5d0a1ee0da Upgrade to Spring AMQP 2.1.0.RC1
Closes gh-14574
2018-09-21 19:22:33 +01:00
Stephane Nicoll 9d46fee6db Merge branch '2.0.x' 2018-09-21 16:47:33 +02:00
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
2018-09-21 16:46:12 +02:00
Stephane Nicoll cbae22f0c9 Polish "Migrate size properties to DataSize"
Closes gh-14549
2018-09-21 16:27:28 +02:00
qct eb9f635004 Migrate size properties to DataSize
See gh-14549
2018-09-21 16:01:55 +02:00
Andy Wilkinson 4b00dc8a5c Add support for Spring Data JDBC (auto-config, starter, and test slice)
Closes gh-14489
2018-09-21 14:18:52 +01:00
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
2018-09-20 16:16:42 +01:00
Andy Wilkinson cc6cf880cf Stop using ObjectProvider<List> and ObjectProvider<Collection>
Closes gh-14467
2018-09-20 13:19:40 +01:00
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
2018-09-20 11:27:57 +02:00
Johnny Lim 521f746151 Polish
Closes gh-14517
2018-09-20 09:51:10 +02:00
Andy Wilkinson efae363974 Register functional rather than reflective bean definitions where possible
Closes gh-14516
2018-09-19 19:59:09 +01:00
yongsungjeon 11864f2bb6 Use constant for produces attribute
Closes gh-14501
2018-09-19 11:38:29 +02:00
Johnny Lim d0a252181b Polish
Closes gh-14449
2018-09-19 09:58:31 +02:00
Andy Wilkinson c1b864c826 Polish 2018-09-18 11:18:28 +01:00
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.
2018-09-17 15:25:54 -07:00
Madhura Bhave b2dd162572 Merge branch '2.0.x' 2018-09-17 14:30:38 -07:00
Madhura Bhave d7d5cbf959 Simplify printing ConditionEvaluationReport when using context runner
Closes gh-13119
2018-09-17 14:23:47 -07:00
Andy Wilkinson e1328f05e7 Merge branch '2.0.x' 2018-09-17 15:55:35 +01:00
Andy Wilkinson fc60d9f6d4 Merge branch '1.5.x' into 2.0.x 2018-09-17 15:50:12 +01:00
Gary Russell 19cea75e74 Start building against Spring Kafka 2.2.0 snapshots
See gh-14491
Closes gh-14420
2018-09-17 12:35:37 +01:00
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
2018-09-17 12:29:48 +01:00
Andy Wilkinson a1d1a7392f Polish "Use ExecutorProvider bean if available when auto-configuring jOOQ"
Closes gh-14471
2018-09-17 11:20:45 +01:00
davinkevin 620419f9e4 Use ExecutorProvider bean if available when auto-configuring jOOQ
See gh-14471
2018-09-17 11:15:47 +01:00
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
2018-09-15 18:03:53 -07:00
Madhura Bhave 01e61d88e7 Merge branch '2.0.x' 2018-09-14 11:48:37 -07:00
Madhura Bhave 5708792d82 Merge branch '1.5.x' into 2.0.x 2018-09-14 11:43:33 -07:00
Madhura Bhave d9efca146e Merge branch '2.0.x' 2018-09-14 11:21:31 -07:00
Madhura Bhave 09ccf875b7 Merge branch '1.5.x' into 2.0.x 2018-09-14 11:17:59 -07:00
Madhura Bhave 1113c356dc ReactiveOAuth2ClientAutoConfiguration backs off for servlet env
Fixes gh-14463
2018-09-13 12:39:18 -07:00
Phillip Webb 84b6fff8c0 Update copyright year for changed files 2018-09-11 14:28:28 -07:00
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
2018-09-11 12:51:14 -07:00
Andy Wilkinson 79e3deec0e Merge branch '2.0.x' 2018-09-11 12:41:27 +01:00
Andy Wilkinson 2e86a6f479 Merge branch '1.5.x' into 2.0.x 2018-09-11 12:31:09 +01:00
Madhura Bhave 968a637e50 Refactor ReactiveOAuth2ClientAutoConfiguration for non webapps
Non web applications might want to leverage
`ReactiveClientRegistrationRepository` and
`ServerOAuth2AuthorizedClientRepository` to configure `WebClient`.

Closes gh-14350
2018-09-10 14:13:26 -07:00
Sebastien Deleuze 48367e7741 Make standard JSON builder customiser classes package-private
Closes gh-14399
2018-09-10 16:36:21 +01:00
Madhura Bhave d3ecd02987 Merge branch '2.0.x' 2018-09-07 11:40:27 -07:00
Madhura Bhave e41394233b Harmonize ReactiveSecurityAutoConfiguration
Fixes gh-14263
2018-09-07 11:38:09 -07:00
Stephane Nicoll 24051b42d0 Polish "Add support for configuring missingQueuesFatal property"
See gh-14252
2018-09-07 18:41:23 +02:00
Stephane Nicoll c1322a543c Polish "Add support for configuring missingQueuesFatal property"
Closes gh-14252
2018-09-07 16:44:37 +02:00
Dmytro Nosan 91e731a4b4 Add support for configuring missingQueuesFatal property
See gh-14252
2018-09-07 16:44:36 +02:00