Commit Graph

2379 Commits

Author SHA1 Message Date
Stephane Nicoll
4304cdb91a Merge branch '1.5.x' 2017-02-16 10:08:02 +01:00
Stephane Nicoll
f57ddff478 Remove dead code
Closes gh-8305
2017-02-16 10:04:57 +01:00
Madhura Bhave
b4134e239e Add autoconfiguration for JWKTokenStore
If `jwk.key-set-uri` is present.

Closes gh-4437
2017-02-15 12:05:29 -08:00
Andy Wilkinson
04a87ee4c1 Merge branch '1.5.x' 2017-02-15 17:25:18 +00:00
Andy Wilkinson
01729cc1d2 Merge branch '1.4.x' into 1.5.x 2017-02-15 17:25:07 +00:00
Andy Wilkinson
9e1238e286 Consider resource loader path when checking Groovy template availability
Closes gh-8304
2017-02-15 17:24:57 +00:00
Andy Wilkinson
57fe8b966e Use Spring Session's defaults for its filter's dispatcher types
Closes gh-8288
2017-02-15 12:24:01 +00:00
Andy Wilkinson
fe6320db42 Align Security filter dispatcher types with Spring Security's defaults
Closes gh-8289
2017-02-14 17:02:36 +00:00
Stephane Nicoll
ce6372c46f Add support of reactive repositories with @DataMongoTest
Closes gh-8280
2017-02-14 11:21:51 +01:00
Stephane Nicoll
50553137d3 Merge branch '1.5.x' 2017-02-14 10:32:48 +01:00
Stephane Nicoll
a0ef61a27d Enable proxy target class for MethodValidationPostProcessor
Closes gh-8277
2017-02-14 10:32:26 +01:00
Andy Wilkinson
f9015be619 Merge branch '1.5.x' 2017-02-13 12:37:15 +00:00
Andy Wilkinson
e0b355d313 Avoid ClassNotFoundException caused by areturn verification
The verifier's type checker is required to check that a type returned
from a method (an areturn instruction) is assignable to the method's
declared return type. When the return type is an interface, the JLS
states that it should be treated as java.lang.Object. This means that
no analysis of the type being returned is required and verification
passes. When the return type is a class, the type being returned must
be analyzed to ensure that it is compatible. This analysis causes the
return type to be loaded during verification.

Prior to this commit, BasicBatchConfigurer's
createAppropriateTransactionManager method had a return type of
AbstractPlatformTransactionManager and a branch that could return
a JpaTransactionManager. This caused the verifier to attempt to load
JpaTransactionManager so that it could check that it was assignable
to AbstractPlatformTransactionManager. This would fail when
spring-orm is not on the classpath as JpaTransactionManager could not
be loaded.

This commit updates BasicBatchConfigurer to change the return type
of createAppropriateTransactionManager so that it returns a
PlatformTransactionManager which is an interface. As described above,
this relaxes the verification of any areturn instructions in the
method and, in this particular case stops the verifier from trying to
load JpaTransactionManager.

Closes gh-8181
2017-02-13 12:36:17 +00:00
Stephane Nicoll
b30d4303d5 Polish contribution
Closes gh-8230
2017-02-09 15:54:59 +01:00
Mark Paluch
48b0f1577b Provide a starter for reactive Spring Data MongoDB
Add autoconfiguration to bootstrap MongoDB Reactive Streams driver
components, reactive Spring Data MongoDB and reactive repositories. Add
bean dependency processor for flapdoodle so embedded MongoDB instances
are configured before bootstraping the reactive MongoDB client.

Add Spring Data MongoDB Reactive starter with blocking and non-blocking
dependencies. MongoDB requires a separate driver that is used in the
`ReactiveMongoTemplate` while `MappingMongoConverter` (shared amongst
blocking/reactive Template API) requires the blocking driver to resolve
DBRefs.

See gh-8230
2017-02-09 15:54:59 +01:00
Andy Wilkinson
16b7bf7f73 Merge branch '1.5.x' 2017-02-09 13:50:23 +00:00
Andy Wilkinson
601c6aa305 Tidy up code formatting and address some compiler warnings 2017-02-09 13:48:55 +00:00
Andy Wilkinson
df08863641 Make ServletRegistrationBean and FilterRegistration bean generic
Closes gh-7666
2017-02-09 13:36:35 +00:00
Stephane Nicoll
064faf9560 Merge branch '1.5.x' 2017-02-09 10:43:20 +01:00
Stephane Nicoll
aa49468171 Allow to define a custom MessageRecoverer
This commit improves `SimpleRabbitListenerContainerFactoryConfigurer` to
use a custom `MessageConverter`. If such a bean is present, it is used
for the default factory that is auto-configured.

Closes gh-8194
2017-02-09 10:43:03 +01:00
Stephane Nicoll
cea64f6a32 Merge branch '1.5.x' 2017-02-08 14:29:48 +01:00
Stephane Nicoll
8a59e88a9d Fix MongoDB CustomConversions bean name
This commit qualifies the `CustomConversions` bean name that the Mongo
auto-configuration might create. `CustomConversions` is a common pattern
in Spring Data and other stores are using the same name.

See https://jira.spring.io/browse/DATASOLR-362

Closes gh-8225
2017-02-08 14:29:33 +01:00
Brian Clozel
aeef41c977 Separate container customization from ServerProperties
This commit creates a separate
`ServerPropertiesServletContainerCustomizer` that holds the servlet
container customization code, separating that concern from the server
configuration keys.

See gh-8066
2017-02-08 09:55:07 +01:00
Stephane Nicoll
8899b93de0 Merge branch '1.5.x' 2017-02-07 18:31:21 +01:00
Stephane Nicoll
45a91fca31 Fix parsing of spring.autoconfigure.exclude property
This commits makes sure that `AutoConfigureImportSelector` properly
parses comma separated lists that contain additional spaces.

Closes gh-8220
2017-02-07 18:26:57 +01:00
Andy Wilkinson
e891fe0584 Merge branch '1.4.x' into 1.5.x 2017-02-07 17:06:33 +00:00
Andy Wilkinson
06017f688a Only auto-configure SpringSocialDialect for Thymeleaf 2
Previously, SocialWebAutoConfiguration would create a
SpringSocialDialect bean when SpringTemplateEngine was on the
classpath. This class exists in both Thymeleaf 2 and Thymeleaf 3 but
SpringSocialDialect is only compatible with Thymeleaf 2.

This commit updates the auto-configuration to require
SpringResourceResourceResolver to be on the classpath. This class
exists in Thymeleaf 2 but does not exist in Thymeleaf 3.

Closes gh-4858
2017-02-07 16:20:33 +00:00
Brian Clozel
12d883f6b9 Introduce "server.servlet" configuration prefix
This commit refactors the `ServerProperties` property keys and
introduces a separate "server.servlet" namespace to isolate
servlet-specific properties from the rest.

Closes gh-8066
2017-02-07 16:48:22 +01:00
Stephane Nicoll
a31a792192 Merge branch '1.5.x' 2017-02-07 16:35:59 +01:00
Stephane Nicoll
130e0808d0 Merge branch '1.4.x' into 1.5.x 2017-02-07 16:31:02 +01:00
Stephane Nicoll
008aef6142 Document @LiquibaseDataSource feature
Closes gh-8214
2017-02-07 16:16:19 +01:00
Stephane Nicoll
f41801ee8c Narrow down ConditionalOnWebApplication
Use the new `type` attribute of `@ConditionalOnWebApplication` for the
configurations that have a hard dependency on the Servlet/MVC API.

See gh-8118
2017-02-07 15:53:18 +01:00
Stephane Nicoll
8e6f1218e1 Detect Reactive web applications
This commit improves `@ConditionalOnWebApplication` to specify the
requested web application type. By default, any web application will
match but it can also match only if a recactive (or servlet) web
application is present.

Closes gh-8118
2017-02-07 15:52:44 +01:00
Stephane Nicoll
b2ec03cd4e Restore couchbase support
This commit effectively reverts the changes that were applied to
workaround the breakage in spring-data-couchbase.

Closes gh-8200
2017-02-07 12:03:27 +01:00
Stephane Nicoll
5f2bd1667b Merge branch '1.5.x' 2017-02-07 12:00:09 +01:00
Stephane Nicoll
e88bda4682 Avoid extra space if condition is empty
Previously, if a builder was created with an empty condition, an extra
space was added before the message. This commit checks for this
particular case and adds a space only when necessary.

Closes gh-8218
2017-02-07 11:59:49 +01:00
Brian Clozel
8619d6a229 Rename EmbeddedServletContainer -> EmbeddedWebServer
This contract is not specific to servlet containers and should be
reused by all web server implementations (including reactive variants).

Fixes gh-8208
2017-02-06 17:44:26 +01:00
Andy Wilkinson
457d0414ea Make ConditionalOnBean a logical AND rather than an OR
Previously ConditionalOnBean was the inverse of
ConditionalOnMissingBean. This meant that the former was a logical OR
while the latter was a logical AND of the requiremnts declared via the
annotation's attributes.

This commit changes the logic for ConditionalOnBean so that it is now
a logical AND. A side-effect of this change is that more information
about what has and has not matched must be tracked during the
evaluation. This extra information is now used to provide more
informative messages in the condition evaluation report that indicate
exactly why @ConditionalOnBean or @ConditionalOnMissingBean did not
match.

Closes gh-5279
2017-02-06 16:30:15 +00:00
Stephane Nicoll
3c6d630a62 Merge branch '1.5.x' 2017-02-06 14:08:24 +01:00
Stephane Nicoll
519a03ccda Polish 2017-02-06 14:08:10 +01:00
Johnny Lim
09998d1155 Fix ImportAutoConfigurationImportSelectorTests.determineImportsWhenUsingNonMetaWithClassesShouldBeSame()
Closes gh-8204
2017-02-06 14:05:26 +01:00
Stephane Nicoll
6af6e8e31b Remove auto-configuration for ServerProperties
This commit removes `ServerProperties` and `ManagementServerProperties`
auto-configurations. Those properties objects are now created using
`@EnableConfigurationProperties` only.

Closes gh-8108
2017-02-06 14:00:50 +01:00
Stephane Nicoll
98d2ed85e4 Fix broken build
Fix couchbase support until a solution is determined for
https://jira.spring.io/browse/DATACOUCH-279

See gh-8200
2017-02-06 11:11:36 +01:00
Stephane Nicoll
cfdc75d384 Merge branch '1.5.x' 2017-02-06 10:38:16 +01:00
Johnny Lim
0adab8a2be Use logical 'and' instead of bitwise 'and'
Closes gh-8198
2017-02-06 10:35:13 +01:00
Tommy Ludwig
653366d664 Remove HikariCP-java6 dependency management
Dependency management for the `HikariCP-java6` dependency is no longer
needed since Java 6 is no longer supported by Spring Boot.

The HikariDriverConfigurationFailureAnalyzer has been updated with the
current message thrown by HikariCP in this failure scenario.

Closes gh-8147
2017-02-03 08:52:36 +01:00
Stephane Nicoll
5c663a9ece Merge branch '1.5.x' 2017-02-01 09:08:33 +01:00
Johnny Lim
846994e498 Polish
Closes gh-8148
2017-02-01 09:07:47 +01:00
Brian Clozel
7f39d5a865 Remove usage of Assert.notNull(Object)
This commit updates the Spring Boot codebase to adapt to the removal of
`Assert.notNull(Object)` in SPR-15196.

See gh-8140
2017-01-31 00:46:40 +01:00
Andy Wilkinson
95f659f4f9 Add new WebApplicationType enum to pave the way for Web Flux support
Closes gh-8077
2017-01-30 20:26:24 +00:00