You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Pavel Janoušek <ja...@fonet.cz> on 2008/02/14 14:23:32 UTC
in server.xml and JSP - classloader problem?
Hello,
I discovered some terrible situation yesterday...
When my server.xml consists of:
-------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<Server
port="8005"
shutdown="SHUTDOWN"
>
<Listener
className="org.apache.catalina.core.AprLifecycleListener"
/>
<Listener
className="org.apache.catalina.mbeans.ServerLifecycleListener"
/>
<Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
/>
<Listener
className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"
/>
<GlobalNamingResources>
<Resource
name="jdbc/SagittaDB"
.....
/>
</GlobalNamingResources>
<!-- Define the Tomcat Stand-Alone Service -->
<Service
name="Catalina"
>
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector
address="127.0.0.1"
port="8009"
enableLookups="false"
protocol="AJP/1.3"
maxSpareThreads="10"
minSpareThreads="1"
/>
<!-- Define an AJP 1.3 SSL Connector on port 8443 -->
<Connector
address="127.0.0.1"
port="8443"
enableLookups="false"
protocol="AJP/1.3"
maxSpareThreads="10"
minSpareThreads="1"
scheme="https"
secure="true"
/>
<Engine
name="Catalina"
defaultHost="localhost"
>
<Host
name="paja-devel.fonet.cz"
appBase="webapps"
unpackWARs="false"
autoDeploy="false"
deployOnStartup="false"
deployXML="true"
xmlValidation="false"
xmlNamespaceAware="true"
debug="255"
>
<Context
path="/SagittaWebShop"
docBase="../../eclipse/workspace/SagittaWebShop/web"
reloadable="true"
>
<Realm
className="org.apache.catalina.realm.DataSourceRealm"
debug="99"
dataSourceName="jdbc/KaratDB"
userTable="dba.user_jsf_webusr"
userNameCol="usr_login"
userCredCol="usr_pass"
userRoleTable="dba.user_jsf_webusr"
roleNameCol="usr_role"
localDataSource="true"
/>
<ResourceLink
name="jdbc/KaratDB"
global="jdbc/SagittaDB"
type="javax.sql.DataSource"
/>
</Context>
</Host>
</Engine>
</Service>
</Server>
------------------------------------------------------
all is all-right.
But when I modify context config as:
-------------------------------------
<Context
path="/SagittaWebShop"
docBase="../../eclipse/workspace/SagittaWebShop/web"
reloadable="true"
>
<Loader
reloadable="true"
checkInterval="1"
/>
<Realm
className="org.apache.catalina.realm.DataSourceRealm"
debug="99"
dataSourceName="jdbc/KaratDB"
userTable="dba.user_jsf_webusr"
userNameCol="usr_login"
userCredCol="usr_pass"
userRoleTable="dba.user_jsf_webusr"
roleNameCol="usr_role"
localDataSource="true"
/>
<ResourceLink
name="jdbc/KaratDB"
global="jdbc/SagittaDB"
type="javax.sql.DataSource"
/>
</Context>
---------------------------------------
- yes, only added <Loader .../> section, I got a error (catalina.log):
-----------------------------------
14.2.2008 13:46:08 org.apache.catalina.core.ApplicationContext log
SEVERE: Error loading WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
sun.misc.Launcher$AppClassLoader@cc7ad6
org.apache.jasper.servlet.JspServlet
java.lang.ClassNotFoundException: org.apache.jasper.servlet.JspServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1068)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
14.2.2008 13:46:08 org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /SagittaWebShop threw load() exception
java.lang.ClassNotFoundException: org.apache.jasper.servlet.JspServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1068)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
14.2.2008 13:46:08 org.apache.commons.modeler.Registry registerComponent
SEVERE: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//paja-devel.fonet.cz/SagittaWebShop,J2EEApplication=none,J2EEServer=none
-----------------------------------------------
This happened in version of Tomcat 5.5.10 and newer... I'm running Tomcat 5.5.9 for a long time without any error(s), but yesterday I'm preparing upgrade of some servers and try tu update to 5.5.26...
In production server(s) isn't necessarily define <Loader... /> section, but in developing environment...
So is some possible solution of this problem (some config) or it is a BUG in Tomcat 5.5. from 5.5.10?
Any ideas?
King regards
Ing. Pavel Janoušek
technická podpora
E-mail: janousek@fonet.cz
FoNet, spol. s r.o.
Za Kovárnou 1, 625 00 Brno
Tel.: +420 543 244 749
Fax.: +420 543 244 751
WWW : http://WWW.FoNet.Cz/
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
RE: in server.xml and JSP - classloader problem?
Posted by Pavel Janoušek <ja...@fonet.cz>.
Filip Hanik - Dev Lists <ma...@hanik.com> wrote:
> I'd probably try to set
>> useSystemClassLoaderAsParent="false"
>
>> http://tomcat.apache.org/tomcat-5.5-doc/config/loader.html
Thanks, this resolve my problem.
Ing. Pavel Janoušek
technická podpora
E-mail: janousek@fonet.cz
FoNet, spol. s r.o.
Za Kovárnou 1, 625 00 Brno
Tel.: +420 543 244 749
Fax.: +420 543 244 751
WWW : http://WWW.FoNet.Cz/
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: in server.xml and JSP - classloader problem?
Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
I'd probably try to set
|useSystemClassLoaderAsParent="false"
|http://tomcat.apache.org/tomcat-5.5-doc/config/loader.html
Filip
Pavel Janoušek wrote:
> Hello,
>
> I discovered some terrible situation yesterday...
>
> When my server.xml consists of:
>
> -------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
>
> <Server
> port="8005"
> shutdown="SHUTDOWN"
>
>
> <Listener
> className="org.apache.catalina.core.AprLifecycleListener"
> />
> <Listener
> className="org.apache.catalina.mbeans.ServerLifecycleListener"
> />
> <Listener
> className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
> />
> <Listener
> className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"
> />
>
> <GlobalNamingResources>
>
> <Resource
> name="jdbc/SagittaDB"
> .....
> />
>
> </GlobalNamingResources>
>
> <!-- Define the Tomcat Stand-Alone Service -->
> <Service
> name="Catalina"
> >
>
> <!-- Define an AJP 1.3 Connector on port 8009 -->
> <Connector
> address="127.0.0.1"
> port="8009"
> enableLookups="false"
> protocol="AJP/1.3"
> maxSpareThreads="10"
> minSpareThreads="1"
> />
>
> <!-- Define an AJP 1.3 SSL Connector on port 8443 -->
> <Connector
> address="127.0.0.1"
> port="8443"
> enableLookups="false"
> protocol="AJP/1.3"
> maxSpareThreads="10"
> minSpareThreads="1"
> scheme="https"
> secure="true"
> />
>
> <Engine
> name="Catalina"
> defaultHost="localhost"
> >
>
> <Host
> name="paja-devel.fonet.cz"
> appBase="webapps"
> unpackWARs="false"
> autoDeploy="false"
> deployOnStartup="false"
> deployXML="true"
> xmlValidation="false"
> xmlNamespaceAware="true"
> debug="255"
> >
>
> <Context
> path="/SagittaWebShop"
> docBase="../../eclipse/workspace/SagittaWebShop/web"
> reloadable="true"
> >
>
> <Realm
> className="org.apache.catalina.realm.DataSourceRealm"
> debug="99"
> dataSourceName="jdbc/KaratDB"
> userTable="dba.user_jsf_webusr"
> userNameCol="usr_login"
> userCredCol="usr_pass"
> userRoleTable="dba.user_jsf_webusr"
> roleNameCol="usr_role"
> localDataSource="true"
> />
>
> <ResourceLink
> name="jdbc/KaratDB"
> global="jdbc/SagittaDB"
> type="javax.sql.DataSource"
> />
> </Context>
> </Host>
> </Engine>
> </Service>
> </Server>
> ------------------------------------------------------
>
> all is all-right.
>
> But when I modify context config as:
>
> -------------------------------------
> <Context
> path="/SagittaWebShop"
> docBase="../../eclipse/workspace/SagittaWebShop/web"
> reloadable="true"
>
>
> <Loader
> reloadable="true"
> checkInterval="1"
> />
>
> <Realm
> className="org.apache.catalina.realm.DataSourceRealm"
> debug="99"
> dataSourceName="jdbc/KaratDB"
> userTable="dba.user_jsf_webusr"
> userNameCol="usr_login"
> userCredCol="usr_pass"
> userRoleTable="dba.user_jsf_webusr"
> roleNameCol="usr_role"
> localDataSource="true"
> />
>
> <ResourceLink
> name="jdbc/KaratDB"
> global="jdbc/SagittaDB"
> type="javax.sql.DataSource"
> />
> </Context>
> ---------------------------------------
>
> - yes, only added <Loader .../> section, I got a error (catalina.log):
>
> -----------------------------------
> 14.2.2008 13:46:08 org.apache.catalina.core.ApplicationContext log
> SEVERE: Error loading WebappClassLoader
> delegate: false
> repositories:
> /WEB-INF/classes/
> ----------> Parent Classloader:
> sun.misc.Launcher$AppClassLoader@cc7ad6
> org.apache.jasper.servlet.JspServlet
> java.lang.ClassNotFoundException: org.apache.jasper.servlet.JspServlet
> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
> at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1068)
> at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
> at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
> at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> at org.apache.catalina.core.StandardService.start(StandardService.java:448)
> at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
> 14.2.2008 13:46:08 org.apache.catalina.core.StandardContext loadOnStartup
> SEVERE: Servlet /SagittaWebShop threw load() exception
> java.lang.ClassNotFoundException: org.apache.jasper.servlet.JspServlet
> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
> at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1068)
> at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
> at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
> at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> at org.apache.catalina.core.StandardService.start(StandardService.java:448)
> at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
> 14.2.2008 13:46:08 org.apache.commons.modeler.Registry registerComponent
> SEVERE: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//paja-devel.fonet.cz/SagittaWebShop,J2EEApplication=none,J2EEServer=none
> -----------------------------------------------
>
> This happened in version of Tomcat 5.5.10 and newer... I'm running Tomcat 5.5.9 for a long time without any error(s), but yesterday I'm preparing upgrade of some servers and try tu update to 5.5.26...
>
> In production server(s) isn't necessarily define <Loader... /> section, but in developing environment...
>
> So is some possible solution of this problem (some config) or it is a BUG in Tomcat 5.5. from 5.5.10?
>
> Any ideas?
>
> King regards
>
> Ing. Pavel Janoušek
> technická podpora
>
> E-mail: janousek@fonet.cz
> FoNet, spol. s r.o.
> Za Kovárnou 1, 625 00 Brno
> Tel.: +420 543 244 749
> Fax.: +420 543 244 751
> WWW : http://WWW.FoNet.Cz/
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
>
>
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org