----------------------------------------------------------------
BEFORE YOU POST, search the faq at <http://java.apache.org/faq/>
WHEN YOU POST, include all relevant version numbers, log files,
and configuration files. Don't make us guess your problem!!!
----------------------------------------------------------------
JServ 1.1b3, Blackdown 1.1.8 VM on Linux
mod_jserv on FreeBSD 4.0 / Apache 1.3.12
I am trying to use JServ zones to do version management for a multi-site hosting
environment; to point a given virtual host at a given version of the application
software, I just point it to a different zone (ApJServMount). This means that in
each zone there is a servlet with the *same* class name, e.g.
com.foo.servlet.bar but if I understand right this should be all right since the
Jserv zone separates the classloader namespace?
The servlets also invoke other classes, which I presume are also loaded by the
JServ classloader. We have certain libraries in the base level of the VM (in the
VM classpath, not in any repository) but they are intended to be shared across
all versions.
We have multiple JServs, ApJServBalance etc. all working beautifully with a
single zone. The servlet code is designed to host multiple sites, and this
functionality works 100% for a single zone - note that it does so with JServ
configured for multiple zones. There is nothing special about the zone that
works except that it is first in the "zones=" list in jserv.properties.
When I try to access the second zone, I get a NullPointerException thrown in the
JServ class loader code, logged thus in the jserv.log (stderr from the VM):
java.lang.NullPointerException:
at
org.apache.jserv.JServServletManager.checkReload(JServServletManager.java:408)
at org.apache.jserv.JServConnection.processRequest(JServConnection.java:255)
at org.apache.jserv.JServConnection.run(JServConnection.java:188)
at java.lang.Thread.run(Thread.java)
The zone configs are identical (bar the name) and both versions of the code
check out good when used alone.
All the ApJServRoute etc. stuff just refers to JServ instances; I am assuming
that this will apply to all zones, e.g. that I can sensibly do:
<VirtualHost foo>
ApJServMount /foo balance://appservers/zone1
</VirtualHost>
<VirtualHost bar>
ApJServMount /bar balance://appservers/zone2
</VirtualHost>
Is this (multiple zones, same servlet names) something that simply isn't
supposed to work, or am I doing something dumb?
Cheers
Dave
--
--------------------------------------------------------------
Please read the FAQ! <http://java.apache.org/faq/>
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Search Archives:
<http://www.mail-archive.com/java-apache-users%40list.working-dogs.com/>
Problems?: [EMAIL PROTECTED]