Commit Graph

15836 Commits

Author SHA1 Message Date
Stephane Nicoll
1b36ab5be0 Fix wrong import 2018-03-07 14:10:49 +01:00
Stephane Nicoll
0207b816d9 Attempt to detect ddl-auto mode only if necessary
This commit defers the resolution of the default ddl auto mode only when
it is absolutely necessary. This prevents Spring Boot to attempt to get
a connection when it isn't necessary

Closes gh-12374
2018-03-07 13:06:01 +01:00
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
Stephane Nicoll
96f17da4cd Merge pull request #12365 from jacobis:fix-reference-guide
* pr/12365:
  Remove a redundant trailing slash in doc
2018-03-06 17:43: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
24402aaf02 Merge branch '1.5.x' 2018-03-06 17:42:09 +01:00
Stephane Nicoll
f8c1821c2c Polish
See gh-12365
2018-03-06 17:41:49 +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
66d1f5cd0b Fix expansion of static-locations array
This commit fixes a NPE when the static-locations array of
`ResourceProperties` has to be expanded as the setter is cleaning the
values of the array and is affected by a non-intuitive behaviour of the
binder.

When the binder needs to set an element of an array and the size of the
array isn't large enough, the binder proceeds as follows:

* An array of the required size is created
* The content of the original array is copied over
* The setter of the property is invoked with the new array
* The setter of the property is invoked and the returned array is
mutated to set the requested value

While one would expect the array to contain the requested value when the
setter is invoked, this is not the case. Also, the array might contain
null values if a value at index 8 should be set and the array has a size
of 3.

All in all, `ResourceProperties#appendSlashIfNecessary` has to account
for `null` and an additional round of cleaning has to happen once
binding has completed.

Closes gh-12360
2018-03-06 15:19:59 +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
44c48ec5a8 Merge pull request #12350 from inaba jun 2018-03-05 13:22:42 -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
Madhura Bhave
758dca57f1 Clarify documentation for setting the LoggingSystem
Closes gh-12299
2018-03-05 12:45:15 -08:00
Andy Wilkinson
d00d1da27a Upgrade to Maven Javadoc Plugin 3.0.0
Closes gh-12345
2018-03-05 12:45:17 +00:00
Andy Wilkinson
c588091bab Merge branch '1.5.x' 2018-03-05 12:42:41 +00:00
Andy Wilkinson
84387046b9 Start building against Spring Framework 4.3.15 snapshots
See gh-12344
2018-03-05 12:42:14 +00:00
Andy Wilkinson
cf2577d7da Merge pull request #12342 from Cristian Greco
* gh-12342:
  Fix link to Spring Data JPA in docs
2018-03-05 12:34:32 +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
eee891dbc8 Decode file: URLs passed into PropertiesLauncher via loader.path
Closes gh-12325
2018-03-05 11:52:25 +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
Andy Wilkinson
ff5dd747f9 Merge pull request #12337 from Christoph Dreis
* gh-12337:
  Remove workaround for JDK-8023130 in RunProcess
2018-03-05 10:40:12 +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
82c95e136f Avoid problems with Failsafe when building samples with JDK 10
See gh-12028
2018-03-03 19:16:59 +00:00
Andy Wilkinson
065456a4af Make JAX-B available to Jersey sample when building with JDK 10
See gh-12028
2018-03-03 17:52:41 +00:00
Andy Wilkinson
1bd0313c3d Avoid problems with Surefire when building samples with JDK 10
See gh-12028
2018-03-03 17:52:41 +00: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
6e6add294b Merge pull request #12326 from izeye:polish-20180303
* pr/12326:
  Polish contribution
  Polish
2018-03-03 12:26:33 +01: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