A new version (1.0.13) of QuartzDesk, a self-hosted Java web-application for remote management and monitoring of Quartz scheduler enabled applications, has been released.
The QuartzDesk Team
o AGENT: Added code to detect deployment of Quartz scheduler instances with non-unique scheduler name and instance ID combination (Quartz usage anti-pattern). Agent logs a warning message if such a case is detected.
o API: Added support for interception of job execution log messages for the Log4j 2 logging framework (Log4j2InterceptionAppender).
o API: Reworked all log interception handlers / appenders. They are no longer statically bound to QuartzDesk JVM Agent APIs. Original (statically bound) handlers / appenders renamed to Classic*.
o WEB: Enabled HTTP Basic authentication security for QuartzDesk Application, monitoring URLs and QuartzDesk web-services.
o WEB: Added support for HTTP Basic authentication to the embedded Jetty engine (zero-installation mode).
o AGENT: Fixed typo in db.profile value (mysql_inno changed to mysql_innodb) in quartzdesk-agent.properies.
o API: Log4jInterceptionAppender did not include the exception stack trace text in the intercepted log message.
o API: Postponed QuartzDesk JVM Agent logging interceptor lookup in JulInterceptionHandler. JUL handlers are initialized before any JVM Agent is initialized.
o WEB: Error when accessing the / URL on WAS (ignored welcome-file-list).
o WEB: Fixed welcome panel layout issue in Chrome. Upon closing a scheduler tab the last text line was top-padded.
o WEB: Fixed typo in db.profile value (mysql_inno changed to mysql_innodb) in quartzdesk.properies.
o WEB: Fixed wrong comment prefixes in mysql and mysql_innodb Quartz scheduler init scripts that prevented QuartzDesk from applying these scripts upon application startup.
o API: Updated QuartzJobListener classes in QuartzDesk Public API to extract Quartz scheduler MBean object name from the passed JobExecutionContext rather then relying on the Quartz scheduler MBean registry maintained by the Agent. The registry could return invalid scheduler object names if there were multiple Quartz schedulers with non-unique scheduler name + instance ID combination running on the same JVM.