Commit Graph

4454 Commits (root-patch-2)

Author SHA1 Message Date
Brian Clozel 67e5897c40 Disable suffix pattern matching in Spring MVC
This commit disables by default suffix pattern matching in Spring MVC
applications. As described in the Spring MVC documentation (see
https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-suffix-pattern-match),
this is considered as best practice.

This change also introduces new configuration properties to achieve
similar results in a safer way (using query parameters) or to rollback
to the former default.

Closes gh-11105
7 years ago
Johnny Lim 77150f8dc9 Polish
Closes gh-11630
7 years ago
Stephane Nicoll 3f88906b97 Fix handling of ResponseStatusException
This commit updates DefaultErrorAttributes to handle
ResponseStatusException explicitly. This exception is used in a
WebFlux application to signal that the processing of the query has
failed with an HTTP status code and a reason phrase. The latter is now
properly mapped to the `message` attribute of the response body.

Closes gh-11614
7 years ago
Andy Wilkinson 2b99962a85 Replace use of Date with OffsetDateTime and Instant in Actuator
Closes gh-10976
7 years ago
Stephane Nicoll 8aaf95b792 Polish 7 years ago
Johnny Lim 136e26e307 Fix typo in DynamicRegistrationBean class name
Closes gh-11606
7 years ago
Stephane Nicoll 4a9123d6e3 Detect user-defined RedisCacheConfiguration
This commits improves the cache auto-configuration for Redis by looking
up a custom "RedisCacheConfiguration" bean that allows to take full
control over the `RedisCacheManager`.

Closes gh-11599
7 years ago
Brian Clozel 98ac2218db Apply server.undertow.* config to reactive servers
This commit applies `server.undertow.*` configuration properties
to Undertow when configured as a reactive web server.

See gh-11500
7 years ago
Brian Clozel 15bc718248 Apply server.jetty.* config to reactive servers
This commit applies `server.jetty.*` configuration properties
to Jetty when configured as a reactive web server.

It also removes some infrastructure support for Jetty 8, which
is not supported anymore in Spring Boot 2.0 (partial fix for
gh-11504).

See gh-11500
7 years ago
Brian Clozel d264af8142 Apply server.tomcat.* config to reactive servers
This commit applies most `server.tomcat.*` configuration
properties to Tomcat when set up as a reactive web server.

Some Servlet-specific properties are not applied:

* server.tomcat.additional-tld-skip-patterns
* server.tomcat.redirect-context-root
* server.tomcat.use-relative-redirects

Fixes gh-11334
7 years ago
Stephane Nicoll b2eae0006d Polish "Make GsonAutoConfiguration align with JacksonAutoConfiguration"
Closes gh-11591
7 years ago
Johnny Lim 50518514b0 Make GsonAutoConfiguration align with JacksonAutoConfiguration
See gh-11591
7 years ago
Madhura Bhave e57aafd63d Provide EndpointRequest for WebFlux-based Security
Closes gh-11022
7 years ago
Phillip Webb b078698f20 Update copyright year of changed files 7 years ago
Phillip Webb b3ec2c9d1d Polish 7 years ago
Stephane Nicoll df647605af Merge branch '1.5.x' 7 years ago
Johnny Lim b8706c47d6 Use instance equality for Class
Closes gh-11534
7 years ago
Johnny Lim 0f0c6e0729 Polish
Closes gh-11536
7 years ago
Phillip Webb 286a3bb10a Polish GSON customization support
Closes gh-11498
7 years ago
ioann ba552f1d24 Allow GSON customization via properties or beans
Update GSON support to allow customization with either properties or
customize beans.

See gh-11498
7 years ago
Phillip Webb 9cb5f3da89 Create DynamicRegistrationBean
Extract functionality from the `RegistrationBean` into a new class
designed to work with dynamic registration. Servet and Filter
registration beans now extend from `DynaimcRegistrationBean`, where as
`ServletListenerRegistrationBean` extends directly from
`RegistrationBean`.

This refactor allows the removal of `ServletListenerRegistrationBean`
deprecated methods.

Fixes gh-11344
7 years ago
Phillip Webb fb614c64da Revert "Build against Spring Security 5.0.1 SNAPSHOT"
This reverts commit 2c52b9e87a
since the SNAPSHOT BOM doesn't appear to be published.

See gh-11573
7 years ago
Phillip Webb 2d76aad03e Further refine test containers 7 years ago
Phillip Webb 201da97774 Further refine test containers 7 years ago
Phillip Webb 2c52b9e87a Build against Spring Security 5.0.1 SNAPSHOT
See gh-11573
7 years ago
Phillip Webb 19ce0aa4f0 Refine BackgroundPreinitializer
Update `BackgroundPreinitializer` to start initialization earlier. Also
refine the startup order and initialize Charsets.

Fixes gh-11570
See gh-11412
7 years ago
Phillip Webb 25609c060e Polish 7 years ago
Madhura Bhave 9a6c339243 Use TestContainers util from spring-boot-test-support
See gh-10516
7 years ago
Andy Wilkinson 996b3ef7f2 Refine test containers 7 years ago
Andy Wilkinson 12e1fcbfab Do not pass null credential from ConnectionString to Mongo builder 7 years ago
Andy Wilkinson c7f5f0735d Stop reusing the Cluster when waiting for Cassandra to start
See gh-10516
7 years ago
Andy Wilkinson 927003e0b7 Polish 7 years ago
Stephane Nicoll b98c7ed9f8 Add InvalidConfigurationPropertyValueException
This commit adds a new exception type that denotes the value of a
configuration key is invalid, alongside a FailureAnalyzer that reports
a human-readable report when such exception is thrown on startup.

ResourceNotFoundException being a (useless) specialization of this new
exception, its usage has been refactored to use the more general
exception type.

Closes gh-10794
7 years ago
Stephane Nicoll b7f60c2ded Configure NettyStreamFactoryFactory by default if available
Closes gh-11526
Closes gh-10961
7 years ago
Stephane Nicoll 06572b0101 Polish 7 years ago
Brian Clozel 2bf15f814e Polish
This commit fixes the `responseCommitted` test in
`DefaultErrorWebExceptionHandlerIntegrationTests` and reworks the whole
test class to use the `ContextRunner` infrastructure.

Fixes gh-11519
7 years ago
Stephane Nicoll c4db22007c Polish "Add support for additional Kafka listener properties"
Closes gh-11502
7 years ago
Gary Russell 6fcbf80b31 Add support for additional Kafka listener properties
See gh-11502
7 years ago
Andy Wilkinson 94d5836618 Merge branch '1.5.x' 7 years ago
Stephane Nicoll 59d5ed5842 Add support for advanced customization of Hibernate settings
As HibernateJpaConfiguration is package private, it is no longer
possible to extend the default Spring Boot configuration to apply
advanced settings. The most notable use case for this is the
customization of Hibernate properties using instance value vs. string
value that can be set using the "spring.jpa.properties" namespace.

This commit adds a HibernatePropertiesCustomizer callback interface that
can be implemented to tune Hibernate properties at will.

Closes gh-11211
7 years ago
Stephane Nicoll 641013787d Polish 7 years ago
Stephane Nicoll ac004eabf3 Update copyright header
See gh-11510
7 years ago
Johnny Lim 37d8eedae3 Polish
Closes gh-11510
7 years ago
Madhura Bhave e28915bd4b Make integration tests self-contained
Fixes gh-10516
7 years ago
Phillip Webb bee5fa7fc6 Polish 7 years ago
Phillip Webb 37fe7bc8f6 Update validator background initializer
Update the validator background initializer to actually create
the validator.

Closes gh-11412
7 years ago
Madhura Bhave 716543828a Refactor some tests to use ApplicationContextRunner 7 years ago
Johnny Lim 24b5a78e39 Polish
Closes gh-11448
7 years ago
Madhura Bhave a46d1416ee Reinstate required parameter 7 years ago
Madhura Bhave 8102dc78cb Remove redundant throws declarations 7 years ago
Stephane Nicoll cfa3cab988 Polish "Improve Spring Data Web configuration properties"
Closes gh-11403
7 years ago
Marcel Overdijk be93eabc6b Improve Spring Data Web configuration properties
See gh-11403
7 years ago
Stephane Nicoll c709ff8e3b Polish "Apply customize() to createCredentialNetworkMongoClient()"
Closes gh-11376
7 years ago
Johnny Lim 90369996a9 Apply customize() to createCredentialNetworkMongoClient()
See gh-11376
7 years ago
Stephane Nicoll f57ff3a777 Merge branch '1.5.x' 7 years ago
Johnny Lim 3c5ccb1166 Polish
Closes gh-11418
7 years ago
Johnny Lim 4cc598ac5e Replace contains() with indexOf()
Closes gh-11373
7 years ago
Johnny Lim e4f0ad2165 Polish
Closes gh-11372
7 years ago
dreis2211 a434e5cc5f Fix JsonbHttpMessageConvertersConfiguration javadoc
Closes gh-11368
7 years ago
Phillip Webb 1ea921bfdd Migrate to OAuth2Client to use PropertyMapper
See gh-9018
7 years ago
Phillip Webb ba86b68484 Polish 7 years ago
Phillip Webb 6eabe8235c Add optional javax.money dependency
Add an optional dependency to `javax.money` to Eclipse errors in
`WebConversionService`.

See gh-5523
See gh-11402
7 years ago
Christoph Dreis 1a7fd6c359 Fix typo
Closes gh-11388
7 years ago
Brian Clozel 2fa0539e7f Support date conversion format for java.time types
Prior to this change, the Spring MVC auto-configuration would add a new
formatter to convert `java.util.Date` to/from `String` using the
configured configuration property `spring.mvc.date-format`.

This commit adds a new `WebConversionService` class that registers
date formatters with a custom date format, or register the default ones
if no custom configuration is provided.
This avoids duplicating equivalent formatters in the registry.

With this change, date types from `java.util`, `org.joda.time` and
`java.time` are now all supported.

This commit also replicates this feature for WebFlux applications by
adding a new `spring.webflux.date-format` configuration property.

Closes gh-5523
Closes gh-11402
7 years ago
Madhura Bhave ec26488ff1 Allow encoding default password in reactive user details
See gh-10963
7 years ago
Madhura Bhave 1b93f84912 Allow encoded password for default user
If raw password is provided, add {noop} prefix.
If prefix is present or PasswordEncoder bean is provided,
use the password as is.

Closes gh-10963
7 years ago
Phillip Webb 5e9cfea5a8 Migrate to auto-configurations to PropertyMapper
Update auto-configuration classes that have extensive property mapping
code to make use of the new `PropertyMapper` utility.

Fixes gh-9018
7 years ago
Phillip Webb befdbaaaa9 Polish 7 years ago
Stephane Nicoll 7566a197b0 Fix type for spring.data.cassandra.contact-points
Closes gh-11354
7 years ago
Stephane Nicoll dddf2c0013 Polish "Expose default RabbitMQ credentials in the metadata"
Closes gh-6863
7 years ago
Zoltan Altfatter 878a2e1a49 Expose default RabbitMQ credentials in the metadata
See gh-6863
7 years ago
Stephane Nicoll 0e20ed1d68 Merge branch '1.5.x' 7 years ago
Stephane Nicoll 797ad13bfa Merge branch '1.5.x' 7 years ago
Phillip Webb 3273859fde Polish 7 years ago
Stephane Nicoll a626f5462d Consistent use of @AliasFor
Closes gh-10836
7 years ago
Stephane Nicoll 47c8b5731a polish 7 years ago
dreis2211 a93a4e8715 Use String.equalsIgnoreCase() where possible
Closes gh-11330
7 years ago
Thiago Hirata f3055f2685 UserNameAttribute for custom OAuth2 provider
The UserNameAttribute field for a custom OAuth2 provider was
ignored when building the ClientRegistration.

Closes gh-10672
7 years ago
Stephane Nicoll 23218add90 Polish 7 years ago
Stephane Nicoll 68c8f7bae6 Add support for useRelativeRedirects customization
Closes gh-10597
7 years ago
Stephane Nicoll 6a4a0e3f29 Polish "Make RabbitTemplate exchange and routingKey configurable"
Closes gh-10978
7 years ago
Arlo O'Keeffe 4e31d2041a Make RabbitTemplate exchange and routingKey configurable
See gh-10978
7 years ago
Stephane Nicoll 408368a1f9 Polish "Allow graceful shutdown of Atomikos"
Closes gh-11237
7 years ago
nklmish 46d94aba4f Allow graceful shutdown of Atomikos
See gh-11237
7 years ago
Stephane Nicoll 2da6675c42 Polish
See gh-10963
7 years ago
Madhura Bhave 47ed096981 Make default username and password configurable
Closes gh-10963
7 years ago
Stephane Nicoll 5ef9364085 Polish 7 years ago
Johnny Lim 96250743b5 Add missing "abstract" keywords
Closes gh-11303
7 years ago
Madhura Bhave 954cf72de4 Fix javadoc 7 years ago
Johnny Lim 6d54072e04 Remove "final" keywords
Closes gh-11294
7 years ago
Andy Wilkinson c0e3ae9042 Polish 7 years ago
Andy Wilkinson 996a7cf013 Upgrade to Flyway 5.0.0
Closes gh-11287
7 years ago
Johnny Lim 2c204f2154 Polish
Closes gh-11242
7 years ago
Stephane Nicoll 5dc28ec446 Merge branch '1.5.x' 7 years ago
Phillip Webb d7251f52a4 Polish 7 years ago
Andy Wilkinson 80543250a2 Rework properties for enabling Spring Data repositories
Rather than using two properties to enable or disable reactive and
imperative repositories for a particular store, this commit introduces
a new repository type condition that's backed by a single
spring.data.<store>.repositories.type property. The type can be
auto (automatically enables whatever's available), imperative (enables
imperative repositories), none (enables nothing), or reactive (enables
reactive repositories). The default is auto.

Repositories do not have a reactive option (such as JPA) continue to
have a spring.data.<store>.repositories.enabled property that takes a
boolean value.

Closes gh-11134
7 years ago
Brian Clozel 8b98db401c Polish
Closes gh-11090
7 years ago
Brian Clozel de208cd372 Do not handle WebFlux errors if response is committed
If the WebFlux handler commits the response but still sends an error
signal in the reactive pipeline, Spring Boot error handling should not
try to handle that error: once committed, it is impossible to change the
response status or the response headers. Writing to the body might also
lead to invalid responses.

This commit skips error handling if the response is committed and
delegates to Spring Framework's `HttpWebHandlerAdapter` which will log
the error.

Fixes gh-11168
7 years ago
Brian Clozel e3c3bb0076 Rename spring.cache.control to spring.cache.cachecontrol
Closes #11090
7 years ago
Johnny Lim 952224ef56 Polish
Closes gh-11193
7 years ago
Stephane Nicoll 33bd7ccc91 Merge branch '1.5.x' 7 years ago
Brian Clozel ee62633e33 Auto-Configure Freemarker in WebFlux
This commit adds support for basic auto-configuration for the Freemarker
template engine in WebFlux.

A few configuration properties in the `spring.freemarker.*` namespace
aren't supported yet, since they mostly apply to MVC (Servlet request
and session attributes).

Closes gh-10094
7 years ago
Phillip Webb 960083bd33 Polish 7 years ago
Craig Walls 64d02f8bb5 Remove Spring Social starters and auto-configuration
See gh-11117
7 years ago
Andy Wilkinson 22a426fe39 Polish 7 years ago
Andy Wilkinson ecdbc52fc5 Make log4j-core available to Elasticsearch tests
Elasticsearch server requires log4j-core but we don't want the entire
module to have a test dependency on log4j-core as it already uses
Logback. This commit uses the modified class path runner to make
log4j-core available specifically to the Elasticsearch-related tests.

See gh-11166
7 years ago
Stephane Nicoll 89054d32fa Polish "Fix CouchbaseReactiveRepositoriesAutoConfigurationTests"
Closes gh-11151
7 years ago
Eddú Meléndez ef3d44f680 Fix CouchbaseReactiveRepositoriesAutoConfigurationTests
See gh-11151
7 years ago
Stephane Nicoll 9543327406 Polish "Use BeanIds.SPRING_SECURITY_FILTER_CHAIN"
Closes gh-11162
7 years ago
Johnny Lim 70d92037bd Use BeanIds.SPRING_SECURITY_FILTER_CHAIN
See gh-11162
7 years ago
Johnny Lim d9828a0aaa Polish
See gh-11143
7 years ago
Johnny Lim dea95b2b67 Make CouchbaseReactiveRepositoriesAutoConfigureRegistrar package-private
Closes gh-11142
7 years ago
Johnny Lim 7d94695936 Harmonize CouchbaseReactiveRepositoriesAutoConfiguration conditions
Closes gh-11138
7 years ago
Andy Wilkinson 16b090c9bc Polish 7 years ago
Andy Wilkinson 7674841946 Log condition evaluation delta upon DevTools restart 7 years ago
Andy Wilkinson b3c5a050ad Polish message for matching beans produced by OnBeanCondition 7 years ago
Andy Wilkinson 51b56782a3 Apply customizers to build when created embedded Mongo client
Closes gh-11132
7 years ago
Stephane Nicoll 5ebed451e0 Remove dead code 7 years ago
Johnny Lim 01a48412d2 Polish
Closes gh-11126
7 years ago
Stephane Nicoll 0a5f064d39 Improve error metadata for Autoconfigure module 7 years ago
Stephane Nicoll 877ed041e7 Polish 7 years ago
Stephane Nicoll 13ccf45008 Polish
See gh-10884
7 years ago
Andy Wilkinson f12de333f5 Merge branch '1.5.x' 7 years ago
Andy Wilkinson 69fb433eb7 Merge branch '1.5.x' 7 years ago
Stephane Nicoll 59df2909b8 Format 7 years ago
Stephane Nicoll cc2d882d08 Polish
See gh-11090
7 years ago
Phillip Webb 93ae71cf93 Switch Jackson write-dates-as-timestamps default
Update `JacksonAutoConfiguration` so that `write-dates-as-timestamps`
now defaults to `false`.

Fixes gh-11079
7 years ago
Phillip Webb d99625fa78 Rename properties that have `-` in their prefix
Rename `reactive-repositories` to `reactiverepositories` and replace
`spring.resources.cache-control` with `spring.resources.cache.control`.

Fixes gh-11090
7 years ago
Andy Wilkinson 4bf1640198 Allow beans to be used as Hibernate naming strategies
Previously, custom Hibernate naming strategies could only be
configured via properties. This allowed a fully-qualified classname to
be specified, but did not allow a naming strategy instance to be used.

This commit updates HibernateJpaConfiguration to use
ImplicitNamingStrategy and PhysicalNamingStrategy beans if they
exist. If both a bean exists and the equivalent property has been set,
the bean wins.
7 years ago
Johnny Lim 858d325577 Fix getter and setter for sMaxAge 7 years ago
Andy Wilkinson 2b1d1cd317 Polish "Auto-configure templated welcome page"
Closes gh-10545
7 years ago
Bruce Brouwer cc855f4462 Auto-configure templated welcome page
See gh-10545
7 years ago
Andy Wilkinson 08c85c1fba Separate welcome page handler mapping and its tests from auto-config
Closes gh-11094
7 years ago
Andy Wilkinson ff3d7c2ca1 Polish 7 years ago
Phillip Webb 4d5de829cb Fix checkstyle error 7 years ago
Phillip Webb e82913dd5a Align appendix edits with source code
Port editing changes from append to java source files to ensure that
IDE meta-data also reflects the improvements.

Closes gh-10870
7 years ago
Phillip Webb e01c92a38a Polish 7 years ago
Phillip Webb 64c5e8b6ed Rename @DurationUnit -> @DefaultDurationUnit
Rename `@DurationUnit` to `@DefaultDurationUnit` to make it clearer
that it only changes the unit if one isn't specified by the user.

Closes gh-11078
7 years ago
Phillip Webb 6f3ca459ea Align MongoReactiveSessionConfiguration conditions
Align `MongoReactiveSessionConfiguration` `@ConditionalOnClass` with
`MongoSessionConfiguration`

See gh-11063
7 years ago
Andy Wilkinson 8a3502bdde Polish "Improve Spring Session auto-configuration tests"
See gh-11063
7 years ago
Vedran Pavic d8e3960631 Improve Spring Session auto-configuration tests
Closes gh-11063
7 years ago
Brian Clozel b7753a1f29 Polish 7 years ago
tinexw e2bc90b6bb Add CacheControl config keys in spring.resources.*
This commit adds several configuration keys for customizing the
"Cache-Control" HTTP response header when serving static resources.

New keys are located in the "spring.resources.cache-control.*"
namespace; anything configured there will prevail on existing
"spring.resources.cache-period=" values, so as to mirror Spring MVC's
behavior.

Fixes gh-9432
7 years ago
Vedran Pavic b6d9ae7efa Align Session auto-config with Redis namespace config support
See gh-11084
7 years ago
Phillip Webb 8f4bf233b4 Update configuration properties to use Duration
Update appropriate configuration properties to use the `Duration`
type, rather than an ad-hoc mix of milliseconds or seconds.

Configuration properties can now be defined in a consistent and readable
way. For example `server.session.timeout=5m`.

Properties that were previously declared using seconds are annotated
with `@DurationUnit` to ensure a smooth upgrade experience. For example
`server.session.timeout=20` continues to mean 20 seconds.

Fixes gh-11080
7 years ago
Stephane Nicoll 303b812363 Properly document default for useNewIdGeneratorMappings
Closes gh-11064
7 years ago
Phillip Webb e147982045 Add FilteredClassLoader
Add `FilteredClassLoader` to replace `HideClassesClassLoader` and
`HidePackagesClassLoader`.

Fixes gh-10303
7 years ago
Phillip Webb 2f6aca222e Fix checkstyle violation
Fix public constructor accidentally added in commit 72862b565c.

See gh-10387
7 years ago
Phillip Webb 72862b565c Polish location check with vendor placeholder
Closes gh-10387
7 years ago
Eddú Meléndez 1ee47cec31 Support location check with vendor placeholder
Update location check logic triggered if `flyway.check-location=true`
to resolve any vendor placeholders in `flyway.locations`.

See gh-10387
7 years ago
Phillip Webb 4c29c35cbb Polish Kafka transaction support property
Closes gh-11076
7 years ago
nklmish 6d396b973f Add Kafka transaction support property
Add `spring.kafka.producer.transaction-id-prefix` property that will be
passed to `DefaultKafkaProducerFactory.setTransactionIdPrefix(...)`

See gh-11076
7 years ago
Johnny Lim 73c65286ea Polish 7 years ago
Stephane Nicoll c4070e093c Polish 7 years ago
Johnny Lim 1783a072ad Remove explicit constructor super() calls
Closes gh-11068
7 years ago
Phillip Webb a6cefc5ba0 Polish 7 years ago
Madhura Bhave 551c08ebfe Update conditions for OAuth security config
Closes gh-11070
7 years ago
Madhura Bhave d1766509f1 Rename clientReg redirectUri to redirectUriTemplate
To keep it consistent with changes made in Spring Security

Closes gh-11038
7 years ago
Vedran Pavic 44eebcaff5 Fix `SessionAutoConfiguration` ordering
This commit updates `SessionAutoConfiguration` to ensure it is processed
after `MongoDataAutoConfiguration` and
`MongoReactiveDataAutoConfiguration`, instead of `MongoAutoConfiguration`
and `MongoReactiveAutoConfiguration`. This is required in order for
MongoDB Session auto-configuration to work, since
`MongoSessionConfiguration` and `MongoReactiveSessionConfiguration` are
conditional on `MongoOperations` and `ReactiveMongoOperations` beans,
respectively.

Closes gh-11054
7 years ago
Johnny Lim e8563c54dd Polish
Closes gh-11050
7 years ago
Stephane Nicoll 5728d9614e Use a List rather than an array for consistency
Closes gh-11029
7 years ago
Stephane Nicoll a0374c0c31 Polish "Add 'enableSpringElCompiler' to ThymeleafProperties"
Closes gh-10869
7 years ago
Kazuki Shimizu cf350cf85b Add 'enableSpringElCompiler' to ThymeleafProperties
See gh-10869
7 years ago
Johnny Lim cbb483735d Polish
Closes gh-10948
7 years ago
dreis2211 1e4941e29a Use StandardCharsets where possible
Closes gh-11036
7 years ago
Phillip Webb 3035df59cc Use a String[] so sential nodes are trimmed
Update `RedisProperties` to use an actual String[] for sentinal nodes
rather than a simple String. This allows us to lean on the updated
binder to automatically trim the elements.

Fixes gh-11029
7 years ago
Phillip Webb f647f5689f Polish 7 years ago
Stephane Nicoll bbdff1a5bf Polish "Add support for reactive Spring Data Couchbase"
Closes gh-10812
7 years ago
Alex Derkach 568cd6472b Add support for reactive Spring Data Couchbase
See gh-10812
7 years ago
Stephane Nicoll 1830dcf103 Rename AutoConfigurationReportEndpoint to ConditionsEndpoint
This commit further aligns the change to ConditionEvaluationReport by
renaming the 'autoconfig' endpoint to 'conditions'.

Closes gh-2945
7 years ago
Andy Wilkinson 07462be090 Polish 7 years ago
Stephane Nicoll dac7d9c174 Rename AutoConfigurationReportLoggingInitializer to ConditionEvaluationReportLoggingListener
Closes gh-2945
7 years ago
Stephane Nicoll 26158c1ee2 Add default order for JobLauncherCommandLineRunner
Closes gh-2943
7 years ago
Stephane Nicoll 46ef178f04 Polish "Improve cache auto-configuration for Redis"
Closes gh-10944
7 years ago
Ryon a4ed406ee8 Improve cache auto-configuration for Redis
Expose key prefix, TTL and null value settings for spring-data-redis'
RedisCacheConfiguration in Spring .properties/yml configuration files.

Example:

spring.cache.redis.ttl=PT15M
spring.cache.redis.keyPrefix=foo
spring.cache.redis.useKeyPrefix=false
spring.cache.redis.cacheNullValues=false

See gh-10795
7 years ago
Johnny Lim bd0dcfb172 Utilize StandardCharsets
Closes gh-10972
7 years ago
Andy Wilkinson f4570710c1 Make Tomcat auto-config back off when UpgradeProtocol is absent
Closes gh-10960
7 years ago
dreis2211 93b1ebb7fa Use Integer::compare in AutoConfigurationSorter
Closes gh-10959
7 years ago
Phillip Webb 1e7d85a632 Polish 7 years ago
Andy Wilkinson 60afbdc868 Polish 7 years ago
Johnny Lim c05a299520 Polish
Closes gh-10921
7 years ago
Phillip Webb fa191d8c73 Align ReactiveWebApplicationContext with framework
Refactor `ReactiveWebApplicationContext` implementations to align closer
with the `WebApplicationContext` implementations defined in
Spring Framework.

The following classes are now provided:

  - `AnnotationConfigReactiveWebApplicationContext` -- A refreshable
    reactive web context with support for `@Configuration` classes.

  - `GenericReactiveWebApplicationContext` -- A non-refreshable reactive
    GenericApplicationContext.

  - `ReactiveWebServerApplicationContext` --  A non-refreshable reactive
    GenericApplicationContext with support for server discovery.

  - `AnnotationConfigReactiveWebServerApplicationContext` -- A
    non-refreshable reactive `GenericApplicationContext` with support
    for `@Configuration` classes and server discovery.

These classes roughly align to the following Servlet equivalents:

  - `AnnotationConfigWebApplicationContext` (Spring Framework)
  - `GenericWebApplicationContext` (Spring Framework)
  - `ServletWebServerApplicationContext` (Spring Boot)
  - `AnnotationConfigServletWebServerApplicationContext` (Spring Boot)

An additional `ConfigurableReactiveWebEnvironment` interface as also
been introduced, primarily for `@ConditionalOnWebApplication` to use.

Fixes gh-10852
7 years ago
Phillip Webb b6166dc12a Move `Assume` to spring-boot-test-support
Fixes gh-10866
7 years ago
Phillip Webb 427d262297 Polish 7 years ago
Brian Clozel fa0926b178 Error handling for WebFlux should log HTTP 5xx errors
This commit ensures that all errors handled by the
`DefaultErrorWebExceptionHandler` (Spring WebFlux error convetion
support) logs an error with request information and exception
stacktrace.

This is limited to errors that result in an HTTP 5xx error.
Exceptions that extend `ResponseStatusException` and set a non-5xx
status will not be logged.

Closes gh-10904
7 years ago
Brian Clozel 58db841c8f Add Http2 configuration properties
This commit adds a new configuration properties class for configuring
HTTP/2 protocol support.
By default, this protocol is disabled as enabling it requires several
manual changes:

* configuring a web server for proper TLS and ALPN support
* configuring a proper SSL certificate

See gh-10043
7 years ago
Phillip Webb f440fc6d25 Formatting 7 years ago
Andy Wilkinson 76df3fc496 Use explicit classpath: prefix for Flyway location
Flyway implicitly adds classpath: to locations without a prefix but
resource loader fails to find migratons on the classpath without the
prefix.

Add an explicit classpath: prefix so that both Flyway and the resource
loader used to check the locations can find the migration location.

See gh-10807
7 years ago
Eddú Meléndez dcc6d8d6ff Align default of flyway.check-location with equivalent Liquibase prop
Closes gh-10807
7 years ago
Andy Wilkinson 2ae4678b1e Drop support for Spring Mobile
Closes gh-10884
7 years ago
Vedran Pavic 3d44ef0872 Add support for configuring Spring Session cleanup cron
This commit adds support for configuring cron expression used for
expired session cleanup job in Redis and JDBC session stores.

Closes gh-10818
7 years ago
Phillip Webb c55b5d7111 Polish 7 years ago
Phillip Webb 44d8e09aac Polish endpoint parameter name discovery
Move logic from `ParameterNameMapper` into `ReflectiveOperationInvoker`
in order to reduce the surface area of the public API.

Also rename some classes for consistency.
7 years ago
Madhura Bhave 905e311ef2 Update javadoc 7 years ago
Madhura Bhave b2efef2eed Detect `springSecurityFilterChain` using name 7 years ago
Madhura Bhave 083cf50685 Change condition for adding @EnableWebSecurity
Instead of looking for the presence of `WebSecurityConfiguration`,
this commit checks for the presence of a `Filter` with the name
springSecurityFilterChain. This allows users to configure the Filter
without adding `WebSecurityConfiguration`, making it more flexible.
`springSecurityFilterChain` is somewhat of a contract in Spring Security
and it relies on the name being `springSecurityFilterChain`.

Closes gh-10849
7 years ago
Stephane Nicoll 74677629ff Remove handling of spring.git.properties
Closes gh-10857
7 years ago
Madhura Bhave 1e9fca0b76 Register a bean for OAuth2AuthorizedClientService
Closes gh-10837
7 years ago
Andy Wilkinson 93a67e6b4a Polish 7 years ago
Andy Wilkinson f59fbe6f81 Update test to align with media type change in HATEOAS 0.24
See gh-10828
7 years ago
Andy Wilkinson 5df473a651 Add env-based configuration of TTL of Tomcat's static resource cache
Closes gh-9670
7 years ago
Stephane Nicoll 654cee5a94 Polish 7 years ago
Stephane Nicoll 822ca00001 Merge branch '1.5.x' 7 years ago
Andy Wilkinson a276356328 Add auto-configuration for Spring Session's reactive support
Closes gh-9850
7 years ago
Andy Wilkinson bdab4aa97e Auto-configuration of reactive Spring Session 7 years ago
Andy Wilkinson 5aa66305a8 Log warning when open-in-view is implicitly enabled for JPA or Neo4j
Closes gh-7107
7 years ago
Stephane Nicoll edefacf7ac Adapt to Spring Security change 7 years ago
Stephane Nicoll 5649e8c92a Polish 7 years ago
Stephane Nicoll e7cb0be6d8 Adapt to Spring Security change
This commit updates `WebFluxSecurityConfiguration` to look for a
`WebFilterChainProxy` rather than the default configuration that
`@EnableWebFluxSecurity` triggers. The latter is now package private.
7 years ago
Stephane Nicoll cba430818f Adapt to change in latest Spring Security snapshot 7 years ago
Stephane Nicoll a34ff67a1d Merge branch '1.5.x' 7 years ago
Stephane Nicoll caf4c4c6dd Make use of Batch's new API for accessing job parameters
Closes gh-10135
7 years ago
Andy Wilkinson 194e03c913 Polish mock verification and formatting
See gh-10773
7 years ago
Andy Wilkinson 37392c0ec8 Adapt to changed default login redirect URL in OAuth 2 Client support
See https://github.com/spring-projects/spring-security/issues/4687
See gh-10705
7 years ago
Stephane Nicoll dbb1e222ab Initialize only an embedded datasource by default
This commit renames spring.datasource.initialize to
spring.datasource.initialization-mode and use the
DataSourceInitializationMode enum. By default, only an embedded
datasource is initialized.

Closes gh-10773
7 years ago
Stephane Nicoll b720c2141c Rename DatabaseInitialization to DataSourceInitialization
Closes gh-10779
7 years ago
Stephane Nicoll 852ad093b2 Add support for @SendTo with kafka listener
This commit makes sure that the `replyTemplate` is set if a
KafkaTemplate is available in the context which effectively add support
for `@SendTo`.

Closes gh-10669
7 years ago
Stephane Nicoll 97c1365e24 Remove Http401AuthenticationEntryPoint
Closes gh-10715
7 years ago
Stephane Nicoll b23f68b0d5 Merge branch '1.5.x' 7 years ago
Vedran Pavic ac10fa31cd Upgrade to Hazelcast 3.9
Closes gh-10764
7 years ago
Madhura Bhave 182b6f0d29 Fix OAuth2 client tests as per upstream changes 7 years ago
Andy Wilkinson 66b55defa0 Adapt to password encoder changes in Spring Security
Closes gh-10762
7 years ago
Andy Wilkinson 2b426c30a6 Polish “Remove explicit type arguments”
Closes gh-10494
7 years ago
Johnny Lim 6168fae720 Remove explicit type arguments
See gh-10494
7 years ago
Andy Wilkinson a256602c7b Polish 7 years ago
Stephane Nicoll 2b69e3c6d5 Fix metadata of spring.mustache.suffix
Closes gh-10752
7 years ago
Andy Wilkinson 90ecb29667 Align with spring-security-jwt-jose being renamed to s-s-auth2-jose
Closes gh-10750
7 years ago
Madhura Bhave 64b9451e2f Fix OAuth2 client tests following upstream changes 7 years ago
Johnny Lim 44ae148ecd Polish
Closes gh-10700
7 years ago
Madhura Bhave 8600bd7294 Upgrade to Spring Security 5.0.0.BUILD-SNAPSHOT
Following some changes in the latest snapshot this includes:
- Some updates to oauth2 client auto-config
- Security auto-config no longer relies on GlobalAuthenticationConfigurerAdapter
- Remove reactive security starter

Closes gh-10704
7 years ago
Madhura Bhave eb446d07d9 Default provider to registration-id if not present
Closes gh-10671
7 years ago
Stephane Nicoll c2f649df54 Add support for JPA mapping resources
Closes gh-10684
7 years ago
Stephane Nicoll c4026806a6 Polish 7 years ago
Andy Wilkinson 688da652ac Polish 7 years ago
dreis2211 3b71393e0a Use Assert.state() with Supplier where possible
See gh-10658
7 years ago
Johnny Lim 5aa32b3d0f Polish
Closes gh-10636
7 years ago
Stephane Nicoll 22de4303c5 Polish "When pool autocommit is disabled, inform Hibernate"
Closes gh-9737
7 years ago
Craig Andrews d0e70e90de When pool autocommit is disabled, inform Hibernate
Starting with Hibernate 5.2.10, the JPA property
`hibernate.connection.provider_disables_autocommit` should be set to true
when the datasource has autocommit disabled in order to improve
performance.

See gh-9737
7 years ago
Brian Clozel 68db43cf44 Support error conventions in Spring WebFlux
This commit adds support for Spring Boot error conventions with WebFlux.
The Spring MVC support for that is based on an `Controller` that's
mapped on a specific `"/error"` path and configured as an error page in
the Servlet container. With WebFlux, this support leverages a
`WebExceptionHandler`, which catches exceptions flowing through the
reactive pipeline and handles them.

The `DefaultErrorWebExceptionHandler` supports the following:
* return a JSON error response to machine clients
* return error HTML views (templates, static or default HTML view)

One can customize the error information by contributing an
`ErrorAttributes` bean to the application context.

Spring Boot provides an `ErrorWebExceptionHandler` marker interface and a
base implementation that provides high level constructs to handle
errors, based on the Spring WebFlux functional flavor.
The error handling logic can be completely changed by providing a custom
`RouterFunction` there.

Fixes gh-8625
7 years ago
Andy Wilkinson 44acef2ae2 Merge branch '1.5.x' 7 years ago
Phillip Webb 748e0779b6 Update copyright year for changed files 7 years ago
Phillip Webb d62d829c19 Polish 7 years ago
Madhura Bhave a06ec4a877 Mongo Uri overrides host and port
Fixes gh-4017
7 years ago
Phillip Webb 8be7d3cab4 Polish 7 years ago
Stephane Nicoll a662b779b3 Fix build failure
Spring Session JDBC no longer providers a JdbcTemplate so our tests
need to make sure to include our own auto-configuration for it.
7 years ago
Madhura Bhave 0402223fd0 Replace CommonOAuth2Provider
Closes gh-10543
7 years ago
Madhura Bhave 3ced8412b5 Replace AuthorizationGrantType & ClientAuthenticationMethod
Closes gh-10506
7 years ago
Daniel Fernández e69a93bf47 Minor documentation improvements at ThymeleafProperties 7 years ago
Daniel Fernández 6a52a1a6a0 Added configuration test for spring.thymeleaf.reactive.max-chunk-size 7 years ago
Daniel Fernández 7de6472477 Added configuration parameters at ThymeleafProperties for "fullModeViewNames" and "chunkedModeViewNames" 7 years ago
Phillip Webb 526fc1f351 Fix imports following upstream change 7 years ago
Andy Wilkinson 2bb54f16fb Polish 7 years ago
Phillip Webb b87f9c11f1 Fix POMs for the updated build/release process
Fix POMs following project relocations and apply CI friendly Maven
conventions.

See gh-9316
7 years ago
Phillip Webb 0ba4830b4f Relocate projects to spring-boot-project
Move projects to better reflect the way that Spring Boot is released.

The following projects are under `spring-boot-project`:

  - `spring-boot`
  - `spring-boot-autoconfigure`
  - `spring-boot-tools`
  - `spring-boot-starters`
  - `spring-boot-actuator`
  - `spring-boot-actuator-autoconfigure`
  - `spring-boot-test`
  - `spring-boot-test-autoconfigure`
  - `spring-boot-devtools`
  - `spring-boot-cli`
  - `spring-boot-docs`

See gh-9316
7 years ago