I pulled down the latest code in trunk today, built it and noticed a problem 
with an application where I had the context's "reloadable" attribute set to 
"true".  To make sure it wasn't something with my app, I tried replicating the 
issue with the examples application (I just set reloadable to true in 
"conf/Catalina/localhost/examples.xml") and I was able to reproduce it.  

Here's the exception I'm seeing in catalina.out, which repeats until I shutdown 
the server.

06-Nov-2013 12:24:01.288 WARNING 
[ContainerBackgroundProcessor[StandardEngine[Catalina]]] 
org.apache.catalina.core.StandardContext.backgroundProcess Exception processing 
loader WebappLoader[/examples] background process
 java.lang.IllegalArgumentException
        at 
org.apache.catalina.webresources.StandardRoot.getClassLoaderResource(StandardRoot.java:202)
        at 
org.apache.catalina.loader.WebappClassLoader.modified(WebappClassLoader.java:723)
        at 
org.apache.catalina.loader.WebappLoader.modified(WebappLoader.java:346)
        at 
org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:290)
        at 
org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:5601)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1358)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1362)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1362)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1336)
        at java.lang.Thread.run(Thread.java:744)

I attached a debugger and looked at the point where the exception is being 
thrown.

    @Override
    public WebResource getClassLoaderResource(String path) {
        if (path == null || path.length() == 0 || !path.startsWith("/")) {
            throw new IllegalArgumentException();
        }
        return getResource("/WEB-INF/classes" + path, true, true);
    }

It seems that path does not start with "/" thus the IllegalArgumentException.  
The debugger lists path as 
"org/apache/taglibs/standard/lang/jstl/test/beans/PublicInterface2.class".

Is this possibly related to the recent changes listed here?

http://mail-archives.apache.org/mod_mbox/tomcat-dev/201311.mbox/%[email protected]%3e

Thanks

Dan
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to