Am Mon, 12 Oct 2009 13:01:44 +0200
schrieb Jesse Long <j...@unknown.za.net>:

> In my webapp I need persistent storage. I am building my webapp as a
> .war file, and copying it into $CATALINE_HOME/webapps/
> 
> Tomcat extracts $CATALINA_HOME/webapps/app.war to
> $CATALINA_HOME/webapps/app/
> 
> The war file contains an empty directory /WEB-INF/data . During
> operations, data files are created under /WEB-INF/data/

WEB-INF should contain only static files which shouldn't be accessible
by Webclients (directly), e.g. by /app/data/filename . So it seems to
be a bad place


> Question: id /WEB-INF/ in the extracted directory the correct place
> for persistent data storage? If not, where is?

AFAIK there is no general advise where to put dynamic, persistent data.
As system administrator I prefer solutions that give me the opportunity
to decide myself where to put dynamic data. There are a lot of reasons
for this: securing against disk space overflow, backup, priviledge
separation, etc.

Following this way you might create a "properties-"file outside the
Tomcat-hierarchy at a sensible place (e.g. /etc/app.properties) with
the paths your application should use. 

Another way is to define a Tomcat-parameter during JVM-startup that will
contain the path to your data-directory. As this might not survive the
next update of Tomcat itself I don't like this kind of configuration
but some applications and classes are working this way.


> My goal is to find a consistent way of creating persistent data
> relative to the context. I dont want to have to configure context
> parameters with data directory paths for each installation.

untested idea: If you have no control over the filesystem of the
target Tomcat you could create a mini-application named data.war that
you are deploying. Of course there is always the danger of accidentally
erasing the data by re-deploying this pseudo-application. And you will
have to find a way by valves, etc. to preserve this path from being
accessed by web-clients. Maybe it is enough if you leave out the
context-entry.


Gruss,
 Tobias.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to