tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rashmi Rubdi <dev_subscripti...@yahoo.com>
Subject Switching between 2 projects, each setup at Tomcat's ROOT context deletes the source folder of the 2nd project.
Date Thu, 09 Nov 2006 14:53:31 GMT
I'm working on 2 different projects and I'm having problems while trying to switch between
2 projects that are both set up at the ROOT context.

My Environment: Tomcat 5.5, Windows XP

On the development environment there are 2 ROOT.xml context files under:
\apache-tomcat-5.5.12\conf\Catalina\localhost\


Only one project is active at any given time. This is done by switching-off the other ROOT.xml
file. 
The other ROOT.xml is named something like ROOT.xml_temp_off


On the *development environment* the docBase attribute of Context in both ROOT.xml refer to
the 
*source* folder, where all the source files are present and not Tomcat's webapps folder. This
is to avoid 
performing an ANT build from source to webapps each time a JSP or static file changes.


The problem is that when I switch the ROOT.xml file from one Project01 to Project02 there
is a conflict between the two projects. 
For example when Project02 is loaded, it tries to load a class file that is actually in Project01.


Setting <Context crossContext="false" in ROOT.xml doesn't solve this problem. 
I have to set antiResourceLocking="true" and antiJARLocking="true" 
in order to make Tomcat release all files for Project01 when I'm trying to load Project02.


But, the problem here is that when I set antiResourceLocking="true" and antiJARLocking="true"
Tomcat *deletes* my entire Project02 source folder.


In order to prevent the folder from being deleted I go through a manual process each time
I need to work on the other project. 
I rename Project02's source folder to source_bak, (to protect it from being deleted by Tomcat)

I start Tomcat with antiResourceLocking="true" and antiJARLocking="true" and make it release
resources for Project01. 
And then I shutdown Tomcat and rename source_bak back to source, and then re-start Tomcat.


The contents of the first ROOT.xml are:
<Context docBase="C:\dev\projects\Site01\__source"
         privileged="false" 
         antiResourceLocking="false" 
         antiJARLocking="false" 
         crossContext="false" 
         reloadable="true" 
         cachingAllowed="false" >
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>
<!-- The above is to prevent this error: SEVERE: IOException while loading persisted sessions:
java.io.EOFException -->
</Context>


The contents of the second ROOT.xml are:
<Context docBase="C:\dev\projects\Site02\__source"
         privileged="false" 
         antiResourceLocking="false" 
         antiJARLocking="false" 
         crossContext="false" 
         reloadable="true" 
         cachingAllowed="false" >
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>
<!-- The above is to prevent this error: SEVERE: IOException while loading persisted sessions:
java.io.EOFException -->
</Context>


Please note that I only change antiResourceLocking="true" and antiJARLocking="true" when switching
from one project to the other.

Some additional info:
Each project also has a context.xml file located under \__source\META-INF\ with contents:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/">
</Context>

I would like to know if there's a way to set up these 2 projects in the development environment
so that switching between the two projects
is a bit easier. That is the __source folder of Project02 *should not be deleted* when I try
to switch the ROOT.xml file from Project01 to Project02


I don't mind the manual process, but sometimes it is error prone, if I forget one step I end
up accidentally deleting the projects source folder
then I have to rely on the IDEs back up to restore the entire project, which is not easy since
it doesn't back up image and xml files. I'm not using Version Control at the moment.


If there's a different / better way to set up 2 project like this I'm open to try other types
of project set up.

Thanks in advance for any help.

-Rashmi



---------------------------------------------------------------------
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