Commit Graph

308 Commits (06b1b453a6561abfcdf50cf182c8bb6965362d6d)

Author SHA1 Message Date
Phillip Webb 06b1b453a6 Limit when SystemEnvironment mapping is used
Update `SpringConfigurationPropertySource` so that the
`SystemEnvironmentPropertyMapper` is only used for the "actual" system
environment property source. This allows SystemEnvironmentProperySource
class to be used for other purposes (for example, Spring Cloud uses it
to as an override source providing decryption).

Only property sources named `systemEnvironment` or ending with
`-systemEnvironment` now have the `SystemEnvironmentPropertyMapper`
applied. The `TestPropertyValues` has been retrofitted to name the
source it adds appropriately.

Fixes gh-10840
7 years ago
Phillip Webb e9f31f9c34 Improve configuration properties back-compatibility
Refine `SystemEnvironmentPropertyMapper` to support environment
variables that would have worked in Spring Boot 1.5. Specifically,
camelCase property bindings now support an additional underscore. The
recommended way to map `fooBar` is still `PREFIX_FOOBAR`, however,
`PREFIX_FOO_BAR` will now also work.

Fixes gh-10873
7 years ago
Phillip Webb 1e7d85a632 Polish 7 years ago
Andy Wilkinson 723222aa95 Allow configuredLevel to be null when configuring a logger
Null value is used to indicate that the configured level should be
cleared.

Closes gh-10934
7 years ago
Stephane Nicoll dbea25fa8b Polish "Log context path at startup"
Closes gh-10544
7 years ago
tinexw f76479fb99 Log context path at startup
See gh-10544
7 years ago
Andy Wilkinson 60afbdc868 Polish 7 years ago
Johnny Lim c05a299520 Polish
Closes gh-10921
7 years ago
Phillip Webb 0fbb4989da Allow recursive list binding when iterable source
Further refine recursive binding rules so that Lists are supported when
the underlying source is iterable.

Close gh-10702
7 years ago
Phillip Webb 588dcf76c6 Only allow binder recursion with Maps
Refine the binder recursion rules introduced in commit f337323819 so
they only apply to Maps. Recursive List and Array binding is now no
longer allowed. Prior to this commit, binding a List that contained a
reference to itself would fail with a `StackOverflowException` if the
underlying property source was not iterable.

Fixes gh-10702
7 years ago
Madhura Bhave 99ad79dbe6 Add tests to trigger binder stack overflow error
Update `CollectionBinderTests` with additional tests that cause a
`StackOverflowException` due to recursive list binding.

See gh-10702
7 years ago
Phillip Webb 861469fb72 Remove accidental System.out 7 years ago
Phillip Webb fabf14ff35 Allow ApplicationPid to write to a new file
Update `ApplicationPid` so that "canWrite" is only called for files
that already exist.

See gh-9922
Fixes gh-10784
7 years ago
Phillip Webb cf17e5708b Polish Micrometer 1.0.0-rc.3 upgrade
Polish Micrometer 1.0.0-rc.3 upgrade changes.

Closes gh-10906
7 years ago
Jon Schneider 65e6876025 Upgrade to Micrometer 1.0.0-rc.3
Upgrade to Micrometer 1.0.0-rc.3 and refactor existing
auto-configuration to align with updated APIs.

Note that Spring MVC instrumentation has now changed from an interceptor
to a Filter.

See gh-10906
7 years ago
Phillip Webb fa191d8c73 Align ReactiveWebApplicationContext with framework
Refactor `ReactiveWebApplicationContext` implementations to align closer
with the `WebApplicationContext` implementations defined in
Spring Framework.

The following classes are now provided:

  - `AnnotationConfigReactiveWebApplicationContext` -- A refreshable
    reactive web context with support for `@Configuration` classes.

  - `GenericReactiveWebApplicationContext` -- A non-refreshable reactive
    GenericApplicationContext.

  - `ReactiveWebServerApplicationContext` --  A non-refreshable reactive
    GenericApplicationContext with support for server discovery.

  - `AnnotationConfigReactiveWebServerApplicationContext` -- A
    non-refreshable reactive `GenericApplicationContext` with support
    for `@Configuration` classes and server discovery.

These classes roughly align to the following Servlet equivalents:

  - `AnnotationConfigWebApplicationContext` (Spring Framework)
  - `GenericWebApplicationContext` (Spring Framework)
  - `ServletWebServerApplicationContext` (Spring Boot)
  - `AnnotationConfigServletWebServerApplicationContext` (Spring Boot)

An additional `ConfigurableReactiveWebEnvironment` interface as also
been introduced, primarily for `@ConditionalOnWebApplication` to use.

Fixes gh-10852
7 years ago
Phillip Webb b6166dc12a Move `Assume` to spring-boot-test-support
Fixes gh-10866
7 years ago
Phillip Webb 427d262297 Polish 7 years ago
Andy Wilkinson a0580da8fb Upgrade to Spring Ws 3.0.0.RELEASE
Closes gh-10920
7 years ago
Andy Wilkinson c801101b14 Upgrade to Selenium 3.7.0
Closes gh-10919
7 years ago
Andy Wilkinson d79deb3eb7 Upgrade to Infinispan 9.1.2.Final
Closes gh-10918
7 years ago
Andy Wilkinson ffc2351484 Upgrade to Javax Json 1.1.2
Closes gh-10917
7 years ago
Andy Wilkinson 18348dd205 Upgrade to Sendgrid 4.1.2
Closes gh-10916
7 years ago
Andy Wilkinson 90f9f969d3 Upgrade to Caffeine 2.6.0
Closes gh-10915
7 years ago
Andy Wilkinson 7b757dc69a Merge branch '1.5.x' 7 years ago
Madhura Bhave 55b7a48bee Add missing conditionals 7 years ago
Brian Clozel fa0926b178 Error handling for WebFlux should log HTTP 5xx errors
This commit ensures that all errors handled by the
`DefaultErrorWebExceptionHandler` (Spring WebFlux error convetion
support) logs an error with request information and exception
stacktrace.

This is limited to errors that result in an HTTP 5xx error.
Exceptions that extend `ResponseStatusException` and set a non-5xx
status will not be logged.

Closes gh-10904
7 years ago
Andy Wilkinson bfe2f85a4f Merge branch '1.5.x' 7 years ago
Brian Clozel bb9396e3a4 Enable HTTP/2 support for Tomcat and Undertow
This commit enables HTTP/2 support for Tomcat and Undertow, for both
Servlet-based and Reactive applications.

Enabling the `server.http2.enabled` configuration flag is enough with
Undertow.

Tomcat has a few prerequisites:

* Tomcat 8.5 requires JDK8+ and the proper libtcnative version installed
on the host
* Tomcat 9.0.x requires JDK9+

Closes gh-10043
7 years ago
Brian Clozel 58db841c8f Add Http2 configuration properties
This commit adds a new configuration properties class for configuring
HTTP/2 protocol support.
By default, this protocol is disabled as enabling it requires several
manual changes:

* configuring a web server for proper TLS and ALPN support
* configuring a proper SSL certificate

See gh-10043
7 years ago
Brian Clozel 7f58db7d0e Apply TLS configuration to reactive web servers
This commit applies the SSL configuration to the following reactive web
servers: Jetty, Tomcat, Undertow, Reactor Netty.

Closes gh-9431
7 years ago
Brian Clozel 5f57578b71 Enable APR optional support in Tomcat servers
This commits adds the AprLifecycleListener as a default
LifecycleListener in order to detect and use automatically the
tomcatnative library if it is available, for SSL support.

This feature can be useful for both performance reasons or for
supporting ALPN when using JDK8.

See gh-10043
Closes gh-9964
7 years ago
Andy Wilkinson 5cf50b6ccc Remove dependency management for spring-boot-starter-mobile
See gh-10884
7 years ago
Phillip Webb 3f00ba3cad Polish 7 years ago
Jay Bryant 9fc9c55c90 Format production-ready-features.adoc to 90 chars
Remove extraneous white space and adjusted the length of non-code lines
to be as close to 90 characters (but not over 90 characters) as
possible.

Update a couple things I missed in the editing pass, too.

Closes gh-10897
7 years ago
Jay Bryant 92e0eb0230 Format spring-boot-features.adoc to 90 chars
Remove extraneous white space and adjusted the length of non-code lines
to be as close to 90 characters (but not over 90 characters) as
possible.

Update a couple things I missed in the editing pass, too.

Closes gh-10896
7 years ago
Jay Bryant f8bcdc9082 Format using-spring-boot.adoc to 90 chars
Remove extraneous white space and adjusted the length of non-code lines
to be as close to 90 characters (but not over 90 characters) as
possible.

Update a couple things I missed in the editing pass, too.

Closes gh-10893
7 years ago
Jay Bryant ccfff94bbd Format getting-started.adoc to 90 chars
Remove extraneous white space and adjusted the length of non-code lines
to be as close to 90 characters (but not over 90 characters) as
possible.

Update a couple things I missed in the editing pass, too.

Closes gh-10892
7 years ago
Johnny Lim 84d137d41d Restore execution permission on launch.script
Restore the execute permission that was accidentally removed in
commit 5ee28a08e1.

Closes gh-10801
7 years ago
Nguyen Duy Tiep fae7a09b83 Support custom SpringBootContextLoader environment
Provide a `getEnvironment` method in `SpringBootContextLoader` to allow
specialized `ConfigurableEnvironment` implementations to be used.

Closes gh-10740
7 years ago
Henrik 7728f8fde6 Introduce configurable logging.pattern.dateformat
Add configurable logger dateformat support for Logback and Log4j2.

Closes gh-8516
7 years ago
Madhura Bhave d50fe8874f Add CF support for reactive actuators
Closes gh-10780
7 years ago
Phillip Webb f0327fbd0d Polish SizeAndTimeBasedRollingPolicy changes
Closes gh-6352
7 years ago
Vedran Pavic 991468b0ef Use SizeAndTimeBasedRollingPolicy file appender
Update the logback file appender to use `SizeAndTimeBasedRollingPolicy`
rather than `FixedWindowRollingPolicy`.

Add two new properties to improve log file configuration capabilities:

 - `logging.file.max-history` to limit the number of archive log files
    to keep.
 - `logging.file.max-size` to limit the log file size.

See gh-6352
7 years ago
Phillip Webb f440fc6d25 Formatting 7 years ago
Andy Wilkinson d148dff713 Upgrade to Spring Integration 5.0.0.RC1
Closes gh-7029
7 years ago
Andy Wilkinson 76df3fc496 Use explicit classpath: prefix for Flyway location
Flyway implicitly adds classpath: to locations without a prefix but
resource loader fails to find migratons on the classpath without the
prefix.

Add an explicit classpath: prefix so that both Flyway and the resource
loader used to check the locations can find the migration location.

See gh-10807
7 years ago
Jay Bryant 8f2653d4c7 Wrap documentation-overview.adoc at 90 characters and use title case
Closes gh-10889
7 years ago
Jay Bryant a1a30c6c13 Make editorial changes to howto.adoc
Closes gh-10854
7 years ago
Eddú Meléndez dcc6d8d6ff Align default of flyway.check-location with equivalent Liquibase prop
Closes gh-10807
7 years ago