1564 Commits

Author SHA1 Message Date
Andy Wilkinson
317b51f2ad Make ApplicationContextRequestMatcher and subclasses thread-safe
Previously, when performing lazy initialisation of the context,
ApplicationContextRequestMatcher assigned the context field before it
called initialized. The context being non-null is used as the signal
that it’s ok to call a subclass’s matches method. If one thread checks
for a non-null context in between the field being assigned and
initialized being called on another thread, matches will be called
before the subclass is ready.

This commit closes the window for the race condition by only assigning
the context field once the subclass’s initialized method has been
called.

There is a secondary problem in each of the subclasses. Due to the use
of double-checked locking in ApplicationContextRequestMatcher, it’s
possible for a subclass’s matches method to be called by a thread that
has not synchronised on the context lock that’s held when initialized
is called and the delegate field is assigned. This means that the
value assigned to the field may not be visible to that thread.

This commit declares the delegate field of each
ApplicationContextRequestMatcher subclass as volatile to ensure that,
following initialisation, its value is guaranteed to be visible to
all threads.

Closes gh-12380
2018-03-07 11:37:01 +00:00
Stephane Nicoll
42629cb8ae Add support for ConnectionNameStrategy
This commit detects if a `ConnectionNameStrategy` bean exists in the
context and associates it with the auto-configured RabbitMQ's
`ConnectionFactory` when that is the case.

Closes gh-12367
2018-03-07 11:15:50 +01:00
Stephane Nicoll
bc47b715c3 Add a note about the use of * with YAML
Closes gh-12361
2018-03-07 10:32:10 +01:00
seongwoon.lee
762793b812 Remove a redundant trailing slash in doc
Closes gh-12365
2018-03-06 17:42:43 +01:00
Stephane Nicoll
7a88fe692d Polish Quartz dependency management
Closes gh-12364
2018-03-06 17:00:56 +01:00
Stephane Nicoll
326c1e123c Merge branch '1.5.x' 2018-03-06 15:26:47 +01:00
Stephane Nicoll
6f7501f62b Remove my clone 2018-03-06 10:21:00 +01:00
Madhura Bhave
e6eca04af2 Make EndpointRequestMatcher#excluding public
Fixes gh-12354
2018-03-05 16:07:46 -08:00
Madhura Bhave
4ca1e6ae4e Polish "Fix typo in TestDatabaseAutoConfiguration"
Closes gh-12350
2018-03-05 13:13:07 -08:00
inabajunmr
ddd8598e2e Fix typo in TestDatabaseAutoConfiguration failure msg
See gh-12350
2018-03-05 13:10:46 -08:00
Madhura Bhave
b6e09e8311 Merge branch '1.5.x' 2018-03-05 12:54:01 -08:00
Andy Wilkinson
d00d1da27a Upgrade to Maven Javadoc Plugin 3.0.0
Closes gh-12345
2018-03-05 12:45:17 +00:00
Cristian Greco
b552842b9d Fix link to Spring Data JPA in docs
Closes gh-12342
2018-03-05 12:33:26 +00:00
Andy Wilkinson
f918e0eb6a Merge branch '1.5.x' 2018-03-05 11:55:18 +00:00
Andy Wilkinson
85900796d3 Remove stale tip about ManagementContextConfiguration for endpoints
Closes gh-12312
2018-03-05 11:19:10 +00:00
Andy Wilkinson
2c882a47d0 Merge pull request #12324 from Jon Schneider
* gh-12324:
  Polish "Improve docs on custom metrics"
  Improve docs on custom metrics
2018-03-05 10:55:00 +00:00
Andy Wilkinson
d7499387d8 Polish "Improve docs on custom metrics"
Closes gh-12324
2018-03-05 10:54:19 +00:00
Jon Schneider
25ff82f1d7 Improve docs on custom metrics
See gh-12324
2018-03-05 10:53:55 +00:00
dreis2211
3adced9962 Remove workaround for JDK-8023130 in RunProcess
With JDK 8 being the baseline and JDK 7 not being supported anymore we
can get rid of the workaround for a JDK 7 bug in
ProcessBuilder.inheritIO on Windows machines.

Closes gh-12337
2018-03-05 10:39:28 +00:00
Andy Wilkinson
9882d87e1b Start building against Spring Framework 5.0.5 snapshots
See gh-12340
2018-03-05 09:34:41 +00:00
Stephane Nicoll
6533278191 Update reference guide to stop mentioning setWebEnvironment
Closes gh-12330
2018-03-04 09:50:40 +01:00
Andy Wilkinson
1f5143de70 Avoid problems with Failsafe when building with JDK 10
See gh-12028
2018-03-03 17:52:41 +00:00
Andy Wilkinson
d30c1fd9f8 Make javadoc plugin use Java 10-compatible version of Commons Lang 3
See gh-12028
2018-03-03 17:52:41 +00:00
Andy Wilkinson
4aa947c227 Use a Java 10-compatibile version of Maven’s site plugin
See gh-12028
2018-03-03 17:52:41 +00:00
Stephane Nicoll
7f5b7a6b47 Polish contribution
Closes gh-12326
2018-03-03 12:26:14 +01:00
Johnny Lim
751c444166 Polish
See gh-12326
2018-03-03 12:25:41 +01:00
Madhura Bhave
1c27a8e6e2 Move tests to ApplicationContextRunner 2018-03-02 18:30:55 -08:00
Andy Wilkinson
3370c23ab9 Skip the Gradle plugin when building with the full profile and JDK 10
See gh-12028
2018-03-02 17:48:27 +00:00
Andy Wilkinson
2b1252e282 Skip the Gradle Plugin when building with JDK 10
Previously, the JDK 10 build would fail as we build the plugin using
Gradle 4.0.x (the lowest version of Gradle that we support) and
Gradle 4.0.x doesn't work with Java 10.

Upgrading to Gradle 4.1, which appears to work with Java 10, was
considered but rejected for now as it introduces the risk that we
inadvertently use an API that's new in 4.1 and break our 4.0 support.

This commit goes for the extreme option and disables building the
Gradle Plugin when building with JDK.

See gh-12028
2018-03-02 17:05:58 +00:00
Andy Wilkinson
20654b9bc9 Remove no longer needed AspectJ version override with JDK 9+
See gh-12028
2018-03-02 16:04:10 +00:00
Andy Wilkinson
f7c8be1877 Apply java9 profile to JDK 10 (and later) as well as JDK 9
See gh-12028
2018-03-02 15:28:03 +00:00
Andy Wilkinson
7fdc26351a Upgrade to Kotlin 1.2.30
Closes gh-12320
See gh-12028
2018-03-02 15:23:29 +00:00
Andy Wilkinson
a7d05d4276 Avoid SUREFIRE-1439 by using 2.21.0-SNAPSHOT when building with JDK 10
See gh-12028
2018-03-02 15:14:45 +00:00
Andy Wilkinson
9f7e840416 Improve documentation for using configuration processor with Gradle
Closes gh-12316
2018-03-02 13:41:28 +00:00
Andy Wilkinson
4a3e0a231c Test the Gradle plugin against Gradle 4.6
Closes gh-12314
2018-03-02 13:41:28 +00:00
Andy Wilkinson
e4a1fed3b8 Test the Gradle plugin against Gradle 4.6 2018-03-02 13:41:27 +00:00
Andy Wilkinson
188d120c9c Test the Gradle plugin against Gradle 4.5.1
Closes gh-12315
2018-03-02 13:41:27 +00:00
Johnny Lim
83ed0c7783 Make UserDetailsServiceAutoConfiguration.getOrDeducePassword() private
Closes gh-12295
2018-03-02 10:41:11 +01:00
igor-suhorukov
69fe32b1f5 Polish
Replace class "Stack" by more modern "Deque"

Closes gh-12304
2018-03-02 10:39:28 +01:00
Stephane Nicoll
ef9fb1696c Merge branch '1.5.x' 2018-03-01 17:26:51 +01:00
Stephane Nicoll
8b5ad5b942 Replace outdated Spring Integration metrics section with a link 2018-03-01 17:00:01 +01:00
Stephane Nicoll
8a6664869e Fix typo 2018-03-01 16:56:02 +01:00
Phillip Webb
38f112b9e1 Update flattened POM elements
Update flattened POM rules to satisfy maven central
requirements.

Fixes gh-12290
2018-02-28 19:37:09 -08:00
Phillip Webb
9bee9e9cf9 Polish 2018-02-28 13:50:43 -08:00
Madhura Bhave
df337eaf5e Fix author name 2018-02-28 12:26:58 -08:00
Andy Wilkinson
1761e50b03 Upgrade to Spring Integration 5.0.3
Closes gh-12235
2018-02-28 20:23:51 +00:00
Andy Wilkinson
8d1e69bca4 Polish Gradle plugin's javadoc 2018-02-28 20:22:45 +00:00
Andy Wilkinson
703de64842 Reinstate imports 2018-02-28 20:11:42 +00:00
Andy Wilkinson
ef157d3649 Fix Checkstyle violations 2018-02-28 19:59:39 +00:00
Phillip Webb
7bc535e4fa Polish 2018-02-28 10:59:26 -08:00