1863 Commits

Author SHA1 Message Date
Andy Wilkinson
30f79f2fb1 Use application name as convention for distribution's base name
Closes gh-12232
2018-02-27 12:56:50 +00:00
Andy Wilkinson
60ac2e5c09 Reduce the amount of garbage produced by JarFile
Previously, working with a JarFile created a large amount of garbage
that was allocated on the thread local allocation buffer (TLAB).
The TLAB allocations made a significant contribution to GC pressure
and slowed down startup. This commit reduces the amount of garbage
by making a number of changes.

Reading from a RandomAccessDataFile has been reworked to avoid
creating new RandomAccessFile instances. A single RandomAccessFile
is now created for an entire jar file and it is used to read data from
anywhere in that jar file, including entries in nested jar files. To
ensure that reads remain thread-safe, a lock is taken on the
RandomAccessFile that is shared by all RandomAccessDataFile instances
that are provided access to (portions of) the same jar file.

Reading all of the bytes from a RandomAccessData has been reworked to
avoid the use of an InputStream that was created, used to read the
data, and then thrown away. In place of the InputStream-based
mechanism a method has been introduced that returns all of the
RandomAccessData as a byte[]. Building on this change, a method has
also been introduced to read a portion of a RandomAccessData as a
byte[]. This avoids the need to create a new RandomAccessData
subsection where the subsection was only used to read its entire
contents and then thrown away.

Decoding of an MS-DOS datetime has been reworked to use LocalDataTime
rather than GregorianCalendar. The former produces less garbage than
the latter.

Closes gh-12226
2018-02-27 10:48:15 +00:00
Stephane Nicoll
569bad16da Polish 2018-02-27 10:54:43 +01:00
Stephane Nicoll
b4c901cab6 Merge branch '1.5.x' 2018-02-27 10:31:05 +01:00
Phillip Webb
c0d79b9273 Rationalize multi-document config file handling
Update `PropertySourceLoader` so that it no longer needs to deal with
matching multi-document files using the `spring.profile` property. The
loader now simply returns one or more `PropertSource` instances for a
given `Resource`.

All property matching now occurs in the `ConfigFileApplicationListener`.
This allows document processing logic to be contained in a single place,
and allows us to rationalize the algorithm so that negative matching
profiles are processed last.

Fixes gh-12159
2018-02-26 23:30:09 -08:00
Phillip Webb
3d8f760ea0 Upgrade to reactor Bismuth-BUILD-SNAPSHOT
See gh-12233
2018-02-26 23:18:02 -08:00
Phillip Webb
145400505d Only validate target values on zero depth
Update `ValidationBindHandler` so that validation only occurs when a
value is bound, or the bind depth is zero. This prevents validation from
triggering getters which may throw an exception.

Fixes gh-12227
2018-02-26 23:08:45 -08:00
Phillip Webb
3244836003 Port Locale sensitive test from 1.5.x 2018-02-26 22:26:33 -08:00
Phillip Webb
29c3be3590 Polish 2018-02-26 10:26:02 -08:00
Stephane Nicoll
306c79f0de Merge branch '1.5.x' 2018-02-26 18:03:32 +01:00
Andy Wilkinson
219b2d8c1e Upgrade to AssertJ 3.9.1
Closes gh-12224
2018-02-26 15:50:07 +00:00
Andy Wilkinson
8d73ab088a Document new endpoint infrastructure
Closes gh-10001
2018-02-26 15:26:18 +00:00
Stephane Nicoll
cd522dadcd Revert "Add Kafka health indicator"
Closes gh-12225
2018-02-26 15:46:35 +01:00
Kedar Joshi
b189d88b94 Polish
Closes gh-12208
2018-02-26 09:42:17 +01:00
dreis2211
cbabf5414c Polish argument capturing in two Tomcat tests
Closes gh-12203
2018-02-26 09:35:39 +01:00
Johnny Lim
dc715a352a Update doc to align with TomcatEmbeddedServletContainerFactory renaming
Closes gh-12215
2018-02-26 09:34:03 +01:00
Arnaud Heritier
6359642509 Fix dependency management of hibernate-validator-annotation-processor
Closes gh-12210
2018-02-25 11:03:20 +01:00
igor-suhorukov
98f4692c62 Polish
This commit changes invocations to immediately return the expression
instead of assigning it to a temporary variable. The method name should
be sufficient for callers to know exactly what will be returned.

Closes gh-12211
2018-02-25 10:59:02 +01:00
Andy Wilkinson
c27fa7bf91 Polish ordering of version properties and managed dependencies 2018-02-24 20:19:15 +00:00
Stephane Nicoll
2641559231 Polish contribution
Closes gh-12202
2018-02-24 16:10:44 +01:00
dreis2211
e2fb093ccf Polish
See gh-12202
2018-02-24 16:09:38 +01:00
Johnny Lim
d441a8a89a Polish
Closes gh-12205
2018-02-24 11:53:25 +01:00
Andy Wilkinson
1314678890 Nest @EnableWebFluxSecurity to avoid overzealous Wildfly warnings
Closes gh-12174
2018-02-23 20:50:20 +00:00
Andy Wilkinson
85c7ed2746 Merge branch '1.5.x' 2018-02-23 17:15:23 +00:00
Andy Wilkinson
73ad36d817 Merge branch '1.5.x' 2018-02-23 15:34:45 +00:00
Andy Wilkinson
782ab2803e Polish documentation regarding target class proxying
Closes gh-12196
2018-02-23 14:52:43 +00:00
Stephane Nicoll
9b61df6a2b Polish 2018-02-23 15:18:46 +01:00
Stephane Nicoll
13b736b1cd Migrate remaining duration-based properties for Rabbit
Closes gh-12192
2018-02-23 15:16:57 +01:00
Andy Wilkinson
48656d0d53 Fix build warnings about use of ${artifactId}
See gh-11994
2018-02-23 13:33:53 +00:00
Stephane Nicoll
cb1eed42b8 Polish 2018-02-23 13:57:19 +01:00
Stephane Nicoll
e1fd9df7b9 Fix usage of management.server.add-application-context-header
Closes gh-12190
2018-02-23 13:57:02 +01:00
Stephane Nicoll
976a23d977 Fix duration unit of spring.messages.cache-duration
Closes gh-12183
2018-02-23 13:38:20 +01:00
Stephane Nicoll
2b729bf114 Fix description of checkpoint-interval
See gh-12181
2018-02-23 13:03:08 +01:00
Stephane Nicoll
92d1c6126b Harmonize accesslog.enabled flag for Undertow
Closes gh-12178
2018-02-23 11:26:33 +01:00
Stephane Nicoll
09ff815f00 Harmonize metadata
Closes gh-12177
2018-02-23 11:02:28 +01:00
Phillip Webb
f9da113943 Exclude FileEditor from binding conversion
Exclude `FileEditor` from the `BindConverter` since it uses slightly
unusual logic to create the file. Specifically, given a value of "."
the editor will locate a `ClassPathResource` then return `getFile()`
from that resource. For back-compatibility, binding should use the
simpler conversion service logic.

Fixes gh-12163
2018-02-22 22:01:37 -08:00
Phillip Webb
7e10d86ed3 Polish 2018-02-22 21:37:31 -08:00
Phillip Webb
3dea6fc645 Fix bind TypeConverter delegation with collections
Update `BindConverter` so that delegation to `SimpleTypeConverter` also
works with Collections and Arrays.

Prior to this commit, conversion that relied on a `PropertyEditor` would
only work for simple types. For example, "String -> Class<?>" would use
the `ClassEditor` but "String -> List<Class<?>>" would fail.

The `BindConverter` now uses a minimal `ConversionService` as an adapter
to the `SimpleTypeConverter`. This allows us to use the same delimited
string conversion logic as the `ApplicationConverter`.

Fixes gh-12166
2018-02-22 21:26:36 -08:00
Phillip Webb
4b9c3c137e Polish Collection.toArray
Consistently use `StringUtils.toStringArray`, `ClassUtils.toClassArray`
or zero length when converting collections to arrays.

Fixes gh-12160
2018-02-22 21:11:30 -08:00
Johnny Lim
680287635c Rename TestRestTemplateTestContextCustomizer*
Closes gh-12182
2018-02-22 20:26:14 -08:00
Phillip Webb
cd5266ac03 Polish 2018-02-22 20:25:28 -08:00
Andy Wilkinson
80ac4f85c9 Merge pull request #12172 from Raja Kolli
* gh-12172:
  Upgrade to JUnit Platform 1.1.0
2018-02-22 18:48:38 +00:00
Raja Kolli
8f2eea4dfd Upgrade to JUnit Platform 1.1.0
Closes gh-12172
2018-02-22 18:47:52 +00:00
Brian Clozel
dcf61abe30 Fix Reactive Server auto-configuration ordering
This commit ensures that Tomcat is the first reactive server configured
if the Tomcat dependency is on classpath.

Spring Boot chose Reactor Netty as the default for the reactive web
starter, but the Reactor Netty dependency can be used also for its HTTP
client. In case developers are adding Tomcat, Undertow or Jetty on their
classpath, we must configure those and consider Reactor Netty for the
client only.

Fixes gh-12176
2018-02-22 18:04:53 +01:00
Stephane Nicoll
3fddfee65c Fix default value of endpoint's cache ttl
Closes gh-12173
2018-02-22 13:35:50 +01:00
Johnny Lim
2fe86da95b Use isTrue() and isFalse() for AssertJ
Closes gh-12170
2018-02-22 09:55:40 +01:00
Stephane Nicoll
865775e955 Fix statsd example
Closes gh-12162
2018-02-22 09:00:13 +01:00
Phillip Webb
5917a58bf1 Add Automatic-Module-Name to manifest file
Update build to add `Automatic-Module-Name` entry to the manifest file.
Also refined a few of the other entries that appear.

Fixes gh-11994
2018-02-21 16:03:13 -08:00
Johnny Lim
50c07d0772 Polish
Closes gh-12156
2018-02-21 17:46:57 +01:00
Stephane Nicoll
75505c78f5 Polish 2018-02-21 17:41:19 +01:00