The DerbyMessageStore incorrectly logs an error for an expected exception indicating successfull database shutdown, because it is actuall checking for the wrong SQLcode for the expected exception. The value being checked currently is that to indicate complete shutdown of the Derby engine, and not simply the database being closed.
Updating SLF4J library (
QPID-2947) causes this defect to make the AlertingTest fail under the 'java' test profile, because the error message is then found in the startup logs of the external broker (due to use of an InVM broker to load some configuration during setup before starting the external broker) and this is then assumed to indicate the external broker failed to start. it is not clear why upgrading SLF4J causes this change in behaviour though as it would seem it shouldnt really impact the affected codepath; it doesnt use SLF4J and should already be logging the same error in the same place and so fail in the same way, but doesnt seem to do so.