The following entries are within the Changelog so it looks like what I am trying to do is now invalid? Can anyone suggest an alternative way to achieve the same result of a single code base with multiple contexts?
Change Logs:- Make context deployment error message for fixDocBase() more meaningful. (markt) 38570: When checking docBase against appBase, make sure we check for an exact match against the appBase. (markt) 39013: When testing for invalid docBase, test for an exact match with the appBase dir. (markt) 42678: Only ignore docBase if it really is a subdir of appBase. Patch provided by juergen. (markt) > -----Original Message----- > From: Rob Gregory [mailto:rob.greg...@ibsolutions.com] > Sent: 09 November 2010 16:44 > To: Tomcat Users List > Subject: RE: Single webapp multiple contexts > > Just to expand on this a little. I have previously had something working > but that was on Tomcat 5.5.9, The same trick no longer seems to work > under 6.0.29. > > I basically created a context like > > <Context swallowOutput="false" reloadable="false" useHttpOnly="true" > path="/B" > docBase="${catalina.home}/webapps/myapp" /> > > which used an already deployed copy of our webapp. This did work under > 5.5.9 but fails with the following error under 6.0.29. Has this > functionality changed and if so is this sort of trick not a good idea? > > INFO: Deploying configuration descriptor A.xml > 09-Nov-2010 16:37:21 org.apache.catalina.startup.HostConfig > deployDescriptor > WARNING: A docBase C:\intweb\0600\webapps\myapp inside the host appBase > has be > en specified, and will be ignored > 09-Nov-2010 16:37:21 org.apache.catalina.core.StandardContext > resourcesStart > SEVERE: Error starting static Resources > java.lang.IllegalArgumentException: Document base > C:\intweb\0600\webapps\A does > not exist or is not a readable directory > at > org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext. > java:142) > at > org.apache.catalina.core.StandardContext.resourcesStart(StandardConte > xt.java:4249) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4 > 418) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase > .java:791) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:77 > 1) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546) > > at > org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.ja > va:637) > at > org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.j > ava:563) > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498 > ) > at > org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) > at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java > :321) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl > eSupport.java:119) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) > > at > org.apache.catalina.core.StandardHost.start(StandardHost.java:785) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) > > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445 > ) > at > org.apache.catalina.core.StandardService.start(StandardService.java:5 > 19) > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:710 > ) > at org.apache.catalina.startup.Catalina.start(Catalina.java:581) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. > java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces > sorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) > at > org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) > 09-Nov-2010 16:37:21 org.apache.catalina.core.StandardContext start > SEVERE: Error in resourceStart() > 09-Nov-2010 16:37:21 org.apache.catalina.core.StandardContext start > SEVERE: Error getConfigured > 09-Nov-2010 16:37:21 org.apache.catalina.core.StandardContext start > SEVERE: Context [/A] startup failed due to previous errors > > Thanks > Rob > > > > From: Rob Gregory [mailto:rob.greg...@ibsolutions.com] > > Sent: 09 November 2010 16:22 > > To: Tomcat Users List > > Subject: Single webapp multiple contexts > > > > Hello Tomcat Users, > > > > > > > > I am trying to create multiple 'dynamic' contexts using just a single > > code base. For example we currently deploy a webapps within a context > of > > let's say 'A'. This listens quite happily for requests coming in the > > form of http://localhost/A/index.htm. What I need to be able to do is > > have this same code base also listen for requests in the form of > > http://localhost/B/index.htm. I have played with using 'fake' > > context.xml e.g. > > > > > > > > A.xml = <Context useHttpOnly="true" docBase="C:/0600/ieseries.war" > > path="/A" /> > > > > B.xml = <Context useHttpOnly="true" docBase="C:/0600/ieseries.war" > > path="/B" /> > > > > > > > > This seems to work but the war is expanded into both contexts and what > I > > really need is a single code base preferably without the requirement > of > > using a .war file. I have looked at virtual hosts but this seems to > > involve changing the host name which is also not what I am trying to > > achieve. > > > > > > > > Using Tomcat 6.0.29 under Java(TM) SE Runtime Environment (build > > 1.6.0_14-b08). CATALINA_HOME is C:/0600. > > > > > > > > Can anyone give me a gentle push in the right direction if this is at > > all possible. > > > > > > > > Thanks in advance. > > > > > > > > Rob > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org