Commit Graph

50613 Commits

Author SHA1 Message Date
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
fe552fc920 Merge branch '1.5.x' 2017-02-13 10:09:04 +01:00
Stephane Nicoll
bd6d1b74c0 Merge branch '1.4.x' into 1.5.x 2017-02-13 10:08:51 +01:00
Stephane Nicoll
bcbcb9c00b Clarify use of DataSource for batch apps
Closes gh-8271
2017-02-13 10:08:40 +01:00
Stephane Nicoll
093140ae44 Merge branch '1.5.x' 2017-02-13 09:54:39 +01:00
Stephane Nicoll
842170768d Polish cache sample readme
Closes gh-8272
2017-02-13 09:53:37 +01:00
Stephane Nicoll
53fcd5422e Merge branch '1.5.x' 2017-02-12 14:02:56 +01:00
Stephane Nicoll
ff4a4cf33a Merge branch '1.4.x' into 1.5.x 2017-02-12 14:02:37 +01:00
Stephane Nicoll
661940033a Start building against Spring Framework 4.3.7.BUILD-SNAPSHOT
See gh-8248
2017-02-12 14:01:18 +01:00
Stephane Nicoll
ca2f8778f4 Merge branch '1.5.x' 2017-02-12 13:59:37 +01:00
Stephane Nicoll
6c4013249b Merge branch '1.4.x' into 1.5.x 2017-02-12 13:59:19 +01:00
Stephane Nicoll
58a4f04962 Fix typo in documentation
Closes gh-8259
2017-02-12 13:59:04 +01:00
Madhura Bhave
ffd35aaf5f Merge branch '1.5.x' 2017-02-09 17:15:20 -08:00
Madhura Bhave
77e5c585f4 Validate kid in Cloud Foundry token header
Instead of validating the signature against all the public keys,
we can validate it only against the public key with the kid that
matches the one in the token header.

Closes gh-8126
2017-02-09 16:47:44 -08:00
Stephane Nicoll
25a025cf36 Fix doc generation 2017-02-09 16:54:05 +01:00
Stephane Nicoll
1fdcc3d002 Merge pull request #8230 from mp911de:issue/8051-reactive-mongo
* pr/8230:
  Polish contribution
  Provide a starter for reactive Spring Data MongoDB
2017-02-09 15:55:33 +01: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
13791cad53 Use DefaultUriBuilderFactory instead of DefaultUriTemplateHandler
Closes gh-8247
2017-02-09 14:00:53 +00: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
Andy Wilkinson
a8daed8196 Merge branch '1.5.x' 2017-02-09 11:44:27 +00:00
Andy Wilkinson
7dd8e8c4b8 Honour spring.profiles.include even when .active has not been set
393cfe50 expanded the scope of spring.profiles.include so that it
could be used in any property source, and not just in a configuration
file. However, it did so in such a way that it would only take effect
when used outside of a configuration file if spring.profiles.active
was also set.

This commit updates ConfigFileApplicationListener so that included
profiles are activated when spring.profiles.active has not be set.

Closes gh-8244
2017-02-09 11:44:16 +00:00
Stephane Nicoll
ef24f797b1 Merge branch '1.5.x' 2017-02-09 10:53:08 +01:00
Stephane Nicoll
9a2793356b Merge pull request #8215 from davinkevin:master
* pr/8215:
  Allow property expansion for *.yaml
2017-02-09 10:52:38 +01:00
Davin Kevin
ff40854653 Allow property expansion for *.yaml
Closes gh-8215
2017-02-09 10:51:01 +01: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
Andy Wilkinson
c14a550632 Merge branch '1.5.x' 2017-02-08 22:05:06 +00:00
Andy Wilkinson
b931f564e6 Work around Gradle 3.3's overzealous deprecation warning
In Gradle 3.3, when an API that will be removed in 4.0 is called, a
deprecation warning is output as part of the build. Users have noticed
his warning and, quite reasonably, complained about it. Unfortunately,
avoiding the warning requires the use of an API that was introduced in
Gradle 3.x which we can't use directly as we want to remain compatible
with Gradle 2.x.

This commit introduces the use of reflection to call
ProjectDependency.getTargetConfiguration() via reflection when it's
available (Gradle 3) and ProjectDependency.getProjectConfiguration()
when it's not (Gradle 2).

Closes gh-8154
2017-02-08 22:03:55 +00:00
Andy Wilkinson
fbf493b1e8 Merge branch '1.5.x' 2017-02-08 20:51:37 +00:00
Andy Wilkinson
ab192d01cc Merge branch '1.4.x' into 1.5.x 2017-02-08 20:51:30 +00:00
Andy Wilkinson
7e030d2068 Polish 2017-02-08 20:51:23 +00:00
Andy Wilkinson
1efa700713 Merge branch '1.5.x' 2017-02-08 20:50:45 +00:00
Andy Wilkinson
25982ecf69 Merge branch '1.4.x' into 1.5.x 2017-02-08 20:50:24 +00:00
Andy Wilkinson
04c8b912ee Fall back to standard LiveBeansView behaviour when MBean is in use
Closes gh-8146
2017-02-08 20:49:16 +00:00
Andy Wilkinson
a19ad3211b Merge branch '1.5.x' 2017-02-08 17:29:22 +00:00
Andy Wilkinson
d02a9c1058 Merge branch '1.4.x' into 1.5.x 2017-02-08 17:29:15 +00:00
Andy Wilkinson
f27bb39af9 Sanitize configuration properties that are nested beneath a List
Closes gh-8197
2017-02-08 17:21:41 +00:00
Andy Wilkinson
fce1c3ffaf Merge branch '1.5.x' 2017-02-08 15:01:20 +00:00
Andy Wilkinson
7d247a71e4 Resolve placeholders against the env in active/include profiles values
The changes made in 919d0c61 meant that the value of
spring.profiles.active or spring.profiles.include was only processed
when a single property source, the property source for the config file
being read, was available. This meant that any placeholders in those
values would only be resolved against properties in the configuration
file rather than against the entire environment.

This commit updates the binding process so that placeholder resolution
is not performed during binding against a single configuration file.
Once binding has completed, the bounds values are post-processed to
resolve and placeholders that they may contain.

The two-step process described above is used in preference to binding
against the whole environment. This avoids a problem with profiles
that are active or included by property sources in the environment
being processed repeatedly.

Closes gh-8234
2017-02-08 15:00:25 +00:00
Stephane Nicoll
1f0672f651 Polish merge 2017-02-08 15:07:13 +01:00
Stephane Nicoll
5f05e9793b Merge branch '1.5.x' 2017-02-08 15:01:28 +01:00
Stephane Nicoll
da8362a2da Merge pull request #8153 from izeye:patch-22
* pr/8153:
  Fix an assertion in SkipPatternJarScanner
2017-02-08 14:59:53 +01:00
Johnny Lim
b3203058be Fix an assertion in SkipPatternJarScanner
Closes gh-8153
2017-02-08 14:59:33 +01:00
Stephane Nicoll
95e7fbeb1d Make sure spring-boot-test-support is not public
The `spring-boot-test-support` module is internal and is not deployed so
we should not offer public dependency management for it.

Closes gh-8165
2017-02-08 14:38:45 +01:00
Stephane Nicoll
ba05f4012c Merge branch '1.5.x' 2017-02-08 14:32:58 +01:00
Stephane Nicoll
aff50f6787 Merge branch '1.4.x' into 1.5.x 2017-02-08 14:32:45 +01:00