Commit Graph

1466 Commits

Author SHA1 Message Date
Andy Wilkinson 0a81b0a142 Start building against Spring Data Kay SR5 snapshots
See gh-12234
2018-02-27 13:46:33 +00:00
Andy Wilkinson 7f615eaa6c Start building against Spring Integration 5.0.3 snapshots
See gh-12235
2018-02-27 13:44:15 +00:00
Andy Wilkinson 37a66349fe Fall back to application conversion service in BindConverter
Previously, if a user declared a custom conversionService bean that
was not an ApplicationConversionService instance, the binder lost
the ability to convert a String to a Duration (along with any other
conversions that are specific to ApplicationConversionService).

This commit updates BindConverter so that, if the ConversionService
with which it is created is not an ApplicationConversionService, it
will use one as an additional service when performing conversion.

Closes gh-12237
2018-02-27 13:12:48 +00:00
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