Commit Graph

1669 Commits (5defc2ab579f176442ce560fe25af384516127c8)

Author SHA1 Message Date
Stephane Nicoll 36ed7ae699 Polish 7 years ago
Stephane Nicoll 3804466ad5 Fix description of JDBC starter
Closes gh-12387
7 years ago
Andy Wilkinson bf84215b90 Merge branch '1.5.x' 7 years ago
Stephane Nicoll 1b36ab5be0 Fix wrong import 7 years ago
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
7 years ago
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
7 years ago
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
7 years ago
Stephane Nicoll bc47b715c3 Add a note about the use of `*` with YAML
Closes gh-12361
7 years ago
seongwoon.lee 762793b812 Remove a redundant trailing slash in doc
Closes gh-12365
7 years ago
Stephane Nicoll 7a88fe692d Polish Quartz dependency management
Closes gh-12364
7 years ago
Stephane Nicoll 326c1e123c Merge branch '1.5.x' 7 years ago
Stephane Nicoll 6f7501f62b Remove my clone 7 years ago
Madhura Bhave e6eca04af2 Make EndpointRequestMatcher#excluding public
Fixes gh-12354
7 years ago
Madhura Bhave 4ca1e6ae4e Polish "Fix typo in TestDatabaseAutoConfiguration"
Closes gh-12350
7 years ago
inabajunmr ddd8598e2e Fix typo in TestDatabaseAutoConfiguration failure msg
See gh-12350
7 years ago
Madhura Bhave b6e09e8311 Merge branch '1.5.x' 7 years ago
Andy Wilkinson d00d1da27a Upgrade to Maven Javadoc Plugin 3.0.0
Closes gh-12345
7 years ago
Cristian Greco b552842b9d Fix link to Spring Data JPA in docs
Closes gh-12342
7 years ago
Andy Wilkinson f918e0eb6a Merge branch '1.5.x' 7 years ago
Andy Wilkinson 85900796d3 Remove stale tip about ManagementContextConfiguration for endpoints
Closes gh-12312
7 years ago
Andy Wilkinson 2c882a47d0 Merge pull request #12324 from Jon Schneider
* gh-12324:
  Polish "Improve docs on custom metrics"
  Improve docs on custom metrics
7 years ago
Andy Wilkinson d7499387d8 Polish "Improve docs on custom metrics"
Closes gh-12324
7 years ago
Jon Schneider 25ff82f1d7 Improve docs on custom metrics
See gh-12324
7 years ago
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
7 years ago
Andy Wilkinson 9882d87e1b Start building against Spring Framework 5.0.5 snapshots
See gh-12340
7 years ago
Stephane Nicoll 6533278191 Update reference guide to stop mentioning setWebEnvironment
Closes gh-12330
7 years ago
Andy Wilkinson 1f5143de70 Avoid problems with Failsafe when building with JDK 10
See gh-12028
7 years ago
Andy Wilkinson d30c1fd9f8 Make javadoc plugin use Java 10-compatible version of Commons Lang 3
See gh-12028
7 years ago
Andy Wilkinson 4aa947c227 Use a Java 10-compatibile version of Maven’s site plugin
See gh-12028
7 years ago
Stephane Nicoll 7f5b7a6b47 Polish contribution
Closes gh-12326
7 years ago
Johnny Lim 751c444166 Polish
See gh-12326
7 years ago
Madhura Bhave 1c27a8e6e2 Move tests to ApplicationContextRunner 7 years ago
Andy Wilkinson 3370c23ab9 Skip the Gradle plugin when building with the full profile and JDK 10
See gh-12028
7 years ago
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
7 years ago
Andy Wilkinson 20654b9bc9 Remove no longer needed AspectJ version override with JDK 9+
See gh-12028
7 years ago
Andy Wilkinson f7c8be1877 Apply java9 profile to JDK 10 (and later) as well as JDK 9
See gh-12028
7 years ago
Andy Wilkinson 7fdc26351a Upgrade to Kotlin 1.2.30
Closes gh-12320
See gh-12028
7 years ago
Andy Wilkinson a7d05d4276 Avoid SUREFIRE-1439 by using 2.21.0-SNAPSHOT when building with JDK 10
See gh-12028
7 years ago
Andy Wilkinson 9f7e840416 Improve documentation for using configuration processor with Gradle
Closes gh-12316
7 years ago
Andy Wilkinson 4a3e0a231c Test the Gradle plugin against Gradle 4.6
Closes gh-12314
7 years ago
Andy Wilkinson e4a1fed3b8 Test the Gradle plugin against Gradle 4.6 7 years ago
Andy Wilkinson 188d120c9c Test the Gradle plugin against Gradle 4.5.1
Closes gh-12315
7 years ago
Johnny Lim 83ed0c7783 Make UserDetailsServiceAutoConfiguration.getOrDeducePassword() private
Closes gh-12295
7 years ago
igor-suhorukov 69fe32b1f5 Polish
Replace class "Stack" by more modern "Deque"

Closes gh-12304
7 years ago
Stephane Nicoll ef9fb1696c Merge branch '1.5.x' 7 years ago
Stephane Nicoll 8b5ad5b942 Replace outdated Spring Integration metrics section with a link 7 years ago
Stephane Nicoll 8a6664869e Fix typo 7 years ago
Phillip Webb 38f112b9e1 Update flattened POM elements
Update flattened POM rules to satisfy maven central
requirements.

Fixes gh-12290
7 years ago
Phillip Webb 9bee9e9cf9 Polish 7 years ago
Madhura Bhave df337eaf5e Fix author name 7 years ago
Andy Wilkinson 1761e50b03 Upgrade to Spring Integration 5.0.3
Closes gh-12235
7 years ago
Andy Wilkinson 8d1e69bca4 Polish Gradle plugin's javadoc 7 years ago
Andy Wilkinson 703de64842 Reinstate imports 7 years ago
Andy Wilkinson ef157d3649 Fix Checkstyle violations 7 years ago
Phillip Webb 7bc535e4fa Polish 7 years ago
Phillip Webb 67998e983f Revert "Include WebSecurityConfigurer beans in @WebMvcTest"
This reverts commit eef6fdb066.
7 years ago
Andy Wilkinson 01304959fa Polish "Remove redundant auto-configuration of SI Micrometer metrics"
Closes gh-12287
7 years ago
Gary Russell ddd820af9a Remove redundant auto-configuration of SI Micrometer metrics
Spring Integration no longer requires a `MicrometerMetricsFactory` to
support Micrometer metrics so there's nothing for Boot to
auto-configure.

See gh-12287
7 years ago
Andy Wilkinson c4c50b7c49 Only auto-configure LogbackMetrics when Logback is actually being used
Closes gh-12286
7 years ago
Andy Wilkinson 9b46221345 Escape backslashes so they are preserved during Properties parsing
Closes gh-12285
7 years ago
Andy Wilkinson 75ed406f47 Upgrade to Spring Security 5.0.3
Closes gh-12247
7 years ago
Johnny Lim f12c7ab38a Remove an unnecessary method in EndpointDiscoverer
Closes gh-12284
7 years ago
Stephane Nicoll 0f652cdf4f Fix injection point with proxied DataSource
Prior to this commit, the `ApplicationContext` couldn't start with a
JDK-proxied `HikariDataSource` as the JMX auto-configuration was
attempting to inject a (too narrowed) `HikariDataSource`.

This commit rather injects a regular `DataSource` and attempt to unwrap
it as a `HikariDataSource`.

Closes gh-12271
7 years ago
Stephane Nicoll 5fa71a1f94 Switch test to ApplicationContextRunner 7 years ago
Andy Wilkinson 299eca084c Upgrade to Spring Data Kay SR5
Closes gh-12234
7 years ago
Andy Wilkinson 35b7a16917 Merge branch '1.5.x' 7 years ago
Brian Clozel 14d36c9ad8 Polish
Closes gh-12268
7 years ago
Stephane Maldini 7866b946f7 Add Netty Compression support
Reactor Netty 0.7.5 now supports all Compression options.
Unlike previous Reactor Netty versions, the minimum compression
threshold is now based on the content-length instead of
accumulating for a while the data.

See gh-12268
7 years ago
Andy Wilkinson 0abe62e181 Upgrade to Jetty El 8.5.24.2
Closes gh-12279
7 years ago
Andy Wilkinson 85b63f3d38 Upgrade to Hibernate 5.2.14.Final
Closes gh-12278
7 years ago
Stephane Nicoll 4180762d6d Polish contribution
Closes gh-12236
7 years ago
igor-suhorukov 56cbc65e7b Polish
See gh-12236
7 years ago
Stephane Nicoll a93052f380 Upgrade to Reactor Bismuth-SR7
Closes gh-12233
7 years ago
Phillip Webb 7f8bb4e8eb Allow EndpointRequest matching without path bean
Update `EndpointRequest` to that the `PathMappedEndpoints` bean is
optional. A missing bean is treated as if there are no path mapped
endpoints.

Fixes gh-12238
7 years ago
Phillip Webb eef6fdb066 Include WebSecurityConfigurer beans in @WebMvcTest
Update `WebMvcTypeExcludeFilter` to include `WebSecurityConfigurer`
beans.

Fixes gh-12275
7 years ago
Phillip Webb c23b0e99f1 Fix failing PathRequestTests
Fix test failing due to commit d66496787d.

See gh-12238
7 years ago
Phillip Webb d66496787d Propagate exceptions in security matchers
Update `ApplicationContextRequestMatcher` and
`ApplicationContextServerWebExchangeMatcher` to use a supplier for
the context, rather than the context itself.

This allow exceptions to be propagated to subclasses which may choose
to deal with them.

See gh-12238
7 years ago
Phillip Webb 802cd856aa Remove test-autoconfigure dependency
Update `spring-boot-actuator-autoconfigure` so that it no longer has
a dependency on `spring-boot-test-autoconfigure`. This will allow us to
add test support for actuator concerns in the future if we need to.

Fixed gh-12270
7 years ago
Brian Clozel 438004efe5 Simplify HTTP compression support for Reactor Netty
This commit simplifies the HTTP compression configuration for Reactor
Netty servers.

Also, this commit removes a test for the
`server.compression.min-response-size` support, as this is only
supported when the HTTP response contains a `Content-Length` header.
Since most Spring WebFlux responses are using
`Transfer-Encoding: chunked`, we should not test for that case.

See gh-12268
7 years ago
Madhura Bhave 7f85322ddd Fix checkstyle 7 years ago
Andy Wilkinson dc36360155 Polish 7 years ago
Andy Wilkinson 9640881f38 Fix BuildInfo up-to-date check when group, name, or version changes
Previously, if the project's group, name, or version changed the
BuildInfo task would still be considered up-to-date as the values of
the project's properties were not reflected in the fields of the
BuildInfo instance.

This commit updates BuildInfo to copy the value of the project's
property to the corresponding BuildInfo field when the property is
read using its getter method on BuildInfo.

Closes gh-12266
7 years ago
Phillip Webb 3e4da3cc37 Polish 7 years ago
Andy Wilkinson c7ed5c3d4a Upgrade to EhCache 3.5.0
Closes gh-12256
7 years ago
Andy Wilkinson fe7927900e Upgrade to Spring Kafka 2.1.4.RELEASE
Closes gh-12246
7 years ago
Andy Wilkinson 21f2492d09 Upgrade to Micrometer 1.0.1
Closes gh-12245
7 years ago
Andy Wilkinson fdb9a1ea8f Consider time in BuildInfo up-to-date checks and allow it to be set
Closes gh-12111
Closes gh-12266
7 years ago
Andy Wilkinson 25a0031e10 Upgrade to Narayana 5.8.0.Final
Closes gh-12259
7 years ago
Andy Wilkinson 574a157faf Upgrade to Influxdb Java 2.9
Closes gh-12258
7 years ago
Andy Wilkinson d8d8a06f95 Upgrade to Elasticsearch 5.6.8
Closes gh-12257
7 years ago
Andy Wilkinson 2fdf84199a Upgrade to Javax Annotation 1.3.2
Closes gh-12255
7 years ago
Andy Wilkinson cffbad9b65 Upgrade to Rxjava2 2.1.10
Closes gh-12254
7 years ago
Andy Wilkinson c0d9e3d14e Upgrade to Netty 4.1.22.Final
Closes gh-12253
7 years ago
Andy Wilkinson 476b7087a7 Upgrade to Hikaricp 2.7.8
Closes gh-12252
7 years ago
Andy Wilkinson 410555a1b6 Upgrade to Caffeine 2.6.2
Closes gh-12251
7 years ago
Stephane Nicoll 9ce96fbd89 Document support for java.util.Duration
Closes gh-12244
7 years ago
Stephane Nicoll 6676967cc1 Polish 7 years ago
Stephane Nicoll 0b46408846 Polish 7 years ago
Stephane Nicoll b0f381bb6f Review conditions of ElasticsearchHealthIndicatorAutoConfiguration
Closes gh-12249
7 years ago
Stephane Nicoll cb96bbd9be Polish
See https://github.com/micrometer-metrics/micrometer-docs/issues/14
7 years ago
Andy Wilkinson 0ba192dead Merge branch '1.5.x' 7 years ago
Andy Wilkinson 25c293b872 Start building against Spring Security 5.0.3 snapshots
See gh-12247
7 years ago
Andy Wilkinson b0d2cca172 Start building against Spring Kafka 2.1.4 snapshots
See gh-12246
7 years ago
Andy Wilkinson 0a81b0a142 Start building against Spring Data Kay SR5 snapshots
See gh-12234
7 years ago
Andy Wilkinson 7f615eaa6c Start building against Spring Integration 5.0.3 snapshots
See gh-12235
7 years ago
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
7 years ago
Andy Wilkinson 30f79f2fb1 Use application name as convention for distribution's base name
Closes gh-12232
7 years ago
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
7 years ago
Stephane Nicoll 569bad16da Polish 7 years ago
Stephane Nicoll b4c901cab6 Merge branch '1.5.x' 7 years ago
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
7 years ago
Phillip Webb 3d8f760ea0 Upgrade to reactor Bismuth-BUILD-SNAPSHOT
See gh-12233
7 years ago
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
7 years ago
Phillip Webb 3244836003 Port Locale sensitive test from 1.5.x 7 years ago
Phillip Webb 29c3be3590 Polish 7 years ago
Stephane Nicoll 306c79f0de Merge branch '1.5.x' 7 years ago
Andy Wilkinson 219b2d8c1e Upgrade to AssertJ 3.9.1
Closes gh-12224
7 years ago
Andy Wilkinson 8d73ab088a Document new endpoint infrastructure
Closes gh-10001
7 years ago
Stephane Nicoll cd522dadcd Revert "Add Kafka health indicator"
Closes gh-12225
7 years ago
Kedar Joshi b189d88b94 Polish
Closes gh-12208
7 years ago
dreis2211 cbabf5414c Polish argument capturing in two Tomcat tests
Closes gh-12203
7 years ago
Johnny Lim dc715a352a Update doc to align with TomcatEmbeddedServletContainerFactory renaming
Closes gh-12215
7 years ago
Arnaud Heritier 6359642509 Fix dependency management of hibernate-validator-annotation-processor
Closes gh-12210
7 years ago
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
7 years ago
Andy Wilkinson c27fa7bf91 Polish ordering of version properties and managed dependencies 7 years ago
Stephane Nicoll 2641559231 Polish contribution
Closes gh-12202
7 years ago
dreis2211 e2fb093ccf Polish
See gh-12202
7 years ago
Johnny Lim d441a8a89a Polish
Closes gh-12205
7 years ago
Andy Wilkinson 1314678890 Nest @EnableWebFluxSecurity to avoid overzealous Wildfly warnings
Closes gh-12174
7 years ago
Andy Wilkinson 85c7ed2746 Merge branch '1.5.x' 7 years ago
Andy Wilkinson 73ad36d817 Merge branch '1.5.x' 7 years ago
Andy Wilkinson 782ab2803e Polish documentation regarding target class proxying
Closes gh-12196
7 years ago
Stephane Nicoll 9b61df6a2b Polish 7 years ago
Stephane Nicoll 13b736b1cd Migrate remaining duration-based properties for Rabbit
Closes gh-12192
7 years ago
Andy Wilkinson 48656d0d53 Fix build warnings about use of ${artifactId}
See gh-11994
7 years ago
Stephane Nicoll cb1eed42b8 Polish 7 years ago
Stephane Nicoll e1fd9df7b9 Fix usage of management.server.add-application-context-header
Closes gh-12190
7 years ago
Stephane Nicoll 976a23d977 Fix duration unit of spring.messages.cache-duration
Closes gh-12183
7 years ago
Stephane Nicoll 2b729bf114 Fix description of `checkpoint-interval`
See gh-12181
7 years ago
Stephane Nicoll 92d1c6126b Harmonize `accesslog.enabled` flag for Undertow
Closes gh-12178
7 years ago
Stephane Nicoll 09ff815f00 Harmonize metadata
Closes gh-12177
7 years ago
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
7 years ago
Phillip Webb 7e10d86ed3 Polish 7 years ago
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
7 years ago
Phillip Webb 4b9c3c137e Polish Collection.toArray
Consistently use `StringUtils.toStringArray`, `ClassUtils.toClassArray`
or zero length when converting collections to arrays.

Fixes gh-12160
7 years ago
Johnny Lim 680287635c Rename TestRestTemplateTestContextCustomizer*
Closes gh-12182
7 years ago
Phillip Webb cd5266ac03 Polish 7 years ago
Andy Wilkinson 80ac4f85c9 Merge pull request #12172 from Raja Kolli
* gh-12172:
  Upgrade to JUnit Platform 1.1.0
7 years ago
Raja Kolli 8f2eea4dfd Upgrade to JUnit Platform 1.1.0
Closes gh-12172
7 years ago
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
7 years ago