Commit Graph

3049 Commits (61c6662b9cac92d9cb2cd662df9162ab07454039)

Author SHA1 Message Date
Phillip Webb 51c2b049c2 Fix CodecsAutoConfiguration following API change
Update CodecsAutoConfiguration to align with the latest Spring Framework
changes.
7 years ago
Phillip Webb c1101e7eb2 Formatting 7 years ago
Stephane Nicoll 9df0992bd9 Polish "Align with breaking API changes in RedisCacheManager"
Closes gh-9734
7 years ago
Mark Paluch d22cd0cc9e Align with breaking API changes in RedisCacheManager
See gh-9734
7 years ago
Johnny Lim 360e3a492c Polish
closes gh-9729
7 years ago
Phillip Webb 8e3baf3130 Polish 7 years ago
Stephane Nicoll cb13c98649 Polish 7 years ago
Stephane Nicoll fa71051ec6 Polish "Upgrade to Infinispan 9.0.3.Final"
Closes gh-9688
7 years ago
Stephane Nicoll ef5c2afcc9 Polish 7 years ago
Andy Wilkinson dd0ce54425 Improve the type-safety of ContextLoader for servlet and reactive web 7 years ago
Andy Wilkinson 19ddfad63e Migrate some more tests to the new ContextLoader 7 years ago
Phillip Webb eb17aa06f9 Merge branch '1.5.x' 7 years ago
Phillip Webb aa57ca7e18 Polish 7 years ago
Andy Wilkinson b11053afc4 Align with breaking API changes in Spring Data MongoDB 7 years ago
Brian Clozel 64777204d8 Apply codecs auto-configuration to WebFlux
This commit introduces `CodecCustomizer`, a new callback-based interface
for customizing the codecs configuration for WebFlux server and client.

Instances of those customizers are applied to the `WebClient.Builder`
and to the `WebFluxAutoConfiguration` (which deals with both WebFlux and
WebFlux.fn).

For now, only Jackson codecs are auto-configured, by getting the
`ObjectMapper` instance created by Spring Boot. Other codecs can be
configured as soon as WebFlux supports those.

Closes gh-9166
7 years ago
Brian Clozel 4ce726b1a0 Auto-configure WebClient.Builder
This commit adds a new customizer interface for applying
configuration changes to `WebClient.Builder` beans:
`WebClientCustomizer`.

The new WebClient auto-configuration will make available, as a
prototype scoped bean, `WebClient.Builder` instances.
Once injected, developers can use those to create `WebClient`
instances to be used in their application.

`WebClientCustomizer` beans are sorted according to their
`Order` and then applied to the builder instances.

Closes gh-9522
7 years ago
Stephane Nicoll 18ba414000 Add test helper to manipulate the ApplicationContext
This commit adds ContextLoader, a test helper that configures an
ApplicationContext that is meant to simulate a particular
auto-configuration scenario.

The auto-configuration, user configuration and environment can be
customized. The loader invokes a ContextConsumer to assert the context
and automatically close the context once it is done.

Concretely, tests can create a shared field instance of that helper with
the shared configuration to increase its visibility and tune the context
further in each test.

If the context is expected to fail, `loadAndFail` allows to optionally
assert the root exception and consume it for further assertions.

This commit also migrates some tests to illustrate the practical use of
the helper

Closes gh-9634
7 years ago
Stephane Nicoll 2892039ccd Better tests for datasource initialization
See gh-9528
7 years ago
Stephane Nicoll 4e19c47e78 Fix wrong assertion 7 years ago
Stephane Nicoll 1ba0df99b2 Polish 7 years ago
Stephane Nicoll 557361c9e0 Properly set redis password for Cluster and Sentinel config
Closes gh-9583
8 years ago
Stephane Nicoll 1a839d6656 Remove useless cluster check 8 years ago
Stephane Nicoll 1b181b2f34 Upgrade to Tomcat 8.5.16
This commit uses the replacement for deprecated APIs in 8.5.16 to ease
a forward compatibility with Tomcat 9

Closes gh-9611
8 years ago
Johnny Lim 533c418ad4 Polish
Closes gh-9610
8 years ago
Andy Wilkinson 5a4ef50ef1 Adapt to API changes in Spring Data Commons 8 years ago
Stephane Nicoll c99a222759 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 85c7643638 Remove use of 'javax.annotation.Resource'
This commit removes the only use of the `javax.annotation.Resource`
annotation from the codebase. This ensures that injection point are
only defined with Spring's annotation model.

Closes gh-9441
8 years ago
Stephane Nicoll 8ea38d1cbe Merge branch '1.5.x' 8 years ago
Stephane Nicoll 58a1ed19a9 Polish 8 years ago
Stephane Nicoll b465d9d815 Remove dead code 8 years ago
Stephane Nicoll e418cad752 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 5aa27beb54 Polish 8 years ago
Stephane Nicoll 90c4e7518b Detect Neo4j https driver url
Closes gh-9549
8 years ago
Stephane Nicoll 27f8a63f1c Polish "Ensure compatibility with Spring Session module split"
Closes gh-9554
8 years ago
Vedran Pavic ccb1eaf8ed Ensure compatibility with Spring Session module split
This commit updates Spring Session auto-configuration to ensure
compatibility with extraction of `SessionRepository` implementations into
separate Spring Session modules.

See gh-9554
8 years ago
Andy Wilkinson f26f8176b6 Start building against Spring Session 2.0 snapshots
See gh-9541
8 years ago
Stephane Nicoll 885e29934b Clean HibernateJpaAutoConfigurationTests
This commit makes sure that each test runs with the proper datasource
auto-configuration and with an isolated embedded database. This allows
to restrict each test to only what it is supposed to do (rather than
disabling initialization to work around the fact that database is not
in a proper state because it is shared).

Closes gh-9579
8 years ago
Stephane Nicoll aac80e0b02 Polish
Closes gh-9570
8 years ago
Stephane Nicoll beb72ca8ee Merge branch '1.5.x' 8 years ago
Johnny Lim 8ca70a7efd Polish
See gh-9570
8 years ago
Stephane Nicoll 35d062f50d Alias spring.datasource.name to Hikari's poolName property
Closes gh-9547
8 years ago
Stephane Nicoll 78a9ace582 Polish 8 years ago
Stephane Nicoll 03b43225b8 Allow Hikari to export MBeans on the auto-configured datasource
This commit makes sure that if the `register-mbeans` property of the
Hikary datasource config is set, Spring Boot doesn't attempt to expose
the mbean again.

Closes gh-5114
8 years ago
Stephane Nicoll 2916cdf953 Polish 8 years ago
Stephane Nicoll 49797b1153 Polish "Add support for CustomConversions with Cassandra"
Closes gh-8534
8 years ago
Eddú Meléndez 744a1ed497 Add support for CustomConversions with Cassandra
This commit add the support for CustomConversions in
spring-data-cassandra. To customize, bean just need to be declared and
it will be auto-configured.

See gh-8534
8 years ago
Madhura Bhave fce299c1c1 Merge branch '1.5.x' 8 years ago
Madhura Bhave e437c4cd67 OAuth2ClientIdCondition should not match if clientId absent
Fixes gh-9435
8 years ago
Andy Wilkinson 2ffe480490 Polish 8 years ago
Andy Wilkinson cbae31364f Suppress deprecation warning from LettuceConnectionFactory
See gh-9538
8 years ago
Andy Wilkinson 991314c63d Merge branch '1.5.x' 8 years ago
Stephane Nicoll 4d6965a147 Polish 8 years ago
Andy Wilkinson 4a030d5a7a Drop support for auto-configuring an embedded Elasticsearch node
Elastic have announced [1] that embedded Elasticsearch is no longer
supported. This commit brings us into line with that announcement by
removing the auto-configuration that would create an Elasticsearch
Node and NodeClient.

To use the Elasticsearch auto-configuration, a user must now provide
the address of one or more cluster nodes
(via the spring.elastisearch.cluster-nodes property) which will then
be used to create a TransportClient.

See gh-9374

[1] https://www.elastic.co/blog/elasticsearch-the-server
8 years ago
Stephane Nicoll 053b8b5853 Polish "Set Lettuce shutdown timeout properly"
Closes gh-9526
8 years ago
Mark Paluch 0a9646dbf4 Reduce Lettuce shutdown timeout to 100ms
Reducing the default to 100ms is a good compromise to retain a quiet time
in for parallel execution and optimize for default, single-threaded
execution (such as test execution or regular application shutdown). The
shutdown timeout can be adjusted to fit specific application needs.

See gh-9526
8 years ago
Mark Paluch 69d2185618 Set Lettuce shutdown timeout properly
We now properly set the Lettuce client shutdown for unpooled and pooled
configuration.

See gh-9526
8 years ago
Stephane Nicoll eb30fe06ec Merge branch '1.5.x' 8 years ago
Stephane Nicoll 5d69318e2d Add reference to SpringBootApplication in EnableAutoConfiguration
Closes gh-9521
8 years ago
Stephane Nicoll 3a63241628 Fix RedisRepositoriesAutoConfiguration condition
Rather than checking if Jedis is on the classpath, this commit changes
the conditions of `RedisRepositoriesAutoConfiguration` to check for the
presence of a `RedisConnectionFactory` bean that is going to be
necessary to create the Redis repositories anyway.

Checking for Jedis is no longer correct since we now support Lettuce as
well.

Closes gh-9523
8 years ago
Stephane Nicoll a4688bdb86 Polish "Use Redis client configuration to configure connection factories"
In particular, the Lettuce code is not using the new builder API when
pooling is required. This will be fixed in a future milestone.

Closes gh-9510
8 years ago
Mark Paluch 866fdb5d91 Use Redis client configuration to configure connection factories
We now use LettuceClientConfiguration and JedisClientConfiguration to
configure connection factories. Client-specific configuration can be
customized by providing LettuceClientConfigurationBuilderCustomizer and
JedisClientConfigurationBuilderCustomizer beans.

See gh-9510, gh-8894, gh-9490
8 years ago
Stephane Nicoll f05f1bcfba Polish "Add support for Kafka batch listener"
This commit reworks the property to be an enum with the list of
supported listener types rather than a boolean that flip to a
batch listener.

Closes gh-9448
8 years ago
mzagar 257f44357e Add support for Kafka batch listener
This commit adds a `spring.kafka.listener.batch-listener` property so
that a batch listener is created automatically.

See gh-9448
8 years ago
Stephane Nicoll be00dfafde Fix build failure
Force the use of the http Neo4j driver as the bolt one attempts to
connect to the server on startup by default (and there is no way to
disable that behaviour).

See https://github.com/neo4j/neo4j-java-driver/issues/380

Closes gh-9499
8 years ago
Phillip Webb b94bb00fa1 Remove need for attached test-jar artifacts
Remove test-jar artifacts from Maven projects and relocate classes. The
majority of utilities now live in the `spring-boot-testsupport` module.

This update will help us to deploy artifacts using the standard Maven
deploy plugin in the future (which doesn't support the filtering of
individual artifacts).

Fixes gh-9493
8 years ago
Andy Wilkinson aecfdc1dd8 Upgrade to Elasticsearch 5.4.1
Closes gh-9476
8 years ago
Andy Wilkinson 6ff449bd78 Align WebFluxAutoConfigurationTests with breaking Framework change
CompositeContentTypeResolver was recently removed [1] and
WebFluxConfigurationSupport now creates a RequestedContentTypeResolver
bean instead. This commit updates WebFluxAutoConfigurationTests
accordingly.

[1] 01a92517bd
8 years ago
Andy Wilkinson f7e9ec5f42 Minimise our usage of SocketUtils.findAvailableTcpPort
Closes gh-9382
8 years ago
Andy Wilkinson 10868519e1 Adapt to breaking API change in Spring Data Commons 8 years ago
Andy Wilkinson f5da19f2db Align HikariDriverConfigurationFailureAnalyzer with latest Framework change
The Framework now throws a CannotGetJdbcConnectionException rather
than an IllegalStateException.
8 years ago
Vedran Pavic a80348753d Fix `QuartzAutoConfigurtion` failure with multiple `Executor` beans
`QuartzAutoConfigurtion` currently blows up if there are multiple
`Executor` beans in the context.

This commit changes the configuration to retrieve `Executor` bean using
`ObjectProvider#getIfUnique` which won't fail in scenarios where there
are multiple `Executor` beans with none marked as `@Primary`.

Closes gh-9434
8 years ago
Johnny Lim bbab520926 Polish
Closes gh-9438
8 years ago
Spring Buildmaster 05d4d0281c Next Development Version 8 years ago
Andy Wilkinson 0061554105 Merge branch '1.5.x' 8 years ago
Andy Wilkinson e5906a6b64 Allow HttpMsgConverter to depend on ConvService without creating a cycle
In an MVC web application, DelegatingWebMvcConfiguration provides the
ConversionService while also consuming WebMvcConfigurerAdapters that,
among other things, can configure HTTP message converters. Boot's
WebMvcConfigurerAdapter, WebMvcAutoConfigurationAdapter, consumes
the HttpMessageConverters bean and uses it to configure Spring MVC's
HTTP message converters. This can create a bean dependency cycle if
an HTTP message converter bean depends, directly or indirectly on
the ConversionService. An example of the cycle is:

┌─────┐
|  jsonComponentConversionServiceCycle.ThingDeserializer defined in …
↑     ↓
|  org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration$EnableWebMvcConfiguration
↑     ↓
|  org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter
↑     ↓
|  org.springframework.boot.autoconfigure.web.HttpMessageConvertersAutoConfiguration
↑     ↓
|  mappingJackson2HttpMessageConverter defined in class path resource [org/springframework/boot/autoconfigure/web/JacksonHttpMessageConvertersConfiguration$MappingJackson2HttpMessageConverterConfiguration.class]
↑     ↓
|  jacksonObjectMapper defined in class path resource [org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JacksonObjectMapperConfiguration.class]
└─────┘

This commit breaks the cycle by making WebMvcAutoConfigurationAdapter
consume HttpMessageConverters lazily. This allows the adapter to be
created without triggered instantiation of every HTTP message
converter bean and all their dependencies. This allows it to be
injected into DelegatingWebMvcConfiguration without triggering an
attempt to retrieve the ConversionService.

Closes gh-9409
8 years ago
Andy Wilkinson 6b7dfce5c6 Formatting 8 years ago
Andy Wilkinson a03ddd331c Polishing 8 years ago
Andy Wilkinson d0c8f80117 Merge branch '1.5.x' 8 years ago
Andy Wilkinson ad629055fa Ensure that custom static resource locations end with /
Closes gh-9360
8 years ago
Stephane Nicoll 7f420d1268 Polish contribution
Closes gh-9411
8 years ago
Vedran Pavic db060c847d Ensure `QuartzDatabaseInitializer` is initialized before `Scheduler`
If the auto-configured `Scheduler` instance backed by JDBC job store is
used as a dependency in an application component, the initialization of
`Scheduler` will be triggered before `QuartzDatabaseInitializer`. This
will result in failure due to schema not being prepared in time for
`Scheduler` to populate job details.

This commit ensures `QuartzDatabaseInitializer` is initialized before the
auto-configured `Scheduler` by introducing a dependency between the two.

See gh-9411
8 years ago
Stephane Nicoll 540dca7bdd Revisit InfluxDB configuration structure
This commit removes the `client` namespace for InfluxDB as the
component that is created is `InfluxDB`, not `InfluxDBClient` or
something.

This aligns with all the other url/user/password properties Spring
Boot provides already

See gh-9066
8 years ago
Phillip Webb 2c7dd9f519 Polish 8 years ago
Phillip Webb 8f7004738b Merge branch '1.5.x' 8 years ago
Phillip Webb b9fd99e268 Polish 8 years ago
Stephane Nicoll 9624bf14c4 Merge branch '1.5.x' 8 years ago
Stephane Nicoll f11edd1eb3 Add missing `@Configuration` on `EmbeddedDatabaseConfiguration` 8 years ago
Andy Wilkinson 8353843006 Merge branch '1.5.x' 8 years ago
Andy Wilkinson a347383111 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson bf656c70ad Improve MultipartProperties' javadoc
Closes gh-9073
8 years ago
Stephane Nicoll 5e5b7e20ff Merge branch '1.5.x' 8 years ago
Stephane Nicoll c736a1698b Clarify default value of `ConditionalOnMissingBean` on bean methods
Closes gh-9387
8 years ago
Stephane Nicoll 297127e075 Polish "Add influxDB java client auto-configuration"
Closes gh-9066
8 years ago
Sergey Kuptsov 6a70b90128 Add influxDB java client auto-configuration
See gh-9066
8 years ago
Stephane Nicoll ba1bc45a53 Polish "Add PoolingOptions to CasandraProperties"
Closes gh-7946
8 years ago
Vladimir Tsanev 2aafc7daa9 Add PoolingOptions to CasandraProperties
This change allows users to configure some basic pooling
options for cassandra driver via configuration properties.

See gh-7946
8 years ago
Stephane Nicoll 5ea3ab4595 Polish "Allow to customize the JdbcTemplate"
Closes gh-7960
8 years ago
Kazuki Shimizu fa357f0e27 Allow to customize the JdbcTemplate
See gh-7960
8 years ago
Stephane Nicoll ad85902880 Reuse JdbcTemplate in NamedParameterJdbcTemplate
This commit makes sure to reuse an existing or auto-configured
`JdbcTemplate` when auto-configuring a `NamedParameterJdbcTemplate`.

This ensures that whatever customizations have been applied on the
`JdbcTemplate` are properly shared.

Closes gh-4945
8 years ago
Phillip Webb 42762a66b8 Upgrade to Elasticsearch 5.4.0
Upgrade to Elasticsearch 5.4.0 and fix auto-configuration to account for
API changes.

See gh-9374
8 years ago
Stephane Nicoll 6f25131a1d Polish 8 years ago
Andy Wilkinson 5ef29653c7 Polish 8 years ago
Andy Wilkinson a9cecc860c Apply TestPropertyValues to the context under test
Closes gh-9367
8 years ago
Stephane Nicoll eaa34874e8 Polish "Allow customization of MongoClientSettings.Builder"
Closes gh-9341
8 years ago
Mark Paluch eeb961075f Allow customization of MongoClientSettings.Builder
MongoClientSettingsBuilderCustomizer allows customization of the
auto-configured `MongoClientSettings.Builder`.

See gh-9341
8 years ago
Stephane Nicoll 026682d7e3 Polish jOOQ auto-configuration 8 years ago
Stephane Nicoll efdf451e6e Polish "Auto-detect jOOQ dialect"
Closes gh-9355
8 years ago
Michael J. Simons 1b4c5dffaf Auto-detect jOOQ dialect
See gh-9355
8 years ago
Stephane Nicoll 59a15b259c Polish "Add Quartz Scheduler support"
Closes gh-4299
8 years ago
Vedran Pavic 9e23206c31 Add Quartz Scheduler support
See gh-4299
8 years ago
Vedran Pavic 639641feea Replace `WebMvcRegistrationsAdapter` with default methods
Closes gh-9340
8 years ago
Stephane Nicoll 677d52f494 Polish "Add Spring Data Web configuration properties"
Closes gh-9339
8 years ago
Vedran Pavic e9ac41f83f Add Spring Data Web configuration properties
This commit adds support for configuring Spring Data Web
`PageableHandlerMethodArgumentResolver` and
`SortHandlerMethodArgumentResolver` using configuration properties.

See gh-9339
8 years ago
Stephane Nicoll 7aa84cf395 Fix checkstyle violation 8 years ago
Stephane Nicoll a05dd4a1b3 Polish 8 years ago
Stephane Nicoll b8591206d5 Polish 8 years ago
Stephane Nicoll 062dc3cb9a Upgrade to Neo4J OGM 2.1.3
Closes gh-9335
8 years ago
Stephane Nicoll 337e645263 Upgrade to Atomikos 4.0.4
Closes gh-5591
8 years ago
Johnny Lim 6939ff1e65 Polish
Closes gh-9330
8 years ago
Stephane Nicoll 9332a3a4ae Merge branch '1.5.x' 8 years ago
Stephane Nicoll b5709fd618 Polish
See gh-9330
8 years ago
Madhura Bhave d745b69630 Replace usages of EnvironmentTestUtils 8 years ago
Brian Clozel fed8c8a681 Adapt WebFlux.fn auto-config to SPR-15536
Since SPR-15536, WebFlux.fn is now configured with `@EnableWebFlux`,
along the annotated controllers. Both `RouterFunction` and Controller
instances can now live within the same application and they share
the same web infrastructure.

This commit removes the custom auto-configuration for `RouterFunction`
and relies on `@EnableWebFlux` for that.

Closes gh-9165
8 years ago
Andy Wilkinson 48fb0f4ad5 Polish "Adapt to relocated packages in Spring Data Cassandra"
Closes gh-9291
8 years ago
Mark Paluch 7e8e2c486e Adapt to relocated packages in Spring Data Cassandra
See gh-9291
8 years ago
Phillip Webb 6531423519 Fix following upstream API change
Update implementations of `WebFluxConfigurer` to no longer return an
`Optional` validator.
8 years ago
Phillip Webb 05111a17b8 Polish 8 years ago
Andy Wilkinson d5438c299c Polish "Use try-with-resources to close resources automatically"
- Apply code formatting
- Use try-with-resources in many other places that were missed in the
  pull request

Closes gh-8045
8 years ago
rajadilipkolli 3e797c326a Use try-with-resources to close resources automatically
See gh-8045
8 years ago
Andy Wilkinson 9192db692b Use WebRequest rather than RequestAttributes in ErrorAttributes
This change aligns ErrorAttributes with ResponseEntityExceptionHandler
which takes a WebRequest as a parameter of its handleException method.
WebRequest extends RequestAttributes and provides access to much more
than just the request's attributes. For example request headers and
parameters are available from WebRequest.

Closes gh-7952
Closes gh-6555
8 years ago
Stephane Nicoll 8094a6409f Fix build
Spring Session's MongoDB store is no longer supported on master.
8 years ago
Stephane Nicoll 41a36b3f7a Merge branch '1.5.x' 8 years ago
Stephane Nicoll 50876382db Improve Spring Session validation message
Closes gh-9284
8 years ago
Andy Wilkinson 3def99ad7b Align with breaking API changes in latest Spring Framework snapshots 8 years ago
Andy Wilkinson d4140d6a69 Configure Undertow to eagerly initialize Filters by default
Closes gh-9232
8 years ago
Phillip Webb 302f038e84 Polish 8 years ago
Phillip Webb f4444a36b3 Merge branch '1.5.x' 8 years ago
Phillip Webb 440d03bf9e Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 9a4a20537c Polish 8 years ago
Andy Wilkinson 2c315d3d6f Merge branch '1.5.x' 8 years ago
Andy Wilkinson fd2ab2fee0 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 198093c6a8 Fix violation reported by Checkstyle 8 years ago
Andy Wilkinson 8afaba0b9f Merge branch '1.5.x' 8 years ago
Andy Wilkinson 5693acf558 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson a6f8351dd6 Close Liquibase-specific DataSource once database has been migrated
Previously, when the liquibase.url, .username, and .password
properties were used to configure a DataSource specifically for
Liquibase that DataSource would never be explicitly closed. As it is
created by DataSourceBuilder with no explicitly configured type it
will use whichever connection pool is available and, therefore, will
create and keep open the pool's minimum number of connections. This
is an unnecessary use of resources both in the application and in the
database.

This commit updates LiquibaseAutoConfiguration so that if it uses
DataSourceBuilder to create a DataSource then it will also close that
DataSource once the database has been migrated.

Closes gh-9218
8 years ago
Stephane Nicoll 1480f0717f Polish "Add Kafka Kerberos Configuration Properties"
Closes gh-9151
8 years ago
Gary Russell c4cfc4dd0c Add Kafka Kerberos Configuration Properties
See gh-9151
8 years ago
Stephane Nicoll b2e3c5dd61 Fix order of connection pools in DataSourceBuilder
Closes gh-6013
8 years ago
Madhura Bhave f15cf4b991 Remove redundant uses of @NestedConfigurationProperty
Closes gh-9216
8 years ago
Andy Wilkinson 61d89ef207 Remove misleading use of legacy from simple container's description
Closes gh-9173
8 years ago
Stephane Nicoll cf88508e1d Avoid exposing `spring.resources.favicon-locations` as a property
Closes gh-9214
8 years ago
Brian Clozel d7ba7ecc48 Allow RouterFunction parameterized with different types
This commit allows *any* type of `RouterFunction` to be injected in the
WebFlux.fn auto-configuration; previously the `RouterFunction<T>` would
restrict injected beans to a single parameterized type.

Doing requires using the `RouterFunction.andOther` method to collect
them.

Fixes gh-9181
8 years ago
Brian Clozel 4a47c1eff8 Keep default Thymeleaf media types in reactive support
This commit removes the default configuration value previously set
for `spring.thymeleaf.reactive.media-types` since this value overrides
the defaults provided by Thymeleaf.

This value does not drive the default media type used by views, but
rather all media types that the templating engine should support.

Fixes gh-9134
8 years ago
Brian Clozel 89c284cb13 Add reactive websocket auto-configuration for Tomcat
This commit adds a `TomcatWebSocketReactiveWebServerCustomizer`
that customizes the Tomcat context to accept WebSockets connections.
Since reactive servers don't use the JSR 356 for that support,
only Tomcat customization is required for now.

This commit also reorders the server auto-configuration
so that undertow has a chance to be auto-configured before
reactor-netty, which should be a popular dependency thanks to
its HTTP client library.

The existing WebSocket infrastructure for Serlvet based containers
has been moved to a dedicated package and renamed accordingly.

Fixes gh-9113
8 years ago
Andy Wilkinson 9f55deeb95 Merge branch '1.5.x' 8 years ago
Andy Wilkinson a2e749940e Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson a3f5cbc4a2 Polishing 8 years ago
Andy Wilkinson 47807b8925 Upgrade to SendGrid 3.2.0
Closes gh-9211
8 years ago
Andy Wilkinson f24b55a236 Upgrade to Thymeleaf 3.0.6.RELEASE
Closes gh-9207
8 years ago
Andy Wilkinson b71daac58a Remove redundant logic for uninstalling Tomcat's URL stream handler factory
Closes gh-8622
8 years ago
Vedran Pavic 94f96a281f Improve `HashMapSessionConfiguration`
This commit updates `MapSessionRepository` bean definition return type
and applies equivalent change to `SessionAutoConfigurationTests`.

These changes also ensure compatibility with Spring Session 2.0 which
will merge `ExpiringSession` API with `Session` API.

Closes gh-9145
8 years ago
Andy Wilkinson 9ee1edcca5 Polishing 8 years ago
Andy Wilkinson 9480e09c21 Upgrade to Spring Security 5.0.0.M1
Closes gh-8714
8 years ago
Phillip Webb 5cad11d6d2 Formatting 8 years ago
Phillip Webb fd2e3b3505 Merge branch '1.5.x' 8 years ago
Phillip Webb 4a7dcc8786 Formatting 8 years ago
Stephane Nicoll 275bff39aa Remove deprecated code
Closes gh-8891
8 years ago
Stephane Nicoll 1e9c1a68e4 Remove deprecated spring.rabbitmq.listener.* properties
See gh-9055, gh-9108
8 years ago
Stephane Nicoll 2894e57146 Polish "Support direct AMQP container"
Closes gh-9055
8 years ago
Gary Russell 6eddf1b372 Support direct AMQP container
Add support for auto configuration - select container type and separate
discrete properties.

See gh-9055
8 years ago
Stephane Nicoll 0f38031f93 Merge branch '1.5.x' 8 years ago
Stephane Nicoll e236b71615 Move RabbitMQ Simple listener support to dedicated namespace
Move `spring.rabbitmq.listener.*` to `spring.rabbitmq.listener.simple.*`
in preparation for Spring AMQP 2.0 that supports different container
types.

Closes gh-9108
See gh-9055
8 years ago
Phillip Webb a841a6a11d Polish 8 years ago
Andy Wilkinson 525f421441 Update MultipartProperties' prefix to reflect that it's Servlet-specific
Closes gh-8628
8 years ago
Andy Wilkinson 9caf82ce80 Remove redundant ordering from ImportBeanDefinitionRegistrar implementations
Closes gh-8603
8 years ago
Stephane Nicoll 0aded58884 Polish "Add auto-configuration support for Hazelcast client"
Closes gh-7469
8 years ago
Vedran Pavic 3fbf1a2ea6 Add auto-configuration support for Hazelcast client
See gh-7469
8 years ago
Stephane Nicoll 5247fa323b Harmonize reactive auto-configuration class names
Closes gh-9086
8 years ago
Stephane Nicoll de268d97e2 Add auto-configuration for reactive Redis
This commit provides an auto-configuration for reactive Redis and a
starter that provides Lettuce as Jedis doesn't support reactive
operations.

There are no support for reactive redis repositories at the moment so
only a `ReactiveRedisTemplate` is auto-configured if necessary.

Closes gh-8053
8 years ago
Eddú Meléndez 1d9fa8395c Replace lambdas with method references
Closes gh-9049
8 years ago
Stephane Nicoll b0ffe18e15 Merge branch '1.5.x' 8 years ago
Stephane Nicoll ea33cc2f7d Deprecated MustacheCompilerFactoryBean
Closes gh-8999
8 years ago
Stephane Nicoll 2b4f2c6aba Making sure to stop embedded web servers in tests
Closes gh-9012
8 years ago
Stephane Nicoll 5121b848e1 Making sure to stop embedded web servers in tests
Closes gh-9012
8 years ago
Andy Wilkinson 4a00f90545 Stop throwing checked exception from @PostConstruct in ResourceServerProperties
Closes gh-8916
8 years ago
Phillip Webb 97dc2165b7 Polish 8 years ago
Madhura Bhave c04f28d9e5 Validate ResourceServerProperties in PostConstruct
Closes gh-8916
8 years ago
Stephane Nicoll 47783e258a Add missing tests 8 years ago
Stephane Nicoll e7efa8f133 Polish "Add Lettuce Redis driver autoconfiguration"
Closes gh-5311
8 years ago
Mark Paluch 4563da9ac7 Add Lettuce Redis driver autoconfiguration
Introduce an alternative autoconfiguration if the lettuce Redis driver is
available. Add Lettuce-specific configuration property options
"spring.redis.lettuce.shutdown-timeout" to control the shutdown timeout
of the lettuce driver. Add documentation for the properties, the
supported drivers, and how to switch between drivers.

Split client-specific properties from spring.redis.pool to
spring.redis.jedis.pool and introduce spring.redis.lettuce namespace.
Deprecate spring.redis.pool property.

See gh-5311
8 years ago
Phillip Webb 77d427af6c Fix occasional Jetty test failures
Update `DefaultServletWebServerFactoryCustomizerTests` so that the Jetty
access log tests use the default timezone. Prior to this commit it was
possible that running the tests outside of UTC could result in Jetty
throwing a "negative delay" IllegalArgumentException.

See gh-8819
8 years ago
Phillip Webb 3f71b8453f Migrate missed tests to new Binder
Migrate a few tests that were missed to use the new `Binder`.

See gh-9000
8 years ago
Phillip Webb 76593a3806 Merge branch '1.5.x' 8 years ago
Phillip Webb 72813a47e7 Polish 8 years ago
Phillip Webb 76ee2f401c Polish 8 years ago
Phillip Webb 4db4c81b9b Polish 8 years ago
Stephane Nicoll 7c4a1a221d Merge branch '1.5.x' 8 years ago
Brian Clozel f2c63706da Change default file extension for Mustache templates
This commit changes the default file extension for Mustache templates,
from `.html` to `.mustache`, which is the file extension used in the
official reference documentation and by most IDE plugins.

Fixes gh-8997
8 years ago
Brian Clozel 4d5dcca553 Add Thymeleaf auto-configuration for WebFlux
Thymeleaf 3.0 implements the Spring 5.0 view infrastructure for WebMVC
and the new WebFlux framework. This commit adds auto-configuration for
the WebFlux support.

In that process, the configuration property for `spring.thymeleaf` has
been changed to add `spring.thymeleaf.servlet` and
`spring.thymeleaf.reactive` for MVC/WebFlux specific properties.

Now that the `spring-boot-starter-thymeleaf` does not only support
Spring MVC, the transitive dependency on `spring-boot-starter-web` is
removed from it.

Fixes gh-8124
8 years ago
Stephane Nicoll 1de2316a0b Refine validator and MVC validator configuration
This commit ensures that a primary JSR 303 and Spring Validator will be
exposed if the auto-configuration kicks in. As `LocalValidatorFactoryBean`
exposes 3 contracts (JSR-303 `Validator` and `ValidatorFactory` as well as
the `Spring` validator one), this makes sure that those types can be
injected by type.

`LocalValidatorFactoryBean` exposes 3 contracts and we're only checking
for the absence of a `javax.validation.Validator` to auto-configure a
`LocalValidatorFactoryBean`. If no standard JSR validator exists but a
Spring's `Validator` exists and is primary, we shouldn't flag the
auto-configured one as `@Primary`. Previous iterations on this feature
have made sure that we'll auto-configure at most one
`javax.validation.Validator` so not flagging it `@Primary` is no problem.

This commit also restores and adds tests that validates
`ValidationAutoConfiguration` will configure a JSR validator even if a
Spring Validator is present.

This effectively fixes gh-8495 in a different way.

Closes gh-8979
Closes gh-8976
8 years ago