tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pavel Janoušek <janou...@fonet.cz>
Subject <Loader> in server.xml and JSP - classloader problem?
Date Thu, 14 Feb 2008 13:23:32 GMT
	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


Mime
View raw message