When Digester read tomcat-user.xml file and exception is throw, then is created new LifecycleException. As first parameter of this Exception is message string. This string is hardcoded to "memoryRealm.readXml", so I thing that log message will be wrong too! I think that there must be used StringManager. actual implementation: Digester digester = getDigester(); try { synchronized (digester) { digester.push(this); digester.parse(file); } } catch (Exception e) { throw new LifecycleException("memoryRealm.readXml", e); } finally { digester.reset(); } fixed: Digester digester = getDigester(); try { synchronized (digester) { digester.push(this); digester.parse(file); } } catch (Exception e) { throw new LifecycleException(sm.getString("memoryRealm.readXml"), e); } finally { digester.reset(); }
This is fuxed in svn and will be included in 5.5.23 and 6.0.11 onwards. Thanks for the patch.