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
The JobLauncherCommandLineRunner reassigned method arguments inside the
merge method. Instead of reassigning the method argument just return
the new instance directly.
Also some minor cleanup (unnesseccary null check and continue keyword).
Closes gh-10612
* gh-10588:
Polish "Provide informative reason when rejecting request with invalid level"
Provide informative reason when rejecting request with invalid level
Previously, bad request with no reason was included in the response.
This commit introduces the reason when invalid log level is sent in the
request.
Fixes gh-10588
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
This commit clarifies the scope of the datasource initializr. In
particular, it is not possible to create the schema with that facility
and let Hibernate creates additional tables.
Closes gh-9048
Previously, if the file watcher thread tried to stop the
FileSystemWatcher when another thread was already stopping it a
livelock could occur. The livelock occurred because the file watcher
thread would attempt to lock a monitor that was being held by a thread
that had joined the file watcher thread and was waiting for it to die.
This commit avoid the livelock by narrowing the synchronization that's
used when stopping the FileSystemWatcher. The monitor is used to
obtain a reference to the file watcher thread in a thread-safe manner,
but it is released prior to joining the file watcher thread and
waiting for it to die. This will allow a parallel attempt by the
file watcher thread to stop itself to succeed.
Closes gh-10496