org.apache.catalina.core.StandardHostValve sets the TCCL (thread contextClassLoader) when making calls to a .war application.
After invoking, it should restore the previous value of the TCCL, but instead it sets it (hard-coded) to StandardHostValve's classloader.
This affects any valves that run before StandardHostValve.
The first time they run on any new thread, their TCCL will be JBoss's boot class loader. After StandardHostValve runs on the thread, subsequent calls will have the TCCL set to StandardHostValve's class loader.