Hi Larry, my virtual host configuration seems fine to me. I suppose it is a problem of configuring the class loader!? I have a separate 'work' directory for each virtual host. And of course I store all classes, .jsp and so on in the WEB-INF directory of each virtual host's application.
When I look into the 'work' directories I can see, that in each one there are the following files: ls -ltr /var/tomcat/www.tiade-voboe.de/wapps_2FjRolodex total 29 drwxr-xr-x 4 root root 104 Jan 9 23:49 .. -rw-r--r-- 1 root root 1 Jan 9 23:49 webxmlval.txt -rw-r--r-- 1 root root 8768 Jan 9 23:49 numguess_1.java -rw-r--r-- 1 root root 4827 Jan 9 23:49 numguess_1.class -rw-r--r-- 1 root root 1 Jan 9 23:49 numguess.ver drwxr-xr-x 2 root root 176 Jan 9 23:49 . ls -ltr /var/tomcat/javadex.tiade-voboe.de/wapps_2FjRolodex total 29 drwxr-xr-x 4 root root 104 Jan 9 23:49 .. -rw-r--r-- 1 root root 1 Jan 9 23:49 webxmlval.txt -rw-r--r-- 1 root root 8720 Jan 9 23:49 numguess_1.java -rw-r--r-- 1 root root 1 Jan 9 23:49 numguess.ver -rw-r--r-- 1 root root 4827 Jan 9 23:49 numguess_1.class drwxr-xr-x 2 root root 176 Jan 9 23:49 . Looks great, doesn't it. But I get the error regardless! Not so cheerfull ;) Martin Am Mittwoch, 9. Januar 2002 15:12 schrieb Larry Isaacs: > Hi Martin, > > I'm not sure why you are getting the exception. As > far as I know, what you are attempting should work. > I would recommend moving the <AutoWebApp> out of the > <Host> declarations an putting them in server.xml. > I believe they will still do what you expect if placed > there. I don't know if there are side effects if you > try to use it context local. > > There should be separate work directories created > for both virtual hosts. Each should compile its > own numguess.jsp. Try setting the debug level on > <SimpleMapper1> to 1 and check the log for > "Host = ..." and make sure the request is going > to the virtual host you expect. > > I'll see if I can try some experiments and see if > I can duplicat this when I get a chance. > > Cheers, > Larry > > > -----Original Message----- > > From: Martin v. Boehlen [mailto:[EMAIL PROTECTED]] > > Sent: Tuesday, January 08, 2002 5:05 PM > > To: [EMAIL PROTECTED] > > Subject: class loading tc 3.3 & virtual hosts > > > > > > Greetings Users, > > > > is it possible to use two completely separate virtual hosts > > with tomcat ? > > What I want to do is using two virtual hosts on the same box. > > One for real web serving and one for development. > > > > My problems so far are: > > 1. Class loading - > > Can I configure tomcat in a way that classes don't > > interfere between virtual hosts ? > > 2. Context scope - > > Can I use JkMount with a single path for all > > applications ? > > 3. Host aliases > > Can I do an 'AutoWebApp' for an 'Alias' and > > a full host name at the same time ? > > > > Please note, that: > > The application name is 'jRolodex', but I used the > > 'numguess.jsp' > > example for testing. > > 'www' is the web host and > > 'javadex' is the development host. > > > > A 'build.sh all' copies the application files to host 'javadex' > > i.e. the 'docBase' directory of virtual host > > 'javadex.tiade-voboe.de'. > > > > A 'build.sh dist' produces a 'jRolodex.war' and a 'jRoldex.jar' > > in the 'docBase' directory of host 'www.tiade-voboe.de'. > > > > Before I plunge into the details, please look at the partial > > config files, stack and SW version at the end of this mail. > > > > Now the gory details: > > > > ad 1. When i change some code in the application and afterwards do a > > 'build.sh all' for application 'jRolodex' without doing a > > 'build.sh dist', the first virtual server I hit works fine! > > No matter wether it is 'www' or 'javadex'. > > The second server always gets an 'Error 500' (see error stack at > > end of mail). > > It seems to me, that tomcat does not load the appropriate class > > definitions. > > > > ad 2. I tried to use '/wapps' as the context path (with and without a > > 'prefix' in 'AutoWebApp') because I wanted something like > > 'JkMount /wapps' in 'httpd.conf'. It didn't work. So I have > > to mount every application explicitly. > > > > ad 3. I tried to use the 'Alias' definition in 'AutoWebApp'. I.e.: > > <AutoWebApp dir="/usr/local/httpd/webapps/javadex" > > prefix="/wapps" > > host="javadex" /> > > It worked fine but it didn't work for > > 'javadex.tiade-voboe.de' (and > > vice versa). > > > > > > <!-- --------------- httpd.conf START > > ---------------------------------- --> > > # ----- The Waltons, Daltons, everyone > > <VirtualHost www.tiade-voboe.de:80> > > ServerAdmin [EMAIL PROTECTED] > > ServerName www.tiade-voboe.de > > DocumentRoot "/usr/local/httpd/htdocs/www" > > ServerAlias www www.tiade-voboe.de > > > > <Directory "/usr/local/httpd/htdocs/www" > > > Options Indexes -FollowSymLinks -Includes +MultiViews > > Order deny,allow > > Allow from all > > </Directory> > > > > JkMount /*.jsp ajp13 > > JkMount /wapps/jRolodex ajp13 > > JkMount /wapps/jRolodex/* ajp13 > > </VirtualHost> > > > > # ----- Tomcat developer > > <VirtualHost javadex.tiade-voboe.de:80> > > ServerAdmin [EMAIL PROTECTED] > > ServerName javadex.tiade-voboe.de > > DocumentRoot "/usr/local/httpd/htdocs/javadex" > > ServerAlias javadex javadex.tiade-voboe.de > > > > # ----- Here comes the directory accessible by all users > > of the local > > network > > <Directory "/usr/local/httpd/htdocs/javadex" > > > Options Indexes +FollowSymLinks -Includes +MultiViews > > Order allow,deny > > Allow from 192.168.17.0/255.255.255.0 > > </Directory> > > > > JkMount /*.jsp ajp13 > > JkMount /wapps/jRolodex ajp13 > > JkMount /wapps/jRolodex/* ajp13 > > </VirtualHost> > > <!-- --------------- httpd.conf END > > ------------------------------------ --> > > > > <!-- --------------- apps-vhosts.xml START > > ----------------------------- --> > > <?xml version="1.0" encoding="ISO-8859-1"?> > > <Server> > > > > > > <Host name="www.tiade-voboe.de"> > > <Alias name="www" /> > > <Context path="" > > docBase="/usr/local/httpd/webapps/www" > > debug="0" > > reloadable="False" > > > <SimpleRealm filename="conf/users/example-users.xml" /> > > <LogSetter name="www_tc.log" > > path="/var/log/tomcat/www_tc.log" > > verbosityLevel="ERROR"/> > > <LogSetter name="www_servlet_log" > > path="/var/log/tomcat/www_servlet.log" > > servletLogger="true" > > verbosityLevel = "ERROR"/> > > <AutoDeploy source="/usr/local/httpd/webapps/www" > > target="/usr/local/httpd/webapps/www" /> > > <AutoWebApp dir="/usr/local/httpd/webapps/www" > > prefix="/wapps" > > host="www.tiade-voboe.de" /> > > </Context> > > </Host> > > > > > > <Host name="javadex.tiade-voboe.de"> > > <Alias name="javadex" /> > > <Context path="" > > docBase="/usr/local/httpd/webapps/javadex" > > debug="99" > > reloadable="True" > > <SimpleRealm filename="conf/users/example-users.xml" /> > > <LogSetter name="javadex_tc.log" > > path="/var/log/tomcat/javadex_tc.log" > > verbosityLevel = "DEBUG"/> > > <LogSetter name="javadex_servlet_log" > > path="/var/log/tomcat/javadex_servlet.log" > > servletLogger="DEBUG"/> > > <AutoWebApp dir="/usr/local/httpd/webapps/javadex" > > prefix="/wapps" > > host="javadex.tiade-voboe.de" /> > > </Context> > > </Host> > > > > > > </Server> > > > > <!-- --------------- apps-vhosts.xml END > > ------------------------------- --> > > > > > > <!-- --------------- Error stack START - > > ------------------------------- --> > > Error: 500Location: /wapps/jRolodex/numguess.jspInternal > > Servlet Error: > > org.apache.jasper.JasperException: object is not an instance > > of declaring > > class > > at > > org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(U > > nknown Source) > > at > > org.apache.jasper.runtime.JspRuntimeLibrary.introspect(Unknown > > Source) > > at numguess_1._jspService(numguess_1.java:84) > > at > > org.apache.jasper.runtime.HttpJspBase.service(Unknown Source) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java) > > at > > org.apache.tomcat.facade.ServletHandler.doService(Unknown Source) > > at org.apache.tomcat.core.Handler.invoke(Unknown Source) > > at org.apache.tomcat.core.Handler.service(Unknown Source) > > at > > org.apache.tomcat.facade.ServletHandler.service(Unknown Source) > > at > > org.apache.tomcat.core.ContextManager.internalService(Unknown > > Source) > > at > > org.apache.tomcat.core.ContextManager.service(Unknown Source) > > at > > org.apache.tomcat.modules.server.Ajp13Interceptor.processConne > > ction(Unknown > > Source) > > at > > org.apache.tomcat.util.net.TcpWorkerThread.runIt(Unknown Source) > > at > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( > > Unknown Source) > > at java.lang.Thread.run(Thread.java:539) > > Root cause: > > java.lang.IllegalArgumentException: object is not an instance > > of declaring > > class > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess > > orImpl.java:42) > > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth > > odAccessorImpl.java:28) > > at java.lang.reflect.Method.invoke(Method.java:327) > > at > > org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(U > > nknown Source) > > at > > org.apache.jasper.runtime.JspRuntimeLibrary.introspect(Unknown > > Source) > > at numguess_1._jspService(numguess_1.java:84) > > at > > org.apache.jasper.runtime.HttpJspBase.service(Unknown Source) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java) > > at > > org.apache.tomcat.facade.ServletHandler.doService(Unknown Source) > > at org.apache.tomcat.core.Handler.invoke(Unknown Source) > > at org.apache.tomcat.core.Handler.service(Unknown Source) > > at > > org.apache.tomcat.facade.ServletHandler.service(Unknown Source) > > at > > org.apache.tomcat.core.ContextManager.internalService(Unknown > > Source) > > at > > org.apache.tomcat.core.ContextManager.service(Unknown Source) > > at > > org.apache.tomcat.modules.server.Ajp13Interceptor.processConne > > ction(Unknown > > Source) > > at > > org.apache.tomcat.util.net.TcpWorkerThread.runIt(Unknown Source) > > at > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( > > Unknown Source) > > at java.lang.Thread.run(Thread.java:539) > > <!-- --------------- Error stack > > END------------------------------- --> > > > > > > <!-- --------------- Software versions START > > ---------------------- --> > > <!-- ---- Server side --> > > srv01:~ # uname -a > > Linux srv01.tiade-voboe.de 2.4.16 #38 SMP Fri Dec 28 20:37:27 > > CET 2001 i686 > > unknown > > srv01:~ # java -version > > java version "1.4.0-beta3" > > Java(TM) 2 Runtime Environment, Standard Edition (build > > 1.4.0-beta3-b84) > > Java HotSpot(TM) Client VM (build 1.4.0-beta3-b84, mixed mode) > > srv01:~ # file /usr/local/httpd/tomcat > > /usr/local/httpd/tomcat: symbolic link to jakarta-tomcat-3.3 > > > > <!-- ---- Client side --> > > martin@maptop:~ > java -version > > java version "1.3.1_02" > > Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_02-b02) > > Java HotSpot(TM) Client VM (build 1.3.1_02-b02, mixed mode) > > martin@maptop:~ >konqueror --version > > Qt: 2.3.0 > > KDE: 2.1.2 > > Konqueror: 2.1.1 > > <!-- --------------- Software versions END > > ------------------------ --> > > > > -- > > To unsubscribe: <mailto:[EMAIL PROTECTED]> > > For additional commands: <mailto:[EMAIL PROTECTED]> > > Troubles with the list: <mailto:[EMAIL PROTECTED]> > > -- > To unsubscribe: <mailto:[EMAIL PROTECTED]> > For additional commands: <mailto:[EMAIL PROTECTED]> > Troubles with the list: <mailto:[EMAIL PROTECTED]> -- To unsubscribe: <mailto:[EMAIL PROTECTED]> For additional commands: <mailto:[EMAIL PROTECTED]> Troubles with the list: <mailto:[EMAIL PROTECTED]>