Commit Graph

1130 Commits (1f4927b65d41bfcd0ac0cc456b94f72cca41c814)

Author SHA1 Message Date
Daniel Fernández 56c1247bbb Add new config keys for Thymeleaf 3.0.10 features
This commit adds the following configuration properties:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Closes gh-14297
6 years ago
Phillip Webb 9d1b3a2b49 Merge branch '2.0.x' 6 years ago
Phillip Webb cafff43022 Update copyright header of changed files 6 years ago
Phillip Webb 9af6b3422f Polish 6 years ago
Madhura Bhave 75937f5b5c Make jmsListenerContainerFactory @ConditionalOnSingleCandidate
Closes gh-12700
6 years ago
Phillip Webb 59b5c54489 Upgrade to Rabbit AMQP Client to 5.4.0
Closes gh-14303
6 years ago
Phillip Webb 0cd64ea690 Merge branch '2.0.x' 6 years ago
Phillip Webb 45613f8c3c Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson 8ee4775820 Polish 6 years ago