Commit Graph

3116 Commits (258c442e9a5219bd4f57aab50233c600e1936fb3)

Author SHA1 Message Date
Andy Wilkinson 7cc4410613 Merge branch '1.5.x' 7 years ago
Gytis Trikleris f43ad00129 Delay Narayana recovery manager until it's started explicitly
Closes gh-9641
7 years ago
Phillip Webb fd1dfbb247 Add missing TestPropertyValues 'apply' calls
Update a few usages of `TestPropertyValues` so that `apply` is called
consistently.
7 years ago
Phillip Webb e1602fe59a Polish 7 years ago
Eddú Meléndez 87ba8d2e14 Upgrade to Jackson 2.9.0
Closes gh-9912
7 years ago
Phillip Webb 30ff329e3d Polish 7 years ago
Stephane Nicoll ebbe29cc85 Migrate HazelcastJpaDependencyAutoConfigurationTests to context runner
This commit also makes sure to generate unique embedded data source and
disable datasource initialization as this is not required by those
tests.

See gh-9889
7 years ago
Stephane Nicoll 49d249bdf4 Disable Aop auto-config if aspectjweaver is not present
This commit adds an additional class check to AopAutoConfiguration as
it is main role is to configure `@EnableAspectJAutoProxy` which won't
work properly if `aspectjweaver` is not present.

Closes gh-9880
7 years ago
Phillip Webb 9127c48fb5 Fixup warnings 7 years ago
Phillip Webb a869d25dbb Polish 7 years ago
Stephane Nicoll 22deceb7f2 Migrate tests to ApplicationContextRunner 7 years ago
Andy Wilkinson 56b817e8ad Merge branch '1.5.x' 7 years ago
Andy Wilkinson d62c26c971 Ensure that preinitialization has completed before run returns
Previously, background preinitialization was started in response to
an ApplicationEnvironmentPreparedEvent and would complete at an
undetermined time later. This opened a window where SpringApplication
run could return and background preinitialization could still be
in progress. If, within this window, something attempted to configure
the logging system, an IO failure could occur as logging on the
background preinitialization thread would attempt to use resources
that had been closed.

This commit updates BackgroundPreinitializer so that it waits for
preinitialization to have completed when it receives an application
ready or application failed event. This prevents SpringApplication
run from returning while preinitialization is still in progress,
closing the window described above.

With info level logging enabled it appears that background
preinitialization consistently completes before the application ready
event is published. As a result, waiting should have no adverse effect
on performance in normal circumstances. With logging configured such
that background preinitialization outputs a large volume of log
messages (enabling trace logging for the root logger, for example), it
will be slowed down sufficiently for waiting to be necessary.

Closes gh-5669
7 years ago
Andy Wilkinson 42eec50e90 Perform background preinitialization once per class loader
Background preinitialization triggers static initialization of a
number of components that are slow to initialize. As the
initialization is static, it's only necessary once per class loader.

Previously, a new background preinitialization thread would be
created and started for each ApplicationEnvironmentPreparedEvent.
This commit updates the preinitializer to only create and start the
thread if preinitialization has not already been started for the
current class loader.

Closes gh-9869
7 years ago
Spring Buildmaster 17a5bb0be4 Next development version 7 years ago
Phillip Webb 89ad0660d1 Make ApplicationContextRunner immutable
Update `ApplicationContextRunner` so that it is totally immutable.
Methods now return new instances rather than changing existing state.

See gh-9875
7 years ago
Phillip Webb ad9f28110c Make TestPropertyValues immutable
Update `TestPropertyValues` so that it is totally immutable. Methods
now return a new instance rather than changing existing state.

See gh-9875
7 years ago
Phillip Webb 07556cda51 Restructure `boot.test.context` package
Split up `org.springframework.boot.test.context` into distinct packages
for `runner` and `assertj`.

See gh-9875
7 years ago
Phillip Webb 497457c397 Rename ApplicationContextTester -> Runner
Rename `ApplicationContextTester` and related classes to
`ApplicationContextRunner` and refactor existing tests to use correctly
named variables.

See gh-9875
7 years ago
Andy Wilkinson 5616915621 Polishing 7 years ago
Stephane Nicoll 9891462ac4 Migrate test to WebApplicationContextTester 7 years ago
Spring Buildmaster 41c5c0e7c9 Next development version 7 years ago
Stephane Nicoll 996e6bf48c Reset Neo4j tests to use the default driver again
This commit resets the artificial use of the http driver now the bolt
driver doesn't check if the connection to the Neo4J server is valid
on startup.

See neo4j/neo4j-java-driver#380

Closes gh-9500
7 years ago
Andy Wilkinson 02e836b7a7 Allow Session's repository filter to be configured via the environment
Closes gh-8301
7 years ago
Emanuel Campolo 2626a3a795 Use lambdas when possible
Replace anonymous inner classes with lambda declarations (when possible
using method references).

See gh-9781
7 years ago
Emanuel Campolo 798fe5ed53 Collapse catch clauses
Use multi-catch for exceptions whenever possible.

See gh-9781
7 years ago
Emanuel Campolo 4a189bdee7 Replace Collections.sort() with direct sort call
Replace existing `Collections.sort(...)` calls with `.sort(...)`
directly on the collection instance.

See gh-9781
7 years ago
Emanuel Campolo 04fdec6f8b Replace explicit generics with diamond operator
Where possible, explicit generic declarations to use the Java 8 diamond
operator.

See gh-9781
7 years ago
Stephane Nicoll ab43bf4643 Polish 7 years ago
Stephane Nicoll 663ff05895 Polish "Allow to customize OkHttpClient.Builder"
Closes gh-9669
7 years ago
Eddú Meléndez 406f41740e Allow to customize OkHttpClient.Builder
This commit enables to auto-configure OkHttpClient.Builder in
InfluxDbAutoConfiguration if it is available.

See gh-9669
7 years ago
Phillip Webb 3a01f4a6da Polish lambda formatting 7 years ago
Phillip Webb 7b2b8dc4a3 Merge branch '1.5.x' 7 years ago
Phillip Webb dca463c7d9 Polish 7 years ago
Phillip Webb 66619bbe2b Formatting 7 years ago
Phillip Webb b9cfe21193 Make @ImportAutoConfiguration not register package
Update `@ImportAutoConfiguration` so that it is no longer annotated with
`@AutoConfigurationPackage` and as such isn't a marker for
`AutoConfigurationPackages`.

Having `@ImportAutoConfiguration` marked as an auto-configuration
package is particularly problematic in tests since it frequently breaks
context caching.

Fixes gh-9282
7 years ago
Stephane Nicoll 5516e8626c Merge branch '1.5.x' 7 years ago
Stephane Nicoll 9fd94720f1 Better customization of the auto-configured ActiveMQConnectionFactory
This commit exposes additional properties and a callback interface to
further tune the auto-configured ActiveMQConnectionFactory.

Closes gh-9667
7 years ago
Stephane Nicoll 6c21b0090b Merge branch '1.5.x' 7 years ago
Stephane Nicoll 9a34d952e9 Provide an alternative to `spring.activemq.pool.configuration`
This commit expands the support of PooledConnectionFactory so that
binding the third party object is no longer necessary. All 3rd party
properties are now deprecated in favour of our explicit support.

The main reason behind this change is that a `connection-factory` and
`properties` property were exposed. The former is used to set the
`ConnectionFactory` and makes no sense as a key. The latter is
rebuilding the underlying `ActiveMQConnectionFactory` at each call
without reusing any existing settings.

Closes gh-9837
7 years ago
Andy Wilkinson 9c59758abe Merge branch '1.5.x' 7 years ago
Andy Wilkinson d4ecda9030 Work around javac bug (internal review ID 9050163) 7 years ago
Andy Wilkinson c45a351308 Merge branch '1.5.x' 7 years ago
Andy Wilkinson bb35e772c2 Polish "Make NarayanaRecoveryManagerBean conditional on missing bean"
Closes gh-9724
7 years ago
Gytis Trikleris d8a6954744 Make NarayanaRecoveryManagerBean conditional on missing bean
See gh-9724
7 years ago
Andy Wilkinson 11fc7c1393 Merge branch '1.5.x' 7 years ago
Andy Wilkinson 8f877dcee2 Disable auto-config of Narayana's JMS support when JMS module absent
Closes gh-9844
7 years ago
Andy Wilkinson 39b4ecdf63 Adapt to breaking change in Spring Data
See gh-9834
7 years ago
Johnny Lim bd27d147d7 Polish
Closes gh-9827
7 years ago
Andy Wilkinson 18cfd9d3dd Merge branch '1.5.x' 7 years ago
Andy Wilkinson c70cc55db8 Polishing
See gh-9827
7 years ago
Andy Wilkinson 536c3bbd1c Merge branch '1.5.x' 7 years ago
Andy Wilkinson 15410a406e Revert "Stop auto-config of MethodValidationPP triggering early init"
5198fe887b. The underlying Framework
problem that prevents @Lazy from working properly is still there
in some form or another.

See gh-9416
7 years ago
Andy Wilkinson 1fe84225e5 Merge branch '1.5.x' 7 years ago
Andy Wilkinson 5198fe887b Stop auto-config of MethodValidationPP triggering early init
Previously, if a user's configuration class provided a custom
Validator bean, that configuration class would be initialized very
early so that the Validator could be used to create the
auto-configured MethodValidationPostProcessor. This early
initialization could problems as it may prevent any of the
configuration class's dependencies from being post-processed.

This commit updates the injection of the Validator bean to be lazy,
thereby preventing the creation of the auto-configured
MethodValidationPostProcessor from triggering early initialization.

Closes gh-9416
7 years ago
Phillip Webb e1ef2a591f Fixup tests to use new ApplicationContextTester
Update existing tests that previously use `ContextLoader` to the newly
introduced `*ApplicationContextTester` classes.

See gh-9634
7 years ago
Phillip Webb 2f0f25f5ad Add Configurations class
Add a general purpose `Configurations` class that encapsulates the
sorting and merging rules that are usually apply. The class is
particularly useful in tests where configuration classes often need
to be specified, but an `@Import` or `ImportSelector` cannot be easily
used.

Two `Configurations` subclasses have been initially added. The
`UserConfigurations` class can be used to represent user defined
configuration and the `AutoConfigurations` class can be used to
represent a subset of auto-configurations. Auto configurations are
sorted using the same `@AutoConfiguraionBefore`/`@AutoConfiguraionAfter`
logic as the `@EnableAutoConfiguration` annotation.

Fixes gh-9795
7 years ago
Phillip Webb 9db72450da Merge branch '1.5.x' 7 years ago
Phillip Webb 68910f2b8f Polish 7 years ago
Stephane Nicoll 38ad582959 Polish "Add support for arbitrary producer/consumer Kafka properties"
Closes gh-9775
7 years ago
Gary Russell 191752d2c0 Add support for arbitrary producer/consumer Kafka properties
PR #7672 Added support for arbitrary common properties.

However, Kafka emits a warning if a producer configuration contains
properties intended only for consumers, and vice versa.

The documentation showed a sample of how to write code to configure
arbitrary properties but this is inconvenient.

Add arbitrary properties to the consumer and procucer configs.

See gh-9775
7 years ago
Stephane Nicoll d9f2770006 Merge branch '1.5.x' 7 years ago
Stephane Nicoll 7e97d38de7 Polish Javadoc
Closes gh-9726
7 years ago
Phillip Webb 75aebfaf27 Fix WebClientAutoConfigurationTests
Update tests to return a mock response rather than Mono.empty().
7 years ago
Stephane Nicoll e56798f347 Align to API change of Spring Data Cassandra 7 years ago
Madhura Bhave 39ec335d41 Merge branch '1.5.x' 7 years ago
Madhura Bhave 6381b88736 Create Jwk and Jwt token store beans conditionally
Closes gh-9777
7 years ago
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
7 years ago
Stephane Nicoll 1a839d6656 Remove useless cluster check 7 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
7 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