log4j2 is logging to console only and not logging to a file after server shutdown/startup - log4j2

I have a pivotal tc server SE running. There is a springboot web app deployed with log4j2 logging framework configured.
The log4j2 properties has console and file logging enabled with TimeBasedTriggeringPolicy enabled which creates new file every day with the date appended to the previous date.
The logging seemed to be working fine until recently where the server was taken down for maintenance.
Issue: The logs are not being written to custom file(File logging) anymore after the server startup. I can still see console logging happen. Re-deploy isn't fixing the problem too.
Note: The server shutdown and startup was done on different days. Not sure if this information matters.
Log4j2 startup logs when Configuration status = debug
2020-01-30 08:39:21,459 background-preinit DEBUG Initializing configuration org.apache.logging.log4j.core.config.properties.PropertiesConfiguration#63c4d792
2020-01-30 08:39:21,464 background-preinit DEBUG Installed script engines
2020-01-30 08:39:22,328 background-preinit DEBUG PluginManager 'Core' found 97 plugins
2020-01-30 08:39:22,328 background-preinit DEBUG PluginManager 'Level' found 0 plugins
2020-01-30 08:39:22,333 background-preinit DEBUG No scheduled items
2020-01-30 08:39:22,335 background-preinit DEBUG Building Plugin[name=property, class=org.apache.logging.log4j.core.config.Property].
2020-01-30 08:39:22,356 background-preinit DEBUG PluginManager 'TypeConverter' found 23 plugins
2020-01-30 08:39:22,382 background-preinit DEBUG createProperty(name="filename", value="logs")
2020-01-30 08:39:22,383 background-preinit DEBUG Building Plugin[name=properties, class=org.apache.logging.log4j.core.config.PropertiesPlugin].
2020-01-30 08:39:22,393 background-preinit DEBUG configureSubstitutor(={filename=logs}, Configuration(LoggingConfig))
2020-01-30 08:39:22,394 background-preinit DEBUG PluginManager 'Lookup' found 13 plugins
2020-01-30 08:39:22,396 background-preinit DEBUG Building Plugin[name=AppenderRef, class=org.apache.logging.log4j.core.config.AppenderRef].
2020-01-30 08:39:22,396 background-preinit DEBUG createAppenderRef(ref="StdoutAppender", level="null", Filter=null)
2020-01-30 08:39:22,397 background-preinit DEBUG Building Plugin[name=AppenderRef, class=org.apache.logging.log4j.core.config.AppenderRef].
2020-01-30 08:39:22,399 background-preinit DEBUG createAppenderRef(ref="DailyRollingAppender", level="null", Filter=null)
2020-01-30 08:39:22,399 background-preinit DEBUG Building Plugin[name=root, class=org.apache.logging.log4j.core.config.LoggerConfig$RootLogger].
2020-01-30 08:39:22,401 background-preinit DEBUG createLogger(additivity="null", level="INFO", includeLocation="null", ={StdoutAppender, DailyRollingAppender}, ={}, Configuration(LoggingConfig), Filter=null)
2020-01-30 08:39:22,405 background-preinit DEBUG Building Plugin[name=loggers, class=org.apache.logging.log4j.core.config.LoggersPlugin].
2020-01-30 08:39:22,406 background-preinit DEBUG createLoggers(={root})
2020-01-30 08:39:22,406 background-preinit DEBUG Building Plugin[name=layout, class=org.apache.logging.log4j.core.layout.PatternLayout].
2020-01-30 08:39:22,414 background-preinit DEBUG PatternLayout$Builder(pattern="%d{ISO8601} [%t] %-5p (%F:%L) - %m%n", PatternSelector=null, Configuration(LoggingConfig), Replace=null, charset="null", alwaysWriteExceptions="null", noConsoleNoAnsi="null", header="null", footer="null")
2020-01-30 08:39:22,415 background-preinit DEBUG PluginManager 'Converter' found 41 plugins
2020-01-30 08:39:22,452 background-preinit DEBUG Building Plugin[name=appender, class=org.apache.logging.log4j.core.appender.ConsoleAppender].
2020-01-30 08:39:22,456 background-preinit INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.
2020-01-30 08:39:22,457 background-preinit DEBUG PluginManager 'Converter' found 41 plugins
2020-01-30 08:39:22,464 background-preinit DEBUG Starting OutputStreamManager SYSTEM_OUT.false-2
2020-01-30 08:39:22,471 background-preinit DEBUG ConsoleAppender$Builder(PatternLayout(%d{ISO8601} [%t] %-5p (%F:%L) - %m%n), Filter=null, target="null", name="StdoutAppender", follow="null", ignoreExceptions="null")
2020-01-30 08:39:22,488 background-preinit DEBUG Starting OutputStreamManager SYSTEM_OUT.false
2020-01-30 08:39:22,488 background-preinit DEBUG Building Plugin[name=layout, class=org.apache.logging.log4j.core.layout.PatternLayout].
2020-01-30 08:39:22,490 background-preinit DEBUG PatternLayout$Builder(pattern="%d{ISO8601} [%t] %-5p (%F:%L) - %m%n", PatternSelector=null, Configuration(LoggingConfig), Replace=null, charset="null", alwaysWriteExceptions="null", noConsoleNoAnsi="null", header="null", footer="null")
2020-01-30 08:39:22,491 background-preinit DEBUG Building Plugin[name=TimeBasedTriggeringPolicy, class=org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy].
2020-01-30 08:39:22,494 background-preinit DEBUG createPolicy(interval="1", modulate="null")
2020-01-30 08:39:22,495 background-preinit DEBUG Building Plugin[name=Policies, class=org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy].
2020-01-30 08:39:22,495 background-preinit DEBUG createPolicy(={TimeBasedTriggeringPolicy(nextRolloverMillis=0, interval=1, modulate=false)})
2020-01-30 08:39:22,496 background-preinit DEBUG Building Plugin[name=appender, class=org.apache.logging.log4j.core.appender.RollingFileAppender].
2020-01-30 08:39:22,499 background-preinit DEBUG createAppender(fileName="logs/App.log", filePattern="logs/App-%d{yyyy-MM-dd-hh-mm}.log", append="null", name="DailyRollingAppender", bufferedIO="null", bufferSize="null", immediateFlush="null", Policies(CompositeTriggeringPolicy(policies=[TimeBasedTriggeringPolicy(nextRolloverMillis=0, interval=1, modulate=false)])), Strategy=null, PatternLayout(%d{ISO8601} [%t] %-5p (%F:%L) - %m%n), Filter=null, ignoreExceptions="null", advertise="null", advertiseURI="null", Configuration(LoggingConfig))
2020-01-30 08:39:22,509 background-preinit DEBUG Starting RollingFileManager logs/App.log
2020-01-30 08:39:22,524 background-preinit DEBUG PluginManager 'FileConverter' found 2 plugins
2020-01-30 08:39:22,527 background-preinit DEBUG Building Plugin[name=appenders, class=org.apache.logging.log4j.core.config.AppendersPlugin].
2020-01-30 08:39:22,528 background-preinit DEBUG createAppenders(={StdoutAppender, DailyRollingAppender})
2020-01-30 08:39:22,529 background-preinit DEBUG Configuration org.apache.logging.log4j.core.config.properties.PropertiesConfiguration#63c4d792 initialized
2020-01-30 08:39:22,530 background-preinit DEBUG Starting configuration org.apache.logging.log4j.core.config.properties.PropertiesConfiguration#63c4d792
2020-01-30 08:39:22,530 background-preinit DEBUG Started configuration org.apache.logging.log4j.core.config.properties.PropertiesConfiguration#63c4d792 OK.
2020-01-30 08:39:22,531 background-preinit DEBUG Shutting down OutputStreamManager SYSTEM_OUT.false-1
2020-01-30 08:39:22,531 background-preinit DEBUG Stopped org.apache.logging.log4j.core.config.DefaultConfiguration#44b5581b OK
2020-01-30 08:39:22,551 background-preinit DEBUG Registering MBean org.apache.logging.log4j2:type=29647f75
2020-01-30 08:39:22,554 background-preinit DEBUG Registering MBean org.apache.logging.log4j2:type=29647f75,component=StatusLogger
2020-01-30 08:39:22,556 background-preinit DEBUG Registering MBean org.apache.logging.log4j2:type=29647f75,component=ContextSelector
2020-01-30 08:39:22,558 background-preinit DEBUG Registering MBean org.apache.logging.log4j2:type=29647f75,component=Loggers,name=
2020-01-30 08:39:22,572 background-preinit DEBUG Registering MBean org.apache.logging.log4j2:type=29647f75,component=Appenders,name=StdoutAppender
2020-01-30 08:39:22,572 background-preinit DEBUG Registering MBean org.apache.logging.log4j2:type=29647f75,component=Appenders,name=DailyRollingAppender
2020-01-30 08:39:22,578 background-preinit DEBUG Reconfiguration complete for context[name=29647f75] at URI NULL_SOURCE (org.apache.logging.log4j.core.LoggerContext#19276473) with optional ClassLoader: null
2020-01-30 08:39:22,579 background-preinit DEBUG Shutdown hook enabled. Registering a new one.
2020-01-30 08:39:22,580 background-preinit DEBUG LoggerContext[name=29647f75, org.apache.logging.log4j.core.LoggerContext#19276473] started OK.
2020-01-30 08:39:22,629 background-preinit DEBUG RollingFileManager executing synchronous FileRenameAction[logs/App.log to logs/App-2020-01-30-08-36.log, renameEmptyFiles=false]

Related

log4j2 stops writing to file after few logs

I am working with log4j2. The logger initializes and creates output logfile. After writing few logs logger stops and does not write anything. The logger logs are as below:
`DEBUG StatusLogger PluginManager 'Lookup' found 16 plugins
DEBUG StatusLogger PluginManager 'Lookup' found 16 plugins
DEBUG StatusLogger PluginManager 'Converter' found 45 plugins
DEBUG StatusLogger Starting OutputStreamManager SYSTEM_OUT.false.false-1
DEBUG StatusLogger Starting LoggerContext[name=3bb8aabc, org.apache.logging.log4j.core.LoggerContext#73010765]...
DEBUG StatusLogger Reconfiguration started for context[name=3bb8aabc] at URI null (org.apache.logging.log4j.core.LoggerContext#73010765) with optional ClassLoader: null
DEBUG StatusLogger PluginManager 'Lookup' found 16 plugins
DEBUG StatusLogger PluginManager 'ConfigurationFactory' found 4 plugins
DEBUG StatusLogger PluginManager 'Lookup' found 16 plugins
DEBUG StatusLogger PluginManager 'Lookup' found 16 plugins
DEBUG StatusLogger Missing dependencies for Yaml support, ConfigurationFactory org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory is inactive
DEBUG StatusLogger PluginManager 'Lookup' found 16 plugins
DEBUG StatusLogger Missing dependencies for Json support, ConfigurationFactory org.apache.logging.log4j.core.config.json.JsonConfigurationFactory is inactive
DEBUG StatusLogger PluginManager 'Lookup' found 16 plugins
DEBUG StatusLogger Using configurationFactory org.apache.logging.log4j.core.config.ConfigurationFactory$Factory#26b95b0b
WARN StatusLogger Error parsing URI C:\myApplication\config\logger-config.xml
DEBUG StatusLogger PluginManager 'Lookup' found 16 plugins
DEBUG StatusLogger Closing FileInputStream java.io.FileInputStream#245ec1a6
DEBUG StatusLogger Apache Log4j Core 2.18.0 initializing configuration XmlConfiguration[location=C:\myApplication\config\logger-config.xml]
DEBUG StatusLogger PluginManager 'Core' found 130 plugins
DEBUG StatusLogger PluginManager 'Level' found 0 plugins
DEBUG StatusLogger PluginManager 'Lookup' found 16 plugins
DEBUG StatusLogger Building Plugin[name=layout, class=org.apache.logging.log4j.core.layout.PatternLayout].
TRACE StatusLogger TypeConverterRegistry initializing.
DEBUG StatusLogger PluginManager 'TypeConverter' found 26 plugins
DEBUG StatusLogger PatternLayout$Builder(pattern="[%d] [%t] [%-5p] [%l][%M] %m%n", PatternSelector=null, Configuration(C:\myApplication\config\logger-config.xml), Replace=null, charset="null", alwaysWriteExceptions="null", disableAnsi="null", noConsoleNoAnsi="null", header="null", footer="null")
DEBUG StatusLogger PluginManager 'Converter' found 45 plugins
DEBUG StatusLogger Building Plugin[name=TimeBasedTriggeringPolicy, class=org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy].
DEBUG StatusLogger TimeBasedTriggeringPolicy$Builder(interval="null", modulate="null", maxRandomDelay="null")
DEBUG StatusLogger Building Plugin[name=SizeBasedTriggeringPolicy, class=org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy].
DEBUG StatusLogger createPolicy(size="1000KB")
DEBUG StatusLogger Building Plugin[name=Policies, class=org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy].
DEBUG StatusLogger createPolicy(={TimeBasedTriggeringPolicy(nextRolloverMillis=0, interval=1, modulate=false), SizeBasedTriggeringPolicy(size=1024000)})
DEBUG StatusLogger Building Plugin[name=DefaultRolloverStrategy, class=org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy].
DEBUG StatusLogger DefaultRolloverStrategy$Builder(max="5", min="null", fileIndex="null", compressionLevel="null", ={}, stopCustomActionsOnError="null", tempCompressedFilePattern="null", Configuration(C:\myApplication\config\logger-config.xml))
DEBUG StatusLogger Building Plugin[name=appender, class=org.apache.logging.log4j.core.appender.RollingFileAppender].
DEBUG StatusLogger RollingFileAppender$Builder(fileName="C:/logs/applicationLogs.log", filePattern="C:/logs_backup/${date:yyyy-MM}/applicationLogs-%d{MM-dd-yyyy}-%i.log.gz", append="null", locking="null", Policies(CompositeTriggeringPolicy(policies=[TimeBasedTriggeringPolicy(nextRolloverMillis=0, interval=1, modulate=false), SizeBasedTriggeringPolicy(size=1024000)])), DefaultRolloverStrategy(DefaultRolloverStrategy(min=1, max=5, useMax=true)), advertise="null", advertiseUri="null", createOnDemand="null", filePermissions="null", fileOwner="null", fileGroup="null", bufferedIo="null", bufferSize="null", immediateFlush="null", ignoreExceptions="null", PatternLayout([%d] [%t] [%-5p] [%l][%M] %m%n), name="CASRollingfileAppender", Configuration(C:\myApplication\config\logger-config.xml), Filter=null, ={})
TRACE StatusLogger New file 'C:/logs/applicationLogs.log' created = true
DEBUG StatusLogger Returning file creation time for C:\logs\applicationLogs.log
DEBUG StatusLogger Starting RollingFileManager C:/logs/applicationLogs.log
DEBUG StatusLogger PluginManager 'FileConverter' found 2 plugins
DEBUG StatusLogger Setting prev file time to 2022-12-06T23:48:23.928-0800
DEBUG StatusLogger Initializing triggering policy CompositeTriggeringPolicy(policies=[TimeBasedTriggeringPolicy(nextRolloverMillis=0, interval=1, modulate=false), SizeBasedTriggeringPolicy(size=1024000)])
DEBUG StatusLogger Initializing triggering policy TimeBasedTriggeringPolicy(nextRolloverMillis=0, interval=1, modulate=false)
TRACE StatusLogger PatternProcessor.getNextTime returning 2022/12/07-00:00:00.000, nextFileTime=2022/12/06-00:00:00.000, prevFileTime=1969/12/31-16:00:00.000, current=2022/12/06-23:48:23.959, freq=DAILY
TRACE StatusLogger PatternProcessor.getNextTime returning 2022/12/07-00:00:00.000, nextFileTime=2022/12/06-00:00:00.000, prevFileTime=2022/12/06-00:00:00.000, current=2022/12/06-23:48:23.959, freq=DAILY
DEBUG StatusLogger Initializing triggering policy SizeBasedTriggeringPolicy(size=1024000)
DEBUG StatusLogger Building Plugin[name=appenders, class=org.apache.logging.log4j.core.config.AppendersPlugin].
DEBUG StatusLogger createAppenders(={CASRollingfileAppender})
DEBUG StatusLogger Building Plugin[name=AppenderRef, class=org.apache.logging.log4j.core.config.AppenderRef].
DEBUG StatusLogger createAppenderRef(ref="CASRollingfileAppender", level="null", Filter=null)
DEBUG StatusLogger Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
DEBUG StatusLogger LoggerConfig$Builder(additivity="false", level="DEBUG", levelAndRefs="null", name="com.test.myApplication.logging", includeLocation="null", ={CASRollingfileAppender}, ={}, Configuration(C:\myApplication\config\logger-config.xml), Filter=null)
DEBUG StatusLogger Building Plugin[name=AppenderRef, class=org.apache.logging.log4j.core.config.AppenderRef].
DEBUG StatusLogger createAppenderRef(ref="CASRollingfileAppender", level="null", Filter=null)
DEBUG StatusLogger Building Plugin[name=root, class=org.apache.logging.log4j.core.config.LoggerConfig$RootLogger].
DEBUG StatusLogger LoggerConfig$RootLogger$Builder(additivity="null", level="WARN", levelAndRefs="null", includeLocation="null", ={CASRollingfileAppender}, ={}, Configuration(C:\myApplication\config\logger-config.xml), Filter=null)
DEBUG StatusLogger Building Plugin[name=loggers, class=org.apache.logging.log4j.core.config.LoggersPlugin].
DEBUG StatusLogger createLoggers(={com.test.myApplication.logging, root})
DEBUG StatusLogger Configuration XmlConfiguration[location=C:\myApplication\config\logger-config.xml] initialized
DEBUG StatusLogger Starting configuration XmlConfiguration[location=C:\myApplication\config\logger-config.xml]
DEBUG StatusLogger Started configuration XmlConfiguration[location=C:\myApplication\config\logger-config.xml] OK.
TRACE StatusLogger Stopping org.apache.logging.log4j.core.config.DefaultConfiguration#608bc8f8...
TRACE StatusLogger DefaultConfiguration notified 1 ReliabilityStrategies that config will be stopped.
TRACE StatusLogger DefaultConfiguration stopping root LoggerConfig.
TRACE StatusLogger DefaultConfiguration notifying ReliabilityStrategies that appenders will be stopped.
TRACE StatusLogger DefaultConfiguration stopping remaining Appenders.
DEBUG StatusLogger Shutting down OutputStreamManager SYSTEM_OUT.false.false-1
DEBUG StatusLogger OutputStream closed
DEBUG StatusLogger Shut down OutputStreamManager SYSTEM_OUT.false.false-1, all resources released: true
DEBUG StatusLogger Appender DefaultConsole-1 stopped with status true
TRACE StatusLogger DefaultConfiguration stopped 1 remaining Appenders.
TRACE StatusLogger DefaultConfiguration cleaning Appenders from 1 LoggerConfigs.
DEBUG StatusLogger Stopped org.apache.logging.log4j.core.config.DefaultConfiguration#608bc8f8 OK
TRACE StatusLogger Reregistering MBeans after reconfigure. Selector=org.apache.logging.log4j.core.selector.ClassLoaderContextSelector#2a3194c6
TRACE StatusLogger Reregistering context (1/1): '3bb8aabc' org.apache.logging.log4j.core.LoggerContext#73010765
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=3bb8aabc'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=3bb8aabc,component=StatusLogger'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=3bb8aabc,component=ContextSelector'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=3bb8aabc,component=Loggers,name=*'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=3bb8aabc,component=Appenders,name=*'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=3bb8aabc,component=AsyncAppenders,name=*'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=3bb8aabc,component=AsyncLoggerRingBuffer'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=3bb8aabc,component=Loggers,name=*,subtype=RingBuffer'
DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=3bb8aabc
DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=3bb8aabc,component=StatusLogger
DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=3bb8aabc,component=ContextSelector
DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=3bb8aabc,component=Loggers,name=
DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=3bb8aabc,component=Loggers,name=com.test.myApplication.logging
DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=3bb8aabc,component=Appenders,name=CASRollingfileAppender
TRACE StatusLogger Using default SystemClock for timestamps.
DEBUG StatusLogger org.apache.logging.log4j.core.util.SystemClock does not support precise timestamps.
TRACE StatusLogger Using DummyNanoClock for nanosecond timestamps.
DEBUG StatusLogger Reconfiguration complete for context[name=3bb8aabc] at URI C:\myApplication\config\logger-config.xml (org.apache.logging.log4j.core.LoggerContext#73010765) with optional ClassLoader: null
DEBUG StatusLogger Shutdown hook enabled. Registering a new one.
DEBUG StatusLogger LoggerContext[name=3bb8aabc, org.apache.logging.log4j.core.LoggerContext#73010765] started OK.
DEBUG StatusLogger AsyncLogger.ThreadNameStrategy=UNCACHED (user specified null, default is UNCACHED)
TRACE StatusLogger Using default SystemClock for timestamps.
DEBUG StatusLogger org.apache.logging.log4j.core.util.SystemClock does not support precise timestamps.
and the logger config file as:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<RollingFile name="CASRollingfileAppender"
fileName="C:/logs/applicationLogs.log"
filePattern="C:/logs_backup/$${date:yyyy-MM}/applicationLogs-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout pattern="[%d] [%t] [%-5p] [%l][%M] %m%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="1000KB" />
</Policies>
<DefaultRolloverStrategy max="5" />
</RollingFile>
</Appenders>
<Loggers>
<Logger
name="com.test.myApplication.logging"
level="DEBUG" additivity="false">
<AppenderRef ref="CASRollingfileAppender" />
</Logger>
<Root level="WARN">
<AppenderRef ref="CASRollingfileAppender" />
</Root>
</Loggers>
</Configuration>
Any suggestions on what is going wrong here?
In logs it shows a warning as:
WARN StatusLogger Error parsing URI C:\myApplication\config\logger-config.xml
However, I think the config file is working properly. Why does the logger stop writing after it writes a few logs?

Tomcat Reports Resource Name Lookup Error on startup

I have several containerized applications which run in numerous locations. The application containers are based on a Tomcat container then customized accordingly for the application. Each application makes a connection to a containerized mariadb instance co-located on the same server. The JNDI Resource for the database connection is specified globally in the respective web app container server.xml.
In one location, one of the applications connects just fine to the mariadb container while the second application throws a NamingContext.lookup error immediately when tomcat starts.
I have verified the global resource is exactly the same between the applications. I also verified the resource config is the same in both applications webapp_root/META-INF/context.xml.
Here are the relevant parts:
NOTE: All variable values are defined and supplied for the respective catalina.properties file and the values are the same
Application A JNDI Resource definition for server.xml
<Resource name="jdbc/menudb"
auth="Container"
driverClassName="com.mysql.cj.jdbc.Driver"
initialSize="25"
logAbandoned="true"
minEvictableIdleTimeMillis="30000"
minIdle="10"
maxActive="50"
maxIdle="20"
maxWait="1000"
removeAbandonedOnBorrow="true"
removeAbandonedOnMaintenance="true"
removeAbandonedTimeout="15"
testOnBorrow="true"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="300000"
type="javax.sql.DataSource"
username="${mfg.jdbc.menudb.user}"
password="${mfg.jdbc.menudb.password}"
url="${mfg.jdbc.menudb.url}"/>
Application B JNDI Resource definition for server.xml
<Resource name="jdbc/menudb"
auth="Container"
driverClassName="com.mysql.cj.jdbc.Driver"
initialSize="25"
logAbandoned="true"
minEvictableIdleTimeMillis="30000"
minIdle="10"
maxActive="50"
maxIdle="20"
maxWait="1000"
removeAbandonedOnBorrow="true"
removeAbandonedOnMaintenance="true"
removeAbandonedTimeout="15"
testOnBorrow="true"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="300000"
type="javax.sql.DataSource"
username="${mfg.jdbc.menudb.user}"
password="${mfg.jdbc.menudb.password}"
url="${mfg.jdbc.menudb.url}"/>
Application A Context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="mfgweb" path="/..." reloadable="true" swallowOutput="true">
<ResourceLink global="jdbc/menudb" name="jdbc/menudb" type="javax.sql.DataSource" />
<ResourceLink global="localas400" name="localas400" type="javax.sql.DataSource" />
<ResourceLink global="corpas400" name="corpas400" type="javax.sql.DataSource" />
<ResourceLink global="gaims" name="gaims" type="javax.sql.DataSource" />
</Context>
Application B Context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="menuadmin" path="/..." privileged="true" debug="4" crossContext="true">
<ResourceLink name="jdbc/menudb" global="jdbc/menudb" type="javax.sql.DataSource" />
</Context>
NOTE: Application A utilizes additional JNDI connections, but the entry for jdbc/menudb are the same.
Here is the full error recorded in Application B docker log
12-Aug-2021 15:41:10.997 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/9.0.21
12-Aug-2021 15:41:11.017 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Jun 4 2019 20:19:36 UTC
12-Aug-2021 15:41:11.018 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.21.0
12-Aug-2021 15:41:11.018 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
12-Aug-2021 15:41:11.018 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 3.10.0-693.21.1.el7.x86_64
12-Aug-2021 15:41:11.018 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
12-Aug-2021 15:41:11.018 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/local/openjdk-8/jre
12-Aug-2021 15:41:11.018 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_212-b04
12-Aug-2021 15:41:11.018 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
12-Aug-2021 15:41:11.018 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/local/tomcat
12-Aug-2021 15:41:11.018 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/local/tomcat
12-Aug-2021 15:41:11.019 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
12-Aug-2021 15:41:11.019 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
12-Aug-2021 15:41:11.019 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.library.path=/usr/lib
12-Aug-2021 15:41:11.019 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true
12-Aug-2021 15:41:11.019 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djavax.net.ssl.trustStore=/usr/local/tomcat/conf/cacerts
12-Aug-2021 15:41:11.019 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djavax.net.ssl.trustStorePassword=***
12-Aug-2021 15:41:11.019 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.auth.login.config=/usr/local/tomcat/conf/jaas.config
12-Aug-2021 15:41:11.020 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.egd=file:/dev/./urandom
...
12-Aug-2021 15:41:11.020 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -javaagent:/usr/local/tomcat/lib/applicationinsights-agent-2.5.1.jar
12-Aug-2021 15:41:11.020 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
12-Aug-2021 15:41:11.020 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
12-Aug-2021 15:41:11.020 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
12-Aug-2021 15:41:11.020 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
12-Aug-2021 15:41:11.020 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
12-Aug-2021 15:41:11.021 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
12-Aug-2021 15:41:11.021 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
12-Aug-2021 15:41:11.632 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
12-Aug-2021 15:41:11.682 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
12-Aug-2021 15:41:11.684 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [1,416] milliseconds
12-Aug-2021 15:41:11.721 WARNING [main] org.apache.naming.NamingContext.lookup Unexpected exception resolving reference
java.lang.NullPointerException
at org.apache.naming.factory.ResourceFactory.getDefaultFactory(ResourceFactory.java:45)
at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:90)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
at org.apache.naming.NamingContext.lookup(NamingContext.java:840)
at org.apache.naming.NamingContext.lookup(NamingContext.java:159)
at org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:117)
at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:71)
at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:34)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:127)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:134)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:101)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:76)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:925)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)
12-Aug-2021 15:41:11.722 SEVERE [main] org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans Exception processing global JNDI Resources
javax.naming.NamingException: Unexpected exception resolving reference [Root exception is java.lang.NullPointerException]
at org.apache.naming.NamingContext.lookup(NamingContext.java:856)
at org.apache.naming.NamingContext.lookup(NamingContext.java:159)
at org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:117)
at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:71)
at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:34)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:127)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:134)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:101)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:76)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:925)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)
Caused by: java.lang.NullPointerException
at org.apache.naming.factory.ResourceFactory.getDefaultFactory(ResourceFactory.java:45)
at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:90)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
at org.apache.naming.NamingContext.lookup(NamingContext.java:840)
... 20 more
12-Aug-2021 15:41:11.887 WARNING [main] com.hazelcast.config.AbstractXmlConfigHelper.null Name of the hazelcast schema location is incorrect, using default
12-Aug-2021 15:41:12.063 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
12-Aug-2021 15:41:12.063 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.21]
12-Aug-2021 15:41:12.100 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/usr/local/tomcat/webapps/****.war]
Does anyone see a reason why Application A works and can connect to the database just fine while Application B reports it cannot find the resource due to a Null Pointer exception?
This is extremely frustrating and this particular location has been without the use of Application B for a few months now.
For Tomcat 9 you need to define the correct factory for the resource, e.g.:
<Resource name="jdbc/menudb"
auth="Container"
driverClassName="com.mysql.cj.jdbc.Driver"
initialSize="25"
logAbandoned="true"
minEvictableIdleTimeMillis="30000"
minIdle="10"
maxActive="50"
maxIdle="20"
maxWait="1000"
removeAbandonedOnBorrow="true"
removeAbandonedOnMaintenance="true"
removeAbandonedTimeout="15"
testOnBorrow="true"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="300000"
username="${mfg.jdbc.menudb.user}"
password="${mfg.jdbc.menudb.password}"
url="${mfg.jdbc.menudb.url}"
jdbcInterceptors="StatementCache"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
type="org.apache.tomcat.jdbc.pool.DataSource"
/>

Fastest Log4j2 configuration for multiple java process / multiple machine production environment

We have 4 java processes running on machine01, 1 java process on machine02, 2 java processes on machine03. We would like them to all write logging to the same file on machine01. What is the best config to accomplish this? We need production grade very fast high throughput logging.
Right now we have a 5th process on machine01, ecplogger, that runs the UdpSocketServer and uses RollingRandomAccessFile Appender wrapped with Failover Appender. All other processes on machine01, machine02 and machine03 write to a Socket Appender wrapped with an Async appender wrapped with a Failover Appender.
It works sort of, however I get these errors in the main java process on machine01 and I get lots of logging to the Failover appender:
2016-02-05 18:23:06,123 AsyncAppender-local_process_async ERROR Unable to write to stream UDP:ecplogger:6000 for appender local_process_socket
2016-02-05 18:34:50,746 AsyncAppender-local_process_async ERROR Unable to write to stream UDP:ecplogger:6000 for appender local_process_socket
2016-02-05 18:47:25,233 Log4j2-AsyncLogger[AsyncContext#18b4aac2]1 ERROR Appender local_process_async is unable to write primary appenders. queue is full
2016-02-05 18:47:25,234 Log4j2-AsyncLogger[AsyncContext#18b4aac2]1 ERROR Appender local_process_async is unable to write primary appenders. queue is full
2016-02-05 18:47:25,235 Log4j2-AsyncLogger[AsyncContext#18b4aac2]1 ERROR Appender local_process_async is unable to write primary appenders. queue is full
2016-02-05 18:47:25,236 Log4j2-AsyncLogger[AsyncContext#18b4aac2]1 ERROR Appender local_process_async is unable to write primary appenders. queue is full
2016-02-06 01:56:44,647 AsyncAppender-local_process_async ERROR Unable to write to stream UDP:ecplogger:6000 for appender local_process_socket
2016-02-06 06:02:13,308 AsyncAppender-local_process_async ERROR Unable to write to stream UDP:ecplogger:6000 for appender local_process_socket
2016-02-07 06:40:36,386 AsyncAppender-local_process_async ERROR Unable to write to stream UDP:ecplogger:6000 for appender local_process_socket
Configuration:
Every java process is started with:
-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector \
-DAsyncLogger.ExceptionHandler=com.twc.ctg.ecp.service.EcpExceptionHandler \
The ecplogger java process that runs UdpSocketServer uses the config:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Used by ecplogger -->
<Configuration name="log4j2.server.xml" status="debug" monitorInterval="60">
<Appenders>
<!-- Don't forget to set system property
-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
-DAsyncLogger.ExceptionHandler=com.twc.ctg.ecp.service.EcpExceptionHandler
-->
<!--Asynchronous loggers and appenders will automatically flush at the end of a batch of events, even if immediateFlush is set to false -->
<!-- The default buffer size is 262144 bytes, double it-->
<RollingRandomAccessFile name="RollingRandomAccessFile" fileName="/opt/twc/logs/ecp.log" filePattern="/opt/twc/logs/ecp.log.%d{yyyy-MM-dd}" append="true" bufferSize="524288" ignoreExceptions="false">
<PatternLayout>
<Pattern>%d{ISO8601} %-14mdc{application} %-5level [%t] %logger - %msg%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy/>
</Policies>
</RollingRandomAccessFile>
<Console name="STDERR" target="SYSTEM_ERR">
<PatternLayout pattern="%d{ISO8601} %-14mdc{application} %-5level [%t] %logger - %msg%n"></PatternLayout>
</Console>
<Failover name="Failover" primary="RollingRandomAccessFile">
<Failovers>
<AppenderRef ref="STDERR"/>
</Failovers>
</Failover>
</Appenders>
<Loggers>
<Root level="all">
<AppenderRef ref="Failover"/>
</Root>
</Loggers>
</Configuration>
All other java processes use the config:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Used by every process -->
<Configuration status="debug" name="log4j2.xml" monitorInterval="60">
<Appenders>
<Socket name="local_process_socket" host="ecplogger" port="6000" protocol="UDP" immediateFail="false" immediateFlush="true" reconnectionDelayMillis="1000" connectTimeoutMillis="10000" ignoreExceptions="false">
<SerializedLayout/>
</Socket>
<!-- Don't forget to set system properties in ecp.conf
-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
-DAsyncLogger.ExceptionHandler=com.twc.ctg.ecp.service.EcpExceptionHandler
-->
<Async name="local_process_async" blocking="false" shutdownTimeout="5000" bufferSize="32768" errorRef="STDERR" ignoreExceptions="false" includeLocation="false">
<AppenderRef ref="local_process_socket"/>
</Async>
<Console name="STDERR" target="SYSTEM_ERR">
<PatternLayout pattern="%d{ISO8601} %-14mdc{application} %-5level [%t] %logger - %msg%n"></PatternLayout>
</Console>
<Failover name="Failover" primary="local_process_async">
<Failovers>
<AppenderRef ref="STDERR"/>
</Failovers>
</Failover>
</Appenders>
<Loggers>
<Logger name="com.google" level="error"/>
<Logger name="org.mybatis" level="error"/>
<Logger name="org.apache.ibatis" level="error"/>
<Logger name="com.ryantenney" level="error"/>
<Logger name="org.apache.http" level="error"/>
<Logger name="org.apache.activemq" level="error"/>
<Logger name="org.eclipse.jetty" level="error"/>
<Logger name="org.apache.cxf" level="error"/>
<Logger name="org.springframework" level="info"/>
<Logger name="com.twc.ctg.ecp.service.history.HouseholdHistorySummaryQueue" level="warn"/>
<Logger name="com.twc.ctg.ecp.persistence.mappers.HouseholdHistorySummaryMapper" level="warn"/>
<Root level="info">
<AppenderRef ref="Failover"/>
</Root>
</Loggers>
</Configuration>
Log4j2 output on debug
Ecplogger, the UdpSocketServer:
2016-02-05 18:17:36,228 main DEBUG Initializing configuration XmlConfiguration[location=/opt/twc/ecp/log4j2.server.xml]
2016-02-05 18:17:36,274 main DEBUG Installed script engines
2016-02-05 18:17:39,738 main DEBUG Oracle Nashorn Version: 1.8.0_65, Language: ECMAScript, Threading: Not Thread Safe, Compile: true, Names: {nashorn, Nashorn, js, JS, JavaScript, javascript, ECMAScript, ecmascript}
2016-02-05 18:17:39,903 main DEBUG Groovy Scripting Engine Version: 2.0, Language: Groovy, Threading: MULTITHREADED, Compile: true, Names: {groovy, Groovy}
2016-02-05 18:17:39,903 main DEBUG PluginManager 'Core' found 97 plugins
2016-02-05 18:17:39,907 main DEBUG PluginManager 'Level' found 0 plugins
2016-02-05 18:17:39,958 main DEBUG Starting 1 Log4j2Scheduled threads
2016-02-05 18:17:39,980 main DEBUG PluginManager 'Lookup' found 13 plugins
2016-02-05 18:17:39,983 main DEBUG Building Plugin[name=layout, class=org.apache.logging.log4j.core.layout.PatternLayout].
2016-02-05 18:17:40,089 main DEBUG PluginManager 'TypeConverter' found 23 plugins
2016-02-05 18:17:40,332 main DEBUG PatternLayout$Builder(pattern="%d{ISO8601} %-14mdc{application} %-5level [%t] %logger - %msg%n", PatternSelector=null, Configuration(log4j2.server.xml), Replace=null, charset="null", alwaysWriteExceptions="null", noConsoleNoAnsi="null", header="null", footer="null")
2016-02-05 18:17:40,347 main DEBUG PluginManager 'Converter' found 38 plugins
2016-02-05 18:17:40,486 main DEBUG Building Plugin[name=TimeBasedTriggeringPolicy, class=org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy].
2016-02-05 18:17:40,585 main DEBUG createPolicy(interval="null", modulate="null")
2016-02-05 18:17:40,585 main DEBUG Building Plugin[name=Policies, class=org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy].
2016-02-05 18:17:40,587 main DEBUG createPolicy(={TimeBasedTriggeringPolicy(nextRolloverMillis=0, interval=1, modulate=false)})
2016-02-05 18:17:40,587 main DEBUG Building Plugin[name=appender, class=org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender].
2016-02-05 18:17:40,628 main DEBUG createAppender(fileName="/opt/twc/logs/ecp.log", filePattern="/opt/twc/logs/ecp.log.%d{yyyy-MM-dd}", append="true", name="RollingRandomAccessFile", immediateFlush="null", bufferSize="524288", Policies(CompositeTriggeringPolicy(policies=[TimeBasedTriggeringPolicy(nextRolloverMillis=0, interval=1, modulate=false)])), Strategy=null, PatternLayout(%d{ISO8601} %-14mdc{application} %-5level [%t] %logger - %msg%n), Filter=null, ignoreExceptions="false", advertise="null", advertiseURI="null", Configuration(log4j2.server.xml))
2016-02-05 18:17:40,672 main DEBUG Starting RollingRandomAccessFileManager /opt/twc/logs/ecp.log
2016-02-05 18:17:40,673 main DEBUG PluginManager 'FileConverter' found 2 plugins
2016-02-05 18:17:40,727 main DEBUG Building Plugin[name=layout, class=org.apache.logging.log4j.core.layout.PatternLayout].
2016-02-05 18:17:40,729 main DEBUG PatternLayout$Builder(pattern="%d{ISO8601} %-14mdc{application} %-5level [%t] %logger - %msg%n", PatternSelector=null, Configuration(log4j2.server.xml), Replace=null, charset="null", alwaysWriteExceptions="null", noConsoleNoAnsi="null", header="null", footer="null")
2016-02-05 18:17:40,730 main DEBUG Building Plugin[name=appender, class=org.apache.logging.log4j.core.appender.ConsoleAppender].
2016-02-05 18:17:40,754 main INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.
2016-02-05 18:17:40,755 main DEBUG PluginManager 'Converter' found 38 plugins
2016-02-05 18:17:40,760 main DEBUG Starting OutputStreamManager SYSTEM_OUT.false-2
2016-02-05 18:17:40,830 main DEBUG ConsoleAppender$Builder(PatternLayout(%d{ISO8601} %-14mdc{application} %-5level [%t] %logger - %msg%n), Filter=null, target="SYSTEM_ERR", name="STDERR", follow="null", ignoreExceptions="null")
2016-02-05 18:17:40,830 main DEBUG Starting OutputStreamManager SYSTEM_ERR.false
2016-02-05 18:17:40,831 main DEBUG Building Plugin[name=AppenderRef, class=org.apache.logging.log4j.core.config.AppenderRef].
2016-02-05 18:17:40,831 main DEBUG createAppenderRef(ref="STDERR", level="null", Filter=null)
2016-02-05 18:17:40,873 main DEBUG Building Plugin[name=failovers, class=org.apache.logging.log4j.core.appender.FailoversPlugin].
2016-02-05 18:17:40,876 main DEBUG createFailovers(={STDERR})
2016-02-05 18:17:40,876 main DEBUG Building Plugin[name=appender, class=org.apache.logging.log4j.core.appender.FailoverAppender].
2016-02-05 18:17:40,899 main ERROR appender Failover has no parameter that matches element Failovers
2016-02-05 18:17:40,899 main DEBUG createAppender(name="Failover", primary="RollingRandomAccessFile", ={[STDERR]}, retryIntervalSeconds="null", Configuration(log4j2.server.xml), Filter=null, ignoreExceptions="null")
2016-02-05 18:17:40,900 main DEBUG Building Plugin[name=appenders, class=org.apache.logging.log4j.core.config.AppendersPlugin].
2016-02-05 18:17:40,930 main DEBUG createAppenders(={RollingRandomAccessFile, STDERR, Failover primary=null, failover={STDERR}})
2016-02-05 18:17:40,941 main DEBUG Building Plugin[name=AppenderRef, class=org.apache.logging.log4j.core.config.AppenderRef].
2016-02-05 18:17:40,942 main DEBUG createAppenderRef(ref="Failover", level="null", Filter=null)
2016-02-05 18:17:40,942 main DEBUG Building Plugin[name=root, class=org.apache.logging.log4j.core.config.LoggerConfig$RootLogger].
2016-02-05 18:17:40,943 main DEBUG createLogger(additivity="null", level="ALL", includeLocation="null", ={Failover}, ={}, Configuration(log4j2.server.xml), Filter=null)
2016-02-05 18:17:40,970 main DEBUG Building Plugin[name=loggers, class=org.apache.logging.log4j.core.config.LoggersPlugin].
2016-02-05 18:17:40,971 main DEBUG createLoggers(={root})
2016-02-05 18:17:40,972 main DEBUG Configuration XmlConfiguration[location=/opt/twc/ecp/log4j2.server.xml] initialized
2016-02-05 18:17:40,972 main DEBUG Starting configuration XmlConfiguration[location=/opt/twc/ecp/log4j2.server.xml]
2016-02-05 18:17:41,030 main DEBUG Started configuration XmlConfiguration[location=/opt/twc/ecp/log4j2.server.xml] OK.
2016-02-05 18:17:41,031 main DEBUG Shutting down OutputStreamManager SYSTEM_OUT.false-1
2016-02-05 18:17:41,031 main DEBUG Stopped org.apache.logging.log4j.core.config.DefaultConfiguration#3339ad8e OK
2016-02-05 18:17:41,570 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#17f052a3
2017-02-05 18:17:41,585 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#17f052a3,component=AsyncLoggerRingBuffer
2016-02-05 18:17:41,587 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#17f052a3,component=StatusLogger
2016-02-05 18:17:41,618 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#17f052a3,component=ContextSelector
2016-02-05 18:17:41,639 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#17f052a3,component=Loggers,name=
2016-02-05 18:17:41,641 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#17f052a3,component=Appenders,name=STDERR
2016-02-05 18:17:41,662 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#17f052a3,component=Appenders,name=Failover
2016-02-05 18:17:41,662 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#17f052a3,component=Appenders,name=RollingRandomAccessFile
2016-02-05 18:17:41,683 main DEBUG Reconfiguration complete for context[name=AsyncContext#17f052a3] at URI /opt/twc/ecp/log4j2.server.xml (org.apache.logging.log4j.core.async.AsyncLoggerContext#6bf0219d) with optional ClassLoader: null
2016-02-05 18:17:41,692 main DEBUG Shutdown hook enabled. Registering a new one.
2016-02-05 18:17:41,693 main DEBUG LoggerContext[name=AsyncContext#17f052a3, org.apache.logging.log4j.core.async.AsyncLoggerContext#6bf0219d] started OK.
2016-02-05 18:17:41,727 main DEBUG AsyncLogger.ThreadNameStrategy=CACHED
2016-02-06 00:00:00,416 Log4j2-0 DEBUG RollingFileManager executing synchronous FileRenameAction[/opt/twc/logs/ecp.log to /opt/twc/logs/ecp.log.2016-02-05, renameEmptyFiles=false]
2016-02-07 00:00:00,663 Log4j2-0 DEBUG RollingFileManager executing synchronous FileRenameAction[/opt/twc/logs/ecp.log to /opt/twc/logs/ecp.log.2016-02-06, renameEmptyFiles=false]
2016-02-08 00:00:00,802 Log4j2-0 DEBUG RollingFileManager executing synchronous FileRenameAction[/opt/twc/logs/ecp.log to /opt/twc/logs/ecp.log.2016-02-07, renameEmptyFiles=false]
~
One of the other processes:
2016-02-05 18:17:37,098 main DEBUG Initializing configuration XmlConfiguration[location=/opt/twc/ecp/log4j2.xml]
2016-02-05 18:17:37,159 main DEBUG Installed script engines
2016-02-05 18:17:37,356 main DEBUG Groovy Scripting Engine Version: 2.0, Language: Groovy, Threading: MULTITHREADED, Compile: true, Names: {groovy, Groovy}
2016-02-05 18:17:40,741 main DEBUG Oracle Nashorn Version: 1.8.0_65, Language: ECMAScript, Threading: Not Thread Safe, Compile: true, Names: {nashorn, Nashorn, js, JS, JavaScript, javascript, ECMAScript, ecmascript}
2016-02-05 18:17:40,742 main DEBUG PluginManager 'Core' found 97 plugins
2016-02-05 18:17:40,743 main DEBUG PluginManager 'Level' found 0 plugins
2016-02-05 18:17:40,813 main DEBUG Starting 1 Log4j2Scheduled threads
2016-02-05 18:17:40,814 main DEBUG PluginManager 'Lookup' found 13 plugins
2016-02-05 18:17:40,847 main DEBUG Building Plugin[name=layout, class=org.apache.logging.log4j.core.layout.SerializedLayout].
2016-02-05 18:17:40,864 main DEBUG createLayout()
2016-02-05 18:17:40,865 main DEBUG Building Plugin[name=appender, class=org.apache.logging.log4j.core.appender.SocketAppender].
2016-02-05 18:17:41,080 main DEBUG PluginManager 'TypeConverter' found 23 plugins
2016-02-05 18:17:41,178 main DEBUG createAppender(host="ecplogger", port="6000", protocol="UDP", SSL=null, connectTimeoutMillis="10000", reconnectionDelayMillis="1000", immediateFail="false", name="local_process_socket", immediateFlush="true", ignoreExceptions="false", SerializedLayout(org.apache.logging.log4j.core.layout.SerializedLayout#4e3958e7), Filter=null, advertise="false", Configuration(log4j2.xml))
2016-02-05 18:17:41,233 main DEBUG Starting DatagramSocketManager UDP:ecplogger:6000
2016-02-05 18:17:41,234 main DEBUG Building Plugin[name=AppenderRef, class=org.apache.logging.log4j.core.config.AppenderRef].
2016-02-05 18:17:41,253 main DEBUG createAppenderRef(ref="local_process_socket", level="null", Filter=null)
2016-02-05 18:17:41,253 main DEBUG Building Plugin[name=appender, class=org.apache.logging.log4j.core.appender.AsyncAppender].
2016-02-05 18:17:41,295 main DEBUG createAppender(={local_process_socket}, errorRef="STDERR", blocking="false", shutdownTimeout="5000", bufferSize="32768", name="local_process_async", includeLocation="false", Filter=null, Configuration(log4j2.xml), ignoreExceptions="false")
2016-02-05 18:17:41,296 main DEBUG Building Plugin[name=layout, class=org.apache.logging.log4j.core.layout.PatternLayout].
2016-02-05 18:17:41,336 main DEBUG PatternLayout$Builder(pattern="%d{ISO8601} %-14mdc{application} %-5level [%t] %logger - %msg%n", PatternSelector=null, Configuration(log4j2.xml), Replace=null, charset="null", alwaysWriteExceptions="null", noConsoleNoAnsi="null", header="null", footer="null")
2016-02-05 18:17:41,366 main DEBUG PluginManager 'Converter' found 38 plugins
2016-02-05 18:17:41,509 main DEBUG Building Plugin[name=appender, class=org.apache.logging.log4j.core.appender.ConsoleAppender].
2016-02-05 18:17:41,512 main INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.
2016-02-05 18:17:41,529 main DEBUG PluginManager 'Converter' found 38 plugins
2016-02-05 18:17:41,530 main DEBUG Starting OutputStreamManager SYSTEM_OUT.false-2
2016-02-05 18:17:41,573 main DEBUG ConsoleAppender$Builder(PatternLayout(%d{ISO8601} %-14mdc{application} %-5level [%t] %logger - %msg%n), Filter=null, target="SYSTEM_ERR", name="STDERR", follow="null", ignoreExceptions="null")
2016-02-05 18:17:41,574 main DEBUG Starting OutputStreamManager SYSTEM_ERR.false
2016-02-05 18:17:41,576 main DEBUG Building Plugin[name=AppenderRef, class=org.apache.logging.log4j.core.config.AppenderRef].
2016-02-05 18:17:41,602 main DEBUG createAppenderRef(ref="STDERR", level="null", Filter=null)
2016-02-05 18:17:41,603 main DEBUG Building Plugin[name=failovers, class=org.apache.logging.log4j.core.appender.FailoversPlugin].
2016-02-05 18:17:41,603 main DEBUG createFailovers(={STDERR})
2016-02-05 18:17:41,604 main DEBUG Building Plugin[name=appender, class=org.apache.logging.log4j.core.appender.FailoverAppender].
2016-02-05 18:17:41,606 main ERROR appender Failover has no parameter that matches element Failovers
2016-02-05 18:17:41,609 main DEBUG createAppender(name="Failover", primary="local_process_async", ={[STDERR]}, retryIntervalSeconds="null", Configuration(log4j2.xml), Filter=null, ignoreExceptions="null")
2016-02-05 18:17:41,610 main DEBUG Building Plugin[name=appenders, class=org.apache.logging.log4j.core.config.AppendersPlugin].
2016-02-05 18:17:41,611 main DEBUG createAppenders(={local_process_socket, local_process_async, STDERR, Failover primary=null, failover={STDERR}})
2016-02-05 18:17:41,619 main DEBUG Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
2016-02-05 18:17:41,627 main DEBUG createLogger(additivity="null", level="ERROR", name="com.google", includeLocation="null", ={}, ={}, Configuration(log4j2.xml), Filter=null)
2016-02-05 18:17:41,660 main DEBUG Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
2016-02-05 18:17:41,670 main DEBUG createLogger(additivity="null", level="ERROR", name="org.mybatis", includeLocation="null", ={}, ={}, Configuration(log4j2.xml), Filter=null)
2016-02-05 18:17:41,671 main DEBUG Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
2016-02-05 18:17:41,672 main DEBUG createLogger(additivity="null", level="ERROR", name="org.apache.ibatis", includeLocation="null", ={}, ={}, Configuration(log4j2.xml), Filter=null)
2016-02-05 18:17:41,672 main DEBUG Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
2016-02-05 18:17:41,688 main DEBUG createLogger(additivity="null", level="ERROR", name="com.ryantenney", includeLocation="null", ={}, ={}, Configuration(log4j2.xml), Filter=null)
2016-02-05 18:17:41,688 main DEBUG Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
2016-02-05 18:17:41,689 main DEBUG createLogger(additivity="null", level="ERROR", name="org.apache.http", includeLocation="null", ={}, ={}, Configuration(log4j2.xml), Filter=null)
2016-02-05 18:17:41,702 main DEBUG Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
2016-02-05 18:17:41,703 main DEBUG createLogger(additivity="null", level="ERROR", name="org.apache.activemq", includeLocation="null", ={}, ={}, Configuration(log4j2.xml), Filter=null)
2016-02-05 18:17:41,703 main DEBUG Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
2016-02-05 18:17:41,704 main DEBUG createLogger(additivity="null", level="ERROR", name="org.eclipse.jetty", includeLocation="null", ={}, ={}, Configuration(log4j2.xml), Filter=null)
2016-02-05 18:17:41,704 main DEBUG Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
2016-02-05 18:17:41,717 main DEBUG createLogger(additivity="null", level="ERROR", name="org.apache.cxf", includeLocation="null", ={}, ={}, Configuration(log4j2.xml), Filter=null)
2016-02-05 18:17:41,720 main DEBUG Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
2016-02-05 18:17:41,721 main DEBUG createLogger(additivity="null", level="INFO", name="org.springframework", includeLocation="null", ={}, ={}, Configuration(log4j2.xml), Filter=null)
2016-02-05 18:17:41,721 main DEBUG Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
2016-02-05 18:17:41,722 main DEBUG createLogger(additivity="null", level="WARN", name="com.twc.ctg.ecp.service.history.HouseholdHistorySummaryQueue", includeLocation="null", ={}, ={}, Configuration(log4j2.xml), Filter=null)
2016-02-05 18:17:41,734 main DEBUG Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
2016-02-05 18:17:41,735 main DEBUG createLogger(additivity="null", level="WARN", name="com.twc.ctg.ecp.persistence.mappers.HouseholdHistorySummaryMapper", includeLocation="null", ={}, ={}, Configuration(log4j2.xml), Filter=null)
2016-02-05 18:17:41,735 main DEBUG Building Plugin[name=AppenderRef, class=org.apache.logging.log4j.core.config.AppenderRef].
2016-02-05 18:17:41,735 main DEBUG createAppenderRef(ref="Failover", level="null", Filter=null)
2016-02-05 18:17:41,736 main DEBUG Building Plugin[name=root, class=org.apache.logging.log4j.core.config.LoggerConfig$RootLogger].
2016-02-05 18:17:41,737 main DEBUG createLogger(additivity="null", level="DEBUG", includeLocation="null", ={Failover}, ={}, Configuration(log4j2.xml), Filter=null)
2016-02-05 18:17:41,746 main DEBUG Building Plugin[name=loggers, class=org.apache.logging.log4j.core.config.LoggersPlugin].
2016-02-05 18:17:41,747 main DEBUG createLoggers(={com.google, org.mybatis, org.apache.ibatis, com.ryantenney, org.apache.http, org.apache.activemq, org.eclipse.jetty, org.apache.cxf, org.springframework, com.twc.ctg.ecp.service.history.HouseholdHistorySummaryQueue, com.twc.ctg.ecp.persistence.mappers.HouseholdHistorySummaryMapper, root})
2016-02-05 18:17:41,750 main DEBUG Configuration XmlConfiguration[location=/opt/twc/ecp/log4j2.xml] initialized
2016-02-05 18:17:41,756 main DEBUG Starting configuration XmlConfiguration[location=/opt/twc/ecp/log4j2.xml]
2016-02-05 18:17:41,764 main DEBUG Started configuration XmlConfiguration[location=/opt/twc/ecp/log4j2.xml] OK.
2016-02-05 18:17:41,764 main DEBUG Shutting down OutputStreamManager SYSTEM_OUT.false-1
2016-02-05 18:17:41,765 main DEBUG Stopped org.apache.logging.log4j.core.config.DefaultConfiguration#1324409e OK
2016-02-05 18:17:41,771 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2
2016-02-05 18:17:41,774 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=AsyncLoggerRingBuffer
2016-02-05 18:17:41,780 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=StatusLogger
2016-02-05 18:17:41,783 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=ContextSelector
2016-02-05 18:17:41,790 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=org.apache.ibatis
2016-02-05 18:17:41,791 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=
2016-02-05 18:17:41,792 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=com.google
2016-02-05 18:17:41,792 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=org.apache.activemq
2016-02-05 18:17:41,792 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=org.eclipse.jetty
2016-02-05 18:17:41,793 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=com.twc.ctg.ecp.persistence.mappers.HouseholdHistorySummaryMapper
2016-02-05 18:17:41,794 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=org.apache.cxf
2016-02-05 18:17:41,794 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=org.apache.http
2016-02-05 18:17:41,794 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=org.apache.http
2016-02-05 18:17:41,795 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=com.twc.ctg.ecp.service.history.HouseholdHistorySummaryQueue
2016-02-05 18:17:41,800 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=org.springframework
2016-02-05 18:17:41,800 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=com.ryantenney
2016-02-05 18:17:41,802 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Loggers,name=org.mybatis
2016-02-05 18:17:41,809 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Appenders,name=local_process_socket
2016-02-05 18:17:41,811 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Appenders,name=STDERR
2016-02-05 18:17:41,811 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=Appenders,name=Failover
2016-02-05 18:17:41,813 main DEBUG Registering MBean org.apache.logging.log4j2:type=AsyncContext#18b4aac2,component=AsyncAppenders,name=local_process_async
2016-02-05 18:17:41,818 main DEBUG Reconfiguration complete for context[name=AsyncContext#18b4aac2] at URI /opt/twc/ecp/log4j2.xml (org.apache.logging.log4j.core.async.AsyncLoggerContext#2cd2a21f) with optional ClassLoader: null
2016-02-05 18:17:41,824 main DEBUG Shutdown hook enabled. Registering a new one.
2016-02-05 18:17:41,825 main DEBUG LoggerContext[name=AsyncContext#18b4aac2, org.apache.logging.log4j.core.async.AsyncLoggerContext#2cd2a21f] started OK.
2016-02-05 18:17:41,841 main DEBUG AsyncLogger.ThreadNameStrategy=CACHED
~

highcharts-export Server : java.lang.IllegalArgumentException when running the application under Tomcat or Jetty

I follow the guide : http://www.highcharts.com/docs/export-module/setting-up-the-server
Windows : 7
JDK : 8.0.20
Maven : 3.2.3
Apache Tomcat : 8.0.12
Highcharts-export-web : Version f97fbcf5f0d8cc72942a3b680e0e2a187ba1aedf and v4.0.4
I put the war into the webapps folder and I start the server. The server does not start
I have tried on several versions (checkout from 5 November 2014 and the last tag v4.0.4). It produces the same output
I have tried jetty version too, and this is the same result.
Output of the startup.bat
05-Nov-2014 16:14:23.756 INFO [main] org.apache.catalina.core.AprLifecycleListen
er.init The APR based Apache Tomcat Native library which allows optimal performa
nce in production environments was not found on the java.library.path: C:\devtoo
ls\jdks\jdk1.8.0_20\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C
:\ProgramData\Oracle\Java\javapath;C:\devtools\Microchip\mplabc32\v2.02\bin;C:\d
evtools\Microchip\MPLAB C30\bin;C:\Windows\system32;C:\Windows;C:\Windows\System
32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Micro
soft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files\Microsoft SQL Server\110\T
ools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Progra
m Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Serv
er\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSSh
ell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\
PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\
Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files (x86)\
Common Files\Roxio Shared\10.0\DLLShared\;C:\Program Files\Microsoft\Web Platfor
m Installer\;C:\Program Files (x86)\Microsoft Team Foundation Server 2013 Power
Tools\;C:\Program Files (x86)\Microsoft Team Foundation Server 2013 Power Tools\
Best Practices Analyzer\;C:\Program Files (x86)\Windows Kits\8.1\Windows Perform
ance Toolkit\;C:\devtools\Microchip\MPLAB C32 Suite\bin;C:\Program Files\Microso
ft SQL Server\120\Tools\Binn\;C:\devtools\Git\cmd;C:\devtools\Git\bin;C:\Program
Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\devtools\adt-bundle-windows-x86-2
0140624\sdk\tools;C:\devtools\apache-ant-1.9.4\bin;C:\devtools\jdks\jdk1.8.0_20\
bin;C:\Program Files\Symantec.cloud\PlatformAgent\;C:\devtools\apache-maven-3.2.
3\bin;;.
05-Nov-2014 16:14:24.006 INFO [main] org.apache.coyote.AbstractProtocol.init Ini
tializing ProtocolHandler ["http-nio-8080"]
05-Nov-2014 16:14:24.075 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.
getSharedSelector Using a shared selector for servlet write/read
05-Nov-2014 16:14:24.078 INFO [main] org.apache.coyote.AbstractProtocol.init Ini
tializing ProtocolHandler ["ajp-nio-8009"]
05-Nov-2014 16:14:24.081 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.
getSharedSelector Using a shared selector for servlet write/read
05-Nov-2014 16:14:24.082 INFO [main] org.apache.catalina.startup.Catalina.load I
nitialization processed in 651 ms
05-Nov-2014 16:14:24.110 INFO [main] org.apache.catalina.core.StandardService.st
artInternal DÚmarrage du service Catalina
05-Nov-2014 16:14:24.110 INFO [main] org.apache.catalina.core.StandardEngine.sta
rtInternal Starting Servlet Engine: Apache Tomcat/8.0.12
05-Nov-2014 16:14:24.158 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployWAR DÚploiement de l'archive C:\devtools\apache-tomcat-8.0.12
-Highcharts\webapps\highcharts-export-web.war de l'application web
05-Nov-2014 16:14:24.177 WARNING [localhost-startStop-1] org.apache.catalina.sta
rtup.SetContextPropertiesRule.begin [SetContextPropertiesRule]{Context} Setting
property 'antiJARLocking' to 'true' did not find a matching property.
[ERROR] [localhost-startStop-1 04:14:26] (ContextLoader.java:initWebApplicationC
ontext:307) Context initialization failed
**java.lang.IllegalArgumentException**
at org.springframework.asm.ClassReader.(Unknown Source)
at org.springframework.asm.ClassReader.(Unknown Source)
at org.springframework.asm.ClassReader.(Unknown Source)
at org.springframework.core.type.classreading.SimpleMetadataReader.(SimpleMetadataReader.java:52)
at org.springframework.core.type.classreading.SimpleMetadataReaderFactor
y.getMetadataReader(SimpleMetadataReaderFactory.java:80)
at org.springframework.core.type.classreading.CachingMetadataReaderFacto
ry.getMetadataReader(CachingMetadataReaderFactory.java:101)
at org.springframework.core.type.classreading.SimpleMetadataReaderFactor
y.getMetadataReader(SimpleMetadataReaderFactory.java:76)
at org.springframework.context.annotation.ConfigurationClassParser.getIm
ports(ConfigurationClassParser.java:298)
at org.springframework.context.annotation.ConfigurationClassParser.getIm
ports(ConfigurationClassParser.java:300)
at org.springframework.context.annotation.ConfigurationClassParser.getIm
ports(ConfigurationClassParser.java:300)
at org.springframework.context.annotation.ConfigurationClassParser.doPro
cessConfigurationClass(ConfigurationClassParser.java:230)
at org.springframework.context.annotation.ConfigurationClassParser.proce
ssConfigurationClass(ConfigurationClassParser.java:153)
at org.springframework.context.annotation.ConfigurationClassParser.parse
(ConfigurationClassParser.java:130)
at org.springframework.context.annotation.ConfigurationClassPostProcesso
r.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:285)
at org.springframework.context.annotation.ConfigurationClassPostProcesso
r.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:223)
at org.springframework.context.support.AbstractApplicationContext.invoke
BeanFactoryPostProcessors(AbstractApplicationContext.java:630)
at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:461)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebA
pplicationContext(ContextLoader.java:383)
at org.springframework.web.context.ContextLoader.initWebApplicationConte
xt(ContextLoader.java:283)
at org.springframework.web.context.ContextLoaderListener.contextInitiali
zed(ContextLoaderListener.java:112)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContex
t.java:4751)
at org.apache.catalina.core.StandardContext.startInternal(StandardContex
t.java:5175)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:724)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:70
0)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:919)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:
1704)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
05-Nov-2014 16:14:26.930 SEVERE [localhost-startStop-1] org.apache.catalina.core
.StandardContext.startInternal Error listenerStart
05-Nov-2014 16:14:27.028 SEVERE [localhost-startStop-1] org.apache.catalina.core
.StandardContext.startInternal Erreur de dÚmarrage du contexte [/highcharts-expo
rt-web] suite aux erreurs prÚcÚdentes
05-Nov-2014 16:14:27.040 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployWAR Deployment of web application archive C:\devtools\apache-
tomcat-8.0.12-Highcharts\webapps\highcharts-export-web.war has finished in 2á882
ms
05-Nov-2014 16:14:27.041 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployWAR DÚploiement de l'archive C:\devtools\apache-tomcat-8.0.12
-Highcharts\webapps\richCharts.war de l'application web
05-Nov-2014 16:14:28.470 INFO [localhost-startStop-1] com.sun.faces.config.Confi
gureListener.contextInitialized Initializing Mojarra (1.2_13-b01-FCS) for contex
t '/richCharts'
05-Nov-2014 16:14:28.476 WARNING [localhost-startStop-1] com.sun.faces.config.Co
nfigureListener.contextInitialized JSF1059: WARNING! The com.sun.faces.verifyOb
jects feature is to aid developers not using tools. It shouldn''t be enabled if
using an IDE, or if this application is being deployed for production as it wil
l impact application start times.
log4j:WARN No appenders could be found for logger (org.ajax4jsf.renderkit.Chamel
eonRenderKitFactory).
log4j:WARN Please initialize the log4j system properly.
05-Nov-2014 16:14:29.403 INFO [localhost-startStop-1] com.sun.faces.spi.Injectio
nProviderFactory.createInstance JSF1048: PostConstruct/PreDestroy annotations pr
esent. ManagedBeans methods marked with these annotations will have said annota
tions processed.
05-Nov-2014 16:14:31.062 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployWAR Deployment of web application archive C:\devtools\apache-
tomcat-8.0.12-Highcharts\webapps\richCharts.war has finished in 4á020 ms
05-Nov-2014 16:14:31.064 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployDirectory DÚploiement du rÚpertoire C:\devtools\apache-tomcat
-8.0.12-Highcharts\webapps\docs de l'application web
05-Nov-2014 16:14:31.088 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployDirectory Deployment of web application directory C:\devtools
\apache-tomcat-8.0.12-Highcharts\webapps\docs has finished in 24 ms
05-Nov-2014 16:14:31.088 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployDirectory DÚploiement du rÚpertoire C:\devtools\apache-tomcat
-8.0.12-Highcharts\webapps\examples de l'application web
05-Nov-2014 16:14:31.525 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployDirectory Deployment of web application directory C:\devtools
\apache-tomcat-8.0.12-Highcharts\webapps\examples has finished in 436 ms
05-Nov-2014 16:14:31.525 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployDirectory DÚploiement du rÚpertoire C:\devtools\apache-tomcat
-8.0.12-Highcharts\webapps\host-manager de l'application web
05-Nov-2014 16:14:31.566 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployDirectory Deployment of web application directory C:\devtools
\apache-tomcat-8.0.12-Highcharts\webapps\host-manager has finished in 41 ms
05-Nov-2014 16:14:31.567 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployDirectory DÚploiement du rÚpertoire C:\devtools\apache-tomcat
-8.0.12-Highcharts\webapps\manager de l'application web
05-Nov-2014 16:14:31.595 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployDirectory Deployment of web application directory C:\devtools
\apache-tomcat-8.0.12-Highcharts\webapps\manager has finished in 28 ms
05-Nov-2014 16:14:31.596 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployDirectory DÚploiement du rÚpertoire C:\devtools\apache-tomcat
-8.0.12-Highcharts\webapps\ROOT de l'application web
05-Nov-2014 16:14:31.620 INFO [localhost-startStop-1] org.apache.catalina.startu
p.HostConfig.deployDirectory Deployment of web application directory C:\devtools
\apache-tomcat-8.0.12-Highcharts\webapps\ROOT has finished in 25 ms
05-Nov-2014 16:14:31.626 INFO [main] org.apache.coyote.AbstractProtocol.start St
arting ProtocolHandler ["http-nio-8080"]
05-Nov-2014 16:14:31.637 INFO [main] org.apache.coyote.AbstractProtocol.start St
arting ProtocolHandler ["ajp-nio-8009"]
05-Nov-2014 16:14:31.640 INFO [main] org.apache.catalina.startup.Catalina.start
Server startup in 7558 ms
Do you have a stable version which does not contain this problem ?

Parsing error when deploying Tomcat6 JSF application - digester.Digester

I'm getting a strange parsing issue when I try to start Tomcat6 with my application (that I am trying to port from Tomcat7 to Tomcat6). The Digester itself does not declare an error until it hits an unexpected end of file - this parsing itself must be wrong.
Does anyone have any ideas?
My web.xml is below, followed by part of the console.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<description>ilearn web.xml</description>
<display-name>iLearn</display-name>
<welcome-file-list>
<welcome-file>home.jsf</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<context-param>
<param-name> javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL </param-name>
<param-value>true</param-value>
</context-param>
<filter>
<filter-name>Extensions Filter</filter-name>
<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
<init-param>
<param-name>uploadMaxFileSize</param-name>
<param-value>100m</param-value>
</init-param>
<init-param>
<param-name>uploadThresholdSize</param-name>
<param-value>100k</param-value>
</init-param>
<init-param>
<param-name>uploadRepositoryPath</param-name>
<param-value>/iLearnData/temp/</param-value>
</init-param>
</filter>
</web-app>
This is the faces-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
<!-- Config here -->
</faces-config>
This is the beans.xml
<?xml version="1.0" encoding="UTF-8"?>
This is part of the log from the console
[methodName=setComponentFamily, paramCount=0, paramTypes={java.lang.String}]
2012-09-04 02:20:42,503 DEBUG [main] digester.Digester (CallMethodRule.java:615) - [CallMethodRule]{faces-config/render-kit/renderer/component-family} Call org.apache.myfaces.config.impl.digester.elements.Renderer.setComponentFamily(javax.faces.SelectMany/java.lang.String)
2012-09-04 02:20:42,503 DEBUG [main] Digester.sax (Digester.java:1094) - characters(
)
2012-09-04 02:20:42,503 DEBUG [main] Digester.sax (Digester.java:1410) - startElement(http://java.sun.com/xml/ns/javaee,renderer-type,renderer-type)
2012-09-04 02:20:42,503 DEBUG [main] digester.Digester (Digester.java:1417) - Pushing body text '
'
2012-09-04 02:20:42,503 DEBUG [main] digester.Digester (Digester.java:1436) - New match='faces-config/render-kit/renderer/renderer-type'
2012-09-04 02:20:42,503 DEBUG [main] digester.Digester (Digester.java:1451) - Fire begin() for CallMethodRule[methodName=setRendererType, paramCount=0, paramTypes={java.lang.String}]
2012-09-04 02:20:42,503 DEBUG [main] Digester.sax (Digester.java:1094) - characters(javax.faces.Checkbox)
2012-09-04 02:20:42,503 DEBUG [main] Digester.sax (Digester.java:1164) - endElement(http://java.sun.com/xml/ns/javaee,renderer-type,renderer-type)
2012-09-04 02:20:42,503 DEBUG [main] digester.Digester (Digester.java:1167) - match='faces-config/render-kit/renderer/renderer-type'
2012-09-04 02:20:42,504 DEBUG [main] digester.Digester (Digester.java:1168) - bodyText='javax.faces.Checkbox'
2012-09-04 02:20:42,504 DEBUG [main] digester.Digester (Digester.java:1190) - Fire body() for CallMethodRule[methodName=setRendererType, paramCount=0, paramTypes={java.lang.String}]
2012-09-04 02:20:42,504 DEBUG [main] digester.Digester (Digester.java:1210) - Popping body text '
'
2012-09-04 02:20:42,567 DEBUG [main] digester.Digester (Digester.java:1190) - Fire body() for ObjectCreateRule[className=org.apache.myfaces.config.impl.digester.elements.FacesConfig, attributeName=null]
2012-09-04 02:20:42,567 DEBUG [main] digester.Digester (Digester.java:1190) - Fire body() for SetPropertiesRule[]
2012-09-04 02:20:42,568 DEBUG [main] digester.Digester (Digester.java:1190) - Fire body() for SetPropertiesRule[]
2012-09-04 02:20:42,568 DEBUG [main] digester.Digester (Digester.java:1210) - Popping body text ''
2012-09-04 02:20:42,568 DEBUG [main] digester.Digester (Digester.java:1220) - Fire end() for SetPropertiesRule[]
2012-09-04 02:20:42,568 DEBUG [main] digester.Digester (Digester.java:1220) - Fire end() for SetPropertiesRule[]
2012-09-04 02:20:42,568 DEBUG [main] digester.Digester (Digester.java:1220) - Fire end() for ObjectCreateRule[className=org.apache.myfaces.config.impl.digester.elements.FacesConfig, attributeName=null]
2012-09-04 02:20:42,568 DEBUG [main] digester.Digester (ObjectCreateRule.java:219) - [ObjectCreateRule]{faces-config} Pop org.apache.myfaces.config.impl.digester.elements.FacesConfig
2012-09-04 02:20:42,568 DEBUG [main] Digester.sax (Digester.java:1254) - endPrefixMapping()
2012-09-04 02:20:42,568 DEBUG [main] Digester.sax (Digester.java:1254) - endPrefixMapping(xsi)
2012-09-04 02:20:42,568 DEBUG [main] Digester.sax (Digester.java:1114) - endDocument()
Sep 4, 2012 2:20:42 AM org.apache.myfaces.config.DefaultFacesConfigurationProvider getWebAppFacesConfig
INFO: Reading config /WEB-INF/faces-config.xml
2012-09-04 02:20:42,571 DEBUG [main] Digester.sax (Digester.java:1341) - setDocumentLocator(com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser$LocatorProxy#154e4e31)
2012-09-04 02:20:42,572 DEBUG [main] Digester.sax (Digester.java:1375) - startDocument()
2012-09-04 02:20:42,574 ERROR [main] digester.Digester (Digester.java:1655) - Parse Fatal Error at line 3 column 1: Premature end of file.
org.xml.sax.SAXParseException: Premature end of file.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1427)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1056)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.apache.commons.digester.Digester.parse(Digester.java:1745)
at org.apache.myfaces.config.impl.digester.DigesterFacesConfigUnmarshallerImpl.getFacesConfig(DigesterFacesConfigUnmarshallerImpl.java:309)
at org.apache.myfaces.config.impl.digester.DigesterFacesConfigUnmarshallerImpl.getFacesConfig(DigesterFacesConfigUnmarshallerImpl.java:36)
at org.apache.myfaces.config.DefaultFacesConfigurationProvider.getWebAppFacesConfig(DefaultFacesConfigurationProvider.java:345)
at org.apache.myfaces.config.DefaultFacesConfigurationMerger.getFacesConfigData(DefaultFacesConfigurationMerger.java:75)
at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:416)
at org.apache.myfaces.webapp.AbstractFacesInitializer.buildConfiguration(AbstractFacesInitializer.java:338)
at org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:73)
at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:140)
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:119)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Sep 4, 2012 2:20:42 AM org.apache.myfaces.webapp.AbstractFacesInitializer initFaces
SEVERE: An error occured while initializing MyFaces: org.xml.sax.SAXParseException: Premature end of file.
javax.faces.FacesException: org.xml.sax.SAXParseException: Premature end of file.
at org.apache.myfaces.config.DefaultFacesConfigurationProvider.getWebAppFacesConfig(DefaultFacesConfigurationProvider.java:357)
at org.apache.myfaces.config.DefaultFacesConfigurationMerger.getFacesConfigData(DefaultFacesConfigurationMerger.java:75)
at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:416)
at org.apache.myfaces.webapp.AbstractFacesInitializer.buildConfiguration(AbstractFacesInitializer.java:338)
at org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:73)
at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:140)
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:119)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.apache.commons.digester.Digester.parse(Digester.java:1745)
at org.apache.myfaces.config.impl.digester.DigesterFacesConfigUnmarshallerImpl.getFacesConfig(DigesterFacesConfigUnmarshallerImpl.java:309)
at org.apache.myfaces.config.impl.digester.DigesterFacesConfigUnmarshallerImpl.getFacesConfig(DigesterFacesConfigUnmarshallerImpl.java:36)
at org.apache.myfaces.config.DefaultFacesConfigurationProvider.getWebAppFacesConfig(DefaultFacesConfigurationProvider.java:345)
... 21 more
Sep 4, 2012 2:20:42 AM org.apache.catalina.core.ApplicationContext log
SEVERE: StandardWrapper.Throwable
java.lang.IllegalStateException: No Factories configured for this Application. This happens if the faces-initialization does not work at all - make sure that you properly include all configuration settings necessary for a basic faces application and that all the necessary libs are included. Also check the logging output of your web application and your container for any exceptions!
If you did that and find nothing, the mistake might be due to the fact that you use some special web-containers which do not support registering context-listeners via TLD files and a context listener is not setup in your web.xml.
A typical config looks like this;
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
at javax.faces.FactoryFinder._getFactory(FactoryFinder.java:286)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:206)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:116)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Sep 4, 2012 2:20:42 AM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /ilearn threw load() exception
java.lang.IllegalStateException: No Factories configured for this Application. This happens if the faces-initialization does not work at all - make sure that you properly include all configuration settings necessary for a basic faces application and that all the necessary libs are included. Also check the logging output of your web application and your container for any exceptions!
If you did that and find nothing, the mistake might be due to the fact that you use some special web-containers which do not support registering context-listeners via TLD files and a context listener is not setup in your web.xml.
A typical config looks like this;
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
at javax.faces.FactoryFinder._getFactory(FactoryFinder.java:286)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:206)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:116)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Sep 4, 2012 2:20:42 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Sep 4, 2012 2:20:42 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Sep 4, 2012 2:20:42 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/19 config=null
Sep 4, 2012 2:20:42 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 7062 ms
You can use JBoss EL.
Instructions
Download the latest version of Seam 2
Extract lib/jboss-el.jar
Copy it to WEB-INF/lib/jboss-el.jar
In your web.xml set:
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>

Resources