Env: JRE1.6, Tomcat 6.0.14
Following on an earlier thread: I am trying to place the libraries common
to a number of webapp contexts in a common directory (${catalina.home}/myapplib)
and configure the VirtualWebappLoader with the list of jarfiles for loading by
each webapp context.
My problem is that I need to specify the path to the libraries in a
platform-independent manner:
when I attempt
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
virtualClasspath="/home/tomcat/myapplib/activation-1.0.2.jar:..."
/>
it works perfectly. When I however do the following (in an attempt to make it
platform- and location-independent specification), it fails to find the
libraries:
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
virtualClasspath="${catalina.home}/dmslib/activation-1.0.2.jar; ..."
/>
There are three platform/location specific elements here which I need to get
rid of:
1) catalina.home
2) path separator: '\' vs '/' for windoze and *nix)
3) field separate: ';' vs ':' for windoze and *nix)
Is there a way to do this?
Thanks,
/U
-------------- Original message ----------------------
From: "Caldarale, Charles R" <[EMAIL PROTECTED]>
> > From: Caldarale, Charles R [mailto:[EMAIL PROTECTED]
> > Subject: RE: Tomcat 6.0.x Classloader sequence
> >
> > > Is it possible for me to configure the webapp class
> > > loaders to load classes from a path common to multiple
> > > webapps before loading from the webapp itself?
> >
> > Browsing through the Tomcat source does turn up something called
> > VirtualWebappLoader; the comments therein indicate this is intended to
> > provide what you want.
> >
> > I couldn't actually get it to work, but it is intriguing...
>
> With a little more playing around, I did get it to work. Your webapps
> will need a <Context> similar to the following:
>
> <Context>
> <Loader className="org.apache.catalina.loader.VirtualWebappLoader"
> virtualClasspath="C:/dir/classes"/>
> </Context>
>
> I assume if you put this in conf/context.xml, it will apply to all
> webapps. Multiple locations can be given in the virtualClasspath
> attribute by separating them with semicolons; each jar must be specified
> separately.
>
> Using the MBeans tab of JConsole, you can see the paths used by each
> individual classloader; look in the Catalina -> Loader -> <appname> ->
> <hostname> -> Attributes for classpath.
>
> - Chuck
>
>
> THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
> MATERIAL and is thus for use only by the intended recipient. If you
> received this in error, please contact the sender and delete the e-mail
> and its attachments from all computers.
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: [email protected]
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]