This commit updates all `toLowerCase()` and `toUpperCase` invocations to
use the variant that takes a `Locale` to avoid locale-specific side
effect.
Closes gh-12213
This commit makes sure that `@ConfigurationProperties` binding resolves
resources properly. In particular, any `ProtocolResolver` registered on
the `ApplicationContext` is now honoured.
Closes gh-11569
Previously, we removed the Connectors from Tomcat's Service before
the Context was started. The removal of the Connectors is required as
it prevents Tomcat from accepting requests before we're ready to
handle them.
Part of starting the Context is creating and initializing the
ServletContext. ServerProperties uses a ServletContextInitializer to
set the session tracking modes and Tomcat rejects the SSL tracking
mode if there is no SSL-enabled connector available. With the previous
arrangement this led to a failure as the Connectors had been removed
so the SSL-enabled connector could not be found.
This commit updates the embedded Tomcat container to defer the
removal of the Connectors until after the context has been started
but still at a point that is before the Connectors themselves would
have been started.
Closes gh-12058
* pr/11981:
Update MySQL validation query to use lightweight ping
Polish
Reinject mocks when context is dirtied before each method
Polish “Prevent reverse name lookup when configuring Jetty's address”
Prevent reverse name lookup when configuring Jetty's address
Fixup version numbers following release
Next Development Version
Protect against symlink attacks
All CLI support for Windows MINGW environments
Polish
Previously, the host on Jetty's connector was configured using the
host address of the InetSocketAddress. This could result in reverse
name resolution that could cause Jetty to bind to a different IP
address than was configured.
This commit updates the configuration code to use the host string
when specifically does not perform reverse name resolution.
See gh-11889
Previously, the host on Jetty's connector was configured using the
host address of the InetSocketAddress. This could result in reverse
name resolution that could cause Jetty to bind to a different IP
address than was configured.
This commit updates the configuration code to use the host string
when specifically does not perform reverse name resolution.
See gh-11889
This commit adds a javadoc note about a usability issue described in
gh-11255. While `RestTemplateBuilder` is an immutable class, providing a
custom instance of request factory and deriving several
builders/templates from that point may have some unexpected behavior,
since that instance is shared amongst builders instances.
This issue is fixed in Spring Boot 2.0 with a replacement method that
leverages a `Supplier<ClientHttpRequestFactory>` instead.
See gh-11255
Previously, the PID system property was set after the
CONSOLE_LOG_PATTERN and FILE_LOG_PATTERN system properties. This meant
that the values of the pattern system properties could not reference
the PID system property, i.e. ${PID} would not resolve.
This commit sets the PID system property before the *_LOG_PATTERN
system properties, thereby allowing the latter to reference the
former.
Closes gh-10594
On WebSphere Liberty, the javax.validation package may be visible but
other javax.validation packages upon which it depends may not be
visible. This can lead to an incorrect assumption that the Bean
Validation API is available when, in fact, it is only partially
available.
Add an additional check for the availability of a class in the
javax.validation.bootstrap package to ensure that it's not just the
javax.validation package that's available.
Closes gh-10877
Previously, rolled over files were always written to logs/. This
commit ensures that rotated logs are written into the directory
specified in the application config's logging.path property.
Closes gh-10554
Previously, if Undertow failed to start, some of Undertow's
internal components would have been started but the started field of
UndertowEmbeddedServletContainer remained false. This meant that when
stop() was called nothing was done as the container believed it had
not been started.
This commit updates UndertowEmbeddedServletContainer to stop both the
DeploymentManager and the Undertow instance in start() if an exception
is thrown. This aligns the behaviour of
UndertowEmbeddedServletContainer with that of the Tomcat equivalent.
Closes gh-10528
Previously, when deploying a Spring Boot application to a container,
the servlet context property source was not fully initialised until
the context was refreshed. This led to a problem where a value from a
property source with lower precedence would be seen during the early
stages of the application starting. Once the servlet context property
source had been initialized, its value for the property would then
become visible effectively making it appear as if the property's
value had changed during startup. This led to a specific problem
with determining active profiles.
If spring.profiles.active was set both in JNDI and via the servlet
context both profiles would end up being active, rather than the
more intuitive behaviour of the profiles made active via the servlet
context overriding those made active via JNDI.
This commit updates SpringBootServletInitializer so that it explicitly
creates the StandardServletEnvironment and initializes its property
sources using the servlet context. This is done before the application
is created and run, thereby ensuring that the servlet context
property source is available throughout the application's startup.
Closes gh-9972