On 20/05/2015 18:30, Ed Rouse wrote: > Server version: Apache Tomcat/8.0.14 > Server built: Sep 24 2014 09:01:51 > Server number: 8.0.14.0 > OS Name: Linux > OS Version: 3.8.0-29-generic > Architecture: amd64 > JVM Version: 1.7.0_55-b14 > JVM Vendor: Oracle Corporation > > I have implemented a custom WebappClassLoaderBase and StandardRoot, and it > looks like it is working; but the resources added are not available to the > web app. What follows is a bit long and I apologize for that, but didn't want > to leave out potentially important information. Any ideas on what's wrong?
Thanks for all the info. I can't see anything obviously wrong in what you posted. I'd fire up a debugger and step through the StandardRoot.getResource() call and check: - You see the StandardRoot instance you expect to see - The DirResourceSet is present - Follow the code to see why the resource isn't looked up in your DirResourceSet HTH, Mark > > This is the code snippet: > > wsRoot = IDWMPluginRegistry.getInstance().getWebRoot(); > log.info("IDWMClassLoader init: " + wsRoot.getContext().getName()); > Set<IDWMPlugin> plugins = IDWMPluginRegistry.getInstance().getPlugins(); > for(IDWMPlugin plugin: plugins) > { > log.info("Loading plugin: " + plugin.getLoaderClassName()); > try > { > if(wsRoot == null) > { > log.info("wsRoot not set."); > wsRoot = new StandardRoot(); > } > if(wsRoot.getContext() == null) > { > throw new Exception("NO CONTEXT!!!!!!!"); > } > File pFile = plugin.getRoot(); > log.info("Adding plugin root " + pFile.getAbsolutePath() + " to the > WebResourceRoot as a DirResourceSet."); > > DirResourceSet drs = new DirResourceSet(wsRoot, "/", > pFile.getAbsolutePath(), "/"); > log.info("DirResourceSet base URL = " + drs.getBaseUrl().toString()); > wsRoot.addPostResources(drs); > } > catch(Exception e) > { > log.log(Level.SEVERE, "Error setting up class path", e); > } > } > > And here is the catalina.out log pertaining to this section of code. > > 17-May-2015 23:27:52.399 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web > application directory /usr/local/apache-tomcat-8.0.14/webapps/ROOT > 17-May-2015 23:27:53.243 INFO [localhost-startStop-1] > org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned > for TLDs yet contained no TLDs. Enable debug logging for this logger for a > complete list of JARs that were scanned but no TLDs were found in them. > Skipping unneeded JARs during scanning can improve startup time and JSP > compilation time. > 17-May-2015 23:27:53.385 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web > application directory /usr/local/apache-tomcat-8.0.14/webapps/ROOT has > finished in 986 ms > 17-May-2015 23:27:53.388 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web > application directory /usr/local/apache-tomcat-8.0.14/webapps/idwm > 17-May-2015 23:27:53.424 INFO [localhost-startStop-1] > com.comsquared.idw.catalina.ext.IDWMFileDirContext.<init> Default Constructor. > 17-May-2015 23:27:53.425 INFO [localhost-startStop-1] > com.comsquared.idw.catalina.ext.IDWMFileDirContext.importPlugins System > property idwm.plugins not set; using default plugin path /usr/us/idwm/plugins > 17-May-2015 23:27:53.431 INFO [localhost-startStop-1] > com.comsquared.idw.catalina.ext.IDWMFileDirContext.importFromDirectory Found > plugin at /usr/us/idwm/plugins/idw-plugins-role_change_attribute_audit > 17-May-2015 23:27:54.146 INFO [localhost-startStop-1] > com.comsquared.idw.catalina.ext.IDWMClassLoader.<init> parent > constructor.class java.net.URLClassLoader > 17-May-2015 23:27:54.147 INFO [localhost-startStop-1] > com.comsquared.idw.catalina.ext.IDWMClassLoader.init IDWMClassLoader init: > /idwm > 17-May-2015 23:27:54.148 INFO [localhost-startStop-1] > com.comsquared.idw.catalina.ext.IDWMClassLoader.init Loading plugin: > idwplugin.RoleChangeAttributeAudit.RoleChangeAttributeAuditPluginLoader > 17-May-2015 23:27:54.148 INFO [localhost-startStop-1] > com.comsquared.idw.catalina.ext.IDWMClassLoader.init Adding plugin root > /usr/us/idwm/plugins/idw-plugins-role_change_attribute_audit to the > WebResourceRoot as a DirResourceSet. > 17-May-2015 23:27:54.148 INFO [localhost-startStop-1] > com.comsquared.idw.catalina.ext.IDWMClassLoader.init DirResourceSet base URL > = file:/usr/us/idwm/plugins/idw-plugins-role_change_attribute_audit/ > 17-May-2015 23:28:05.198 INFO [localhost-startStop-1] > com.comsquared.idwm.DataSourceFactory.getObjectInstance Get JNDI datasource > ImageDirectorWorkflowDS from app config > log4j:WARN No such property [maxBackupIndex] in > org.apache.log4j.DailyRollingFileAppender. > 17-May-2015 23:28:15.367 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web > application directory /usr/local/apache-tomcat-8.0.14/webapps/idwm has > finished in 21,978 ms > 17-May-2015 23:28:15.371 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web > application directory /usr/local/apache-tomcat-8.0.14/webapps/docs > 17-May-2015 23:28:15.425 INFO [localhost-startStop-1] > org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned > for TLDs yet contained no TLDs. Enable debug logging for this logger for a > complete list of JARs that were scanned but no TLDs were found in them. > Skipping unneeded JARs during scanning can improve startup time and JSP > compilation time. > 17-May-2015 23:28:15.452 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web > application directory /usr/local/apache-tomcat-8.0.14/webapps/docs has > finished in 82 ms > 17-May-2015 23:28:15.453 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web > application directory /usr/local/apache-tomcat-8.0.14/webapps/examples > 17-May-2015 23:28:15.983 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web > application directory /usr/local/apache-tomcat-8.0.14/webapps/examples has > finished in 530 ms > 17-May-2015 23:28:15.984 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web > application directory /usr/local/apache-tomcat-8.0.14/webapps/host-manager > 17-May-2015 23:28:16.046 INFO [localhost-startStop-1] > org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned > for TLDs yet contained no TLDs. Enable debug logging for this logger for a > complete list of JARs that were scanned but no TLDs were found in them. > Skipping unneeded JARs during scanning can improve startup time and JSP > compilation time. > 17-May-2015 23:28:16.054 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web > application directory /usr/local/apache-tomcat-8.0.14/webapps/host-manager > has finished in 69 ms > 17-May-2015 23:28:16.057 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployDirectory Deploying web > application directory /usr/local/apache-tomcat-8.0.14/webapps/manager > 17-May-2015 23:28:16.121 INFO [localhost-startStop-1] > org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned > for TLDs yet contained no TLDs. Enable debug logging for this logger for a > complete list of JARs that were scanned but no TLDs were found in them. > Skipping unneeded JARs during scanning can improve startup time and JSP > compilation time. > 17-May-2015 23:28:16.125 INFO [localhost-startStop-1] > org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web > application directory /usr/local/apache-tomcat-8.0.14/webapps/manager has > finished in 68 ms > 17-May-2015 23:28:16.169 INFO [main] org.apache.coyote.AbstractProtocol.start > Starting ProtocolHandler ["http-nio-8080"] > 17-May-2015 23:28:16.179 INFO [main] org.apache.coyote.AbstractProtocol.start > Starting ProtocolHandler ["ajp-nio-8009"] > 17-May-2015 23:28:16.180 INFO [main] > org.apache.catalina.startup.Catalina.start Server startup in 23891 ms > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org