Commit Graph

1298 Commits (effa0cb024fa0e3cf903c6d395929d0823d64dc6)

Author SHA1 Message Date
Phillip Webb ccfbd03482 Merge branch '2.0.x' into 2.1.x 6 years ago
Phillip Webb b442d3b906 Merge branch '1.5.x' into 2.0.x 6 years ago
Phillip Webb 5fba43aa31 Merge branch '1.5.x' into 2.0.x 6 years ago
Phillip Webb 6913ea24b0 Polish "Fix NoClassDefFound when missing Spring Security"
See gh-16889
6 years ago
Vedran Pavic e9bd11ee83 Fix NoClassDefFound when missing Spring Security
Update Spring Session auto-configuration to ensure that the
`DefaultCookieSerializer` doesn't break when Spring Security is not
present on the classpath.

Closes gh-16889
6 years ago
Phillip Webb 278a0866cd Polish "Fix Spring Data Cassandra auto-configure condition"
See gh-16971
6 years ago
Dmytro Nosan be435130e6 Fix Spring Data Cassandra auto-configure condition
Update `CassandraDataAutoConfiguration` do that it's only applied when
a `Cluster` bean is found.

Fixes gh-16971
6 years ago
Andy Wilkinson da12ad0ca5 Make ReactiveSecurityAutoConfiguration back off without spring-webflux
Closes gh-16934
6 years ago
Phillip Webb ed998ef0d3 Update copyright header of changed files 6 years ago
Phillip Webb e2dc278cae Use default SslContextFactory for JettyClient
Update the auto-configured Jetty `HttpClient` so that a default
`SslContextFactory` is used.

Prior to this commit connecting to https URLs would cause a
`NullPointerException`.

Fixed gh-16810
6 years ago
Marcus Eisele 94a9748ce0 Fix 'spring.resources.cache.period' for WebMvc
Before this change it got overwritten by forwarding an empty
CacheControl to Spring. Spring itself sets CacheSeconds already
correctly in absence (=null) of a CacheControl.

Also:
* Fixes bug in WebMvcAutoConfigurationTests.cachePeriod which
prevented it to assert anything

See gh-16488
Closes gh-16730
6 years ago
Brian Clozel 0b4934d140 Fix DefaultErrorWebExceptionHandler test 6 years ago
Andy Wilkinson 96f3a482f0 Polish "Enable minIdle by allowing timeBetweenEviction runs to be configured"
See gh-16703
6 years ago
Gemini Kim 1659d46028 Enable minIdle by allowing timeBetweenEviction runs to be configured
See gh-16703
6 years ago
Andy Wilkinson ba0279be14 Remove race condition in TaskSchedulingAutoConfigurationTests
Closes gh-16640
6 years ago
Stephane Nicoll 7b9471836b Polish "Improve DefaultCookieSerializer auto-configuration"
Closes gh-16513
6 years ago
Vedran Pavic 5e02541195 Improve DefaultCookieSerializer auto-configuration
Spring Session's own configuration support (i.e.
SpringHttpSessionConfiguration) will configure the default
DefaultCookieSerializer with rememberMeRequestAttribute if
SpringSessionRememberMeServices bean has been detected in the
application context.

In contrast, Spring Boot's auto-configured DefaultCookieSerializer does
not do this which results in a different out-of-the-box experience for
users that rely on Spring Session's remember-me integration.

This commit improves Spring Session DefaultCookieSerializer
auto-configuration to match Spring Session's behavior and make the
auto-configured DefaultCookieSerializer aware of
SpringSessionRememberMeServices bean.

See gh-16513
6 years ago
Madhura Bhave b4d6ac1f41 Fix javadoc 6 years ago
Phillip Webb 617f97f788 Fix checkstyle violation 6 years ago
Phillip Webb f12ab1ff90 Update copyright header of changed files 6 years ago
Phillip Webb 34fee1adfa Polish 6 years ago
Johnny Lim 9fae1e5d0e Check for Reactor Netty disconnected client errors
Closes gh-16046
6 years ago
Phillip Webb 47c6bf741d Merge branch '2.0.x' into 2.1.x 6 years ago
Phillip Webb 07c000c5b7 Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson f20d9a62ae Polish "Ensure that MongoClient's EventLoopGroup is shut down during context close"
See gh-16087
6 years ago
Dmytro Nosan ee7bed1849 Ensure that MongoClient's EventLoopGroup is shut down during context close
See gh-16087
6 years ago
Madhura Bhave 768aa5dfcc Ignore exception if ValidationAdapter can't get a MessageInterpolator
Fixes gh-16177
6 years ago
liucheng.zhang 4d1717f18e Disable nulls serialization when serialize-nulls property is false
Closes gh-16332
6 years ago
Stephane Nicoll 6c3d64a2eb Test Thymeleaf auto-configuration backs off without spring integration
See gh-16341
6 years ago
Stephane Nicoll 29b1b38cc6 Migrate Thymeleaf tests to application runner 6 years ago
Krzysztof Koziol 17c0214cc6 Add missing class condition on thymeleaf-spring5
This commit adds an extra check for the presence of thymeleaf-spring5
library on the classpath. ThymeleafAutoConfiguration is now only
considered if both thymeleaf-spring5 and thymeleaf jars are present.

Closes gh-16341
6 years ago
Andy Wilkinson 5a3474c7a8 Polish "Use HTTPS for external links wherever possible"
See gh-16320
6 years ago
Spring Operator 9fc3ac7d49 Use HTTPS for external links wherever possible
See gh-16320
6 years ago
Andy Wilkinson 864942ad4f Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 14b21026bf Polish "Use HTTPS for external links wherever possible"
See gh-16319
6 years ago
Spring Operator 1a4c6f2dac Use HTTPS for external links wherever possible
See gh-16319
6 years ago
Andy Wilkinson ba4671f0ab Merge branch '1.5.x' into 2.0.x 6 years ago
Stephane Nicoll e57c0c0657 Do not attempt to add Jaxb customization if Jaxb is not present
See gh-16268
6 years ago
Stephane Nicoll c2f9e7dd43 Fix StreamsBuilderFactoryBean injection definition
Closes gh-16329
6 years ago
Andy Wilkinson 4900505425 Merge branch '2.0.x' into 2.1.x 6 years ago
Spring Operator a5dba01cb9 Use HTTPS for external links from XML files where possible
See gh-16314
6 years ago
Andy Wilkinson fedb40a2bf Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson e23f72c8b0 Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 9fbd38ab3c Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson a36aa67b52 Merge branch '2.0.x' into 2.1.x 6 years ago
Spring Operator 3e2b6ac8ed Update build and setup configuration to use HTTPS
See gh-16246
6 years ago
Phillip Webb fc3aa43cc2 Update copyright year for changed files 6 years ago
Andy Wilkinson 8c3cec8f13 Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 361437f4e2 Merge branch '1.5.x' into 2.0.x 6 years ago
Stephane Nicoll eebd906c8a Polish contribution
Closes gh-16047
6 years ago
Dan Zheng 2c4afb3bd8 Fix NamedParameterJdbcTemplate precedence with database migration tools
See gh-16047
6 years ago
Andy Wilkinson 53326695ea Polish 6 years ago
Stephane Nicoll 42c246cacb Polish contribution
Closes gh-15984
6 years ago
isank e546ed4834 Order TaskExecution auto-config before TaskScheduling auto-config
See gh-15984
6 years ago
Stephane Nicoll f3e142cb7c Polish "Stop using imports from shaded dependencies"
Closes gh-15950
6 years ago
Michael Simons de7812aa3a Stop using imports from shaded dependencies
See gh-15950
6 years ago
Andy Wilkinson 9fb0b97f96 Decorate test containers so tests are skipped without Docker
Closes gh-15901
Closes gh-15638
6 years ago
Andy Wilkinson ab8fcf0d71 Polish "Use class for @ConditionalOnClass"
See gh-15775
6 years ago
Johnny Lim b423962c89 Use class for @ConditionalOnClass
See gh-15775
6 years ago
Andy Wilkinson 799ac24da1 Reinstate auto-config of RequestContextFilter with Jersey
Previously, the auto-configuration for both Jersey and WebMvc would auto-configure
a RequestContextFilter bean. In 2.1.0, this led to a startup failure due to the latter
attempting to override the bean defined by the former. In addition to the override there
were also problems with the order of the filter as Jersey uses -1 and MVC uses -105.

To avoid the above-described problems, the auto-configuration of the RequestContextFilter
was removed from JerseyAutoConfiguration in 2.1.1. Unfortunately, the broke
request-scoped beans for those using only Jersey.

This commit attempts to strike a better balance by reintroducing the auto-configuration
of RequestContextFilter in JerseyAutoConfiguration. It will back off if the user defines
their own filter or filter registration. WebMvcAutoConfiguration has been updated to
back off in the same manner. This leaves the potential for ordering problems, but they
are no worse than they were before. Furthermore, the user has the means to correct any
problems by using the various filter ordering properties that are provided for Jersey,
Spring Session, Spring Security, etc.

Closes gh-15376
6 years ago
Andy Wilkinson a975c0ad16 Use Testcontainers’ CassandraContainer rather than our own
Closes gh-15901
6 years ago
Andy Wilkinson 20f26c4d30 Polish "Fix stopping of Embedded Mongo before context is closed"
See gh-15692
6 years ago
Eugene 750246f021 Fix stopping of Embedded Mongo before context is closed
See gh-15692
6 years ago
Andy Wilkinson 295a660e35 Polish "Set NO_REQUEST_TIMEOUT as a server option not a socket option"
See gh-15822
6 years ago
ayudovin dbce3731a4 Set NO_REQUEST_TIMEOUT as a server option not a socket option
See gh-15822
6 years ago
Jeffrey van der Laan 4f86233ca7 Do not auto-configure OEMIV filter when user defines registration bean
See gh-15889
6 years ago
Madhura Bhave 26da45aa9a Configure a JerseyApplicationPath bean for the actuators
This commit also ensures that Jersey-based actuator endpoints are
available before the user has configured a `ResourceConfig` bean

Fixes gh-15625
Fixes gh-15877
6 years ago
Brian Clozel cba6079b7b Log unhandled server exceptions in WebFlux
Prior to this commit, errors unhandled by custom `WebExceptionHandler`
and resulting in an HTTP 500 status would not be logged at ERROR level,
giving no information to developers about the actual exception.

This commit ensures that such exceptions are logged at the ERROR level
with their exception. By the time the exception hits the
`DefaultErrorWebExceptionHandler`, if the response is already committed
or if the exception is due to a client disconnecting, the error is
delegated to Framework support as Spring Boot won't be able to render an
error page as expected.

Fixes gh-15769
6 years ago
Andy Wilkinson 82bc87560c Use AssertJ’s exception assertions rather than fail
Closes gh-15761
6 years ago
Stephane Nicoll ede23caace Polish "Inject Map directly rather than via ObjectProvider"
Closes gh-15798
6 years ago
ayudovin 3a2e85ce75 Inject Map directly rather than via ObjectProvider
See gh-15798
6 years ago
Stephane Nicoll c5675de666 Polish "Handle AccessControlException in JspTemplateAvailabilityProvider"
Closes gh-15778
6 years ago
ayudovin 81273bdf9a Handle AccessControlException in JspTemplateAvailabilityProvider
See gh-15778
6 years ago
Stephane Nicoll 6f86a84301 Polish "Alias auto-configured `TaskExecutor` to make async tasks use it"
Closes gh-15748
6 years ago
Camille Vienot d0859f1569 Alias auto-configured `TaskExecutor` to make async tasks use it
See gh-15748
6 years ago
Phillip Webb 6a901199f5 Polish 6 years ago
Brian Clozel 6200a319f2 Polish
Closes gh-15385
6 years ago
ayudovin e9588ca04b Support server.connection-timeout for Netty server 6 years ago
Stephane Nicoll 830da28b8c Fix JPA bootstrap executor detection with multiple candidates
Spring Boot provides two separate auto-configurations that can
potentially expose an `AsyncTaskExecutor` implementation so relying on
the presence of a single instance is too weak.

This commit fixes the detection of the AsyncTaskExecutor that can be
used to bootstrap JPA so that a single instance is used and, in the case
more than one exists, the one named `applicationTaskExecutor`.

Closes gh-15447
6 years ago
Oleksii Bondar b52dddf784 Refactor OAuth2ClientPropertiesRegistrationAdapterTests
Closes gh-15586
6 years ago
Stephane Nicoll c6202b57e0 Merge branch '2.0.x' into 2.1.x 6 years ago
Stephane Nicoll be161b23cb Polish class conditions documentation
Closes gh-15578
6 years ago
Andy Wilkinson bfd63ab085 Polish "Stop JtaAutoConfiguration from enabling JtaProperties when not used"
Closes gh-15550
6 years ago
Nishant Raut 0b29da14b3 Stop JtaAutoConfiguration from enabling JtaProperties when not used
See gh-15550
6 years ago
igor-suhorukov e578d30722 Replace anonymous inner class with lambda
See gh-15438
6 years ago
Andy Wilkinson 3a7406fe3a Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 0741c90489 Avoid blocking on a Mono indefinitely
Closes gh-15535
6 years ago
dreis2211 948902f090 Avoid unnecessary usage of ReflectionTestUtils
Closes gh-15482
6 years ago
Madhura Bhave 3cc441c83e Do not remove trailing slash from OAuth2 Issuer URI
Fixes gh-15324
6 years ago
Madhura Bhave a11dea46d7 Use the right class in @ConditionalOnClass
See gh-15372
6 years ago
Madhura Bhave f13697b278 Make Resource Server auto-config conditional on JwtDecoder class
Fixes gh-15372
6 years ago
Stephane Nicoll c56c0ff433 Rename OAuth2ResourceServerJwkConfiguration
Closes gh-15375
6 years ago
Phillip Webb ba1ef52e39 Merge branch '2.0.x' 6 years ago
Phillip Webb 74376aa023 Polish 6 years ago
Andy Wilkinson ac322a8e30 Polish 6 years ago
Madhura Bhave fc6c07ad3c Merge branch '2.0.x' 6 years ago
Madhura Bhave decaacddce Account for application path for Jersey servlet endpoints
Closes gh-14895
6 years ago
Stephane Nicoll 114347107e Polish key description 6 years ago
Alon Bar-Lev 108f28417e Allow to disable SSL client authentication on the management port
When server and management are at different ports, and when server
requires TLS client authentication, then there is no simple method to
disable TLS client authentication for management port.

This commit adds an additional "none" option to ssl.client-auth.

Example:

    server.port=8080
    server.ssl.enabled=true
    server.ssl.client-auth=need
    management.server.port=8081
    management.server.ssl.enabled=true
    management.server.ssl.client-auth=none

See gh-14985
6 years ago
dreis2211 17f04b8b75 Replace DirectFieldAccessor usages by hasFieldOrPropertyWithValue
Closes gh-15312
6 years ago
Andy Wilkinson cf7664c01a Cope with version not found in Embedded Mongo's Version enum
Closes gh-15311
6 years ago
Andy Wilkinson b094e28081 Remove auto-configuration of RequestContextFilter when using Jersey
Closes gh-15048
6 years ago
Andy Wilkinson fb3deab89d Merge branch '2.0.x' 6 years ago
Andy Wilkinson e81abc3f11 Order jacksonCodecCustomizer so user-provided customizer can go after it
Closes gh-15167
6 years ago
Andy Wilkinson f6a22a05b8 Merge branch '2.0.x' 6 years ago
Andy Wilkinson 9553d4f64b Polish "Auto-configure Spring Session's cookie serializer"
Closes gh-15163
6 years ago
Vedran Pavic 0daf83efab Auto-configure Spring Session's cookie serializer
See gh-15163
6 years ago
Stephane Nicoll 8928cd1982 Deprecate spring.rabbitmq.template.queue
Closes gh-15301
6 years ago
Stephane Nicoll a240e22593 Adapt to Rabbit internal change
See gh-15271
6 years ago
Andy Wilkinson 073ac7bc99 Fix Thymeleaf security dialect tests on Windows 6 years ago
Stephane Nicoll ae1979f1ff Merge branch '2.0.x' 6 years ago
Stephane Nicoll 5f0ac46d78 Unwrap DataSource target rather than plain instanceof calls
Closes gh-15227
6 years ago
Stephane Nicoll e424dfbe15 Polish "Perform best effort to retrieve DataSourceProxy"
Closes gh-15206
6 years ago
Tadaya Tsuyukubo 26f9a92837 Perform best effort to retrieve DataSourceProxy
Prior to this commit, `DataSourceJmxConfiguration` with tomcat
`DataSource`, it can only find `DataSourceProxy` if the given
`DataSource` is a direct child of it.  Since it uses `instanceof`, it
could not find `DataSourceProxy` if the `DataSource` is
wrapped(delegated) or proxied.

This is because `DataSourceProxy#unwrap()` always returns null; thus
cannot use this method to directly obtain `DataSourceProxy`.

In this commit, updated the check logic to perform the best effort to
retrieve `DataSourceProxy`. If given `DataSource` is wrapped or proxied
by spring, tries to unwrap or get target datasource recursively to find
`DataSourceProxy`.

See gh-15206
6 years ago
Andy Wilkinson 4f405ed97d Merge branch '2.0.x' 6 years ago
Andy Wilkinson 058428a14c Clarify how multiple attributes are treated by ConditionalOn(Missing)Bean
Closes gh-15177
6 years ago
Andy Wilkinson 3bda78a3d3 Fix tests after HandlerExceptionResolver logging changes
See gh-14936 and gh-15189
6 years ago
Dave Syer b6aff10244 Temporarily make @Bean methods in Spring Data JDBC public
Closes gh-15097
6 years ago
Stephane Nicoll c1b1f14f5a Fix default unit for multipart properties
This commit fixes a regression that wrongly changed the default unit of
multipart properties from bytes to megabytes.

Closes gh-15162
6 years ago
Stephane Nicoll 2f4325d00f Polish 6 years ago
Brian Clozel d84421b7e1 Improve HttpMessageConverters javadoc
Closes gh-15027
6 years ago
Johnny Lim fd5aa3ebf1 Polish
See gh-15134
6 years ago
Stephane Nicoll 089ef9085a Polish "Add HANA to the lookup of well-known databases"
Closes gh-15125
6 years ago
Jonathan Bregler 85754eaddd Add HANA to the lookup of well-known databases
See gh-15125
6 years ago
Andy Wilkinson e7d921c216 Align test expectations with styling of stack trace div
Closes gh-15075
6 years ago
Andy Wilkinson bfb0886495 Tolerate Hibernate 5.2
Closes gh-15100
6 years ago
Brian Clozel 159f947870 Polish
Closes gh-15075
6 years ago
up-to-you ae4bc48481 Fix stack-trace line breaks in whitelabel error views
Since gh-12838, the WebFlux whitelabel error view also shows the
stacktrace information if it is available in the model.

This commit adds a CSS directive that preserves white spaces and breaks
lines at newline characters.
6 years ago
dreis2211 3e95af2c85 Polish some Map operations
Closes gh-15103
6 years ago
dreis2211 5e35ac6ce5 Remove unused static methods in tests
Closes gh-15084
6 years ago
Stephane Nicoll 0bd69fded8 Fix detection of ScheduledExecutorService
`@EnableScheduling` detects primarily a suitable `TaskScheduler` in the
context and fallbacks to the presence of a `ScheduledExecutorService` if
that is not the case.

This commit improves the auto-configuration to back off when such
scheduled executor service is present, so that the framework
initialization code can pick it up as usual.

Closes gh-15032
6 years ago
Brian Clozel da53a0b8d5 Fix HTTP status error template rendering in WebFlux
Prior to this commit, a change in `HttpStatus.toString` since SPR-16898
prevented the default WebFlux `ErrorWebExceptionHandler` to render
template views for exact HTTP status (e.g. "404.html").
This issue does not affect the resolution of series, like "4xx.html".

This commit fixes `DefaultErrorWebExceptionHandler` to use
`HttpStatus.value()` when attempting to resolve error views.

Closes gh-15083
6 years ago
Stephane Nicoll 980d8ea0ad Merge branch '2.0.x' 6 years ago
Stephane Nicoll 2927195b02 Fix StaticResourceRequest javadoc examples
Closes gh-15050
6 years ago
Phillip Webb f3fa20b2d1 Polish 6 years ago
Andy Wilkinson 743782de7e Revert reloadable message source support
Closes gh-14882
See gh-14699
See gh-13377
6 years ago
Andy Wilkinson f492285999 Polish "Make auto-configured applicationTaskExecutor bean lazy"
Closes gh-14934
6 years ago
artsiom 4f92e857e9 Make auto-configured applicationTaskExecutor bean lazy
See gh-14934
6 years ago
Andy Wilkinson 0e08d379ae Polish "Add CachingMetadataReaderFactoryPostProcessor earlier in context lifecyle"
See gh-14907
6 years ago
Dave Syer c1022e74cd Add CachingMetadataReaderFactoryPostProcessor earlier in context lifecyle
An initializer that adds a BeanDefinitionRegistryPostProcessor which
in turn adds bean definitions has to be very careful to run early.
Otherwise, other initializers that want to influence the bean
definitions added never get a chance.

Closes gh-14907
6 years ago
Phillip Webb 22c7546607 Polish 6 years ago
Phillip Webb 1451c0c069 Polish "Restore max-http-header-size default value support"
Fix Jetty and Undertow customizers to restore Spring Boot 2.0
behavior where a negative or zero `max-http-header-size` indicates
that the server default should be used.

Closes gh-14986
6 years ago
Bryan Turner 8b40ce14cb Restore max-http-header-size default value support
Fix `TomcatWebServerFactoryCustomizer` to restore Spring Boot 2.0
behavior where a negative or zero `max-http-header-size` indicates
that the server default should be used.

See gh-14986
6 years ago
Phillip Webb 1a0a8470e5 Merge branch '2.0.x' 6 years ago
Phillip Webb 62b9268cec Polish "Fix Spring Batch job restart parameters handling"
See gh-14933
6 years ago
Mahmoud Ben Hassine ad3c3ad361 Fix Spring Batch job restart parameters handling
Fix the `JobLauncherCommandLineRunner` to correctly deal with job
parameters when restarting a job.

Prior to this commit, we were was calling the `getNextJobParameters`
method of the `JobParametersBuilder` from batch. This method was getting
the previous parameters of the wrong job instance in a restart scenario.

This commit fixes the issue by first getting the right job instance with
the provided parameters, then restarting it.

Closes gh-14933
6 years ago
Vedran Pavic 6e967fe860 Upgrade to Hazelcast 3.11
Closes gh-14949
6 years ago
Hanope 65e3b9ff5b Fix typos
Closes gh-14954
6 years ago
Brian Clozel 755c4b8b98 Update spring.mvc.log-resolved-exception description
Closes gh-14936
6 years ago
Phillip Webb 2097b6a4c1 Improve ResourceUrlEncodingFilter conditions
Update Thymeleaf and FreeMarker configurations to make use of the new
`@ConditionalOnMissingFilterBean` annotation.

Closes gh-14926
6 years ago