一尘不染

在哪里/如何使用tomcat存储持久数据?

tomcat

我应该在Tomcat Web应用程序中的哪里存储持久文件?

  • javax.servlet.context.tempdir不可行,重新部署/删除应用程序后将其删除
  • 不想在servlet初始化参数中使用绝对路径
  • 不能将文件存储在数据库中

阅读 430

收藏
2020-06-16

共1个答案

一尘不染

我们的团队经常这样做。我们遵循的一般规则是在Web应用程序外部和Tomcat外部。

我们的系统管理员在我们的服务器上设置了一个目录,tomcat用户具有rw权限(例如/var/tomcat/persist)。我们在此基础上构建了一个目录结构,tomcat使用该目录结构来存储文件,读取特定于应用程序的初始化文件等。

如果您不想在init参数中为servlet使用绝对路径,请考虑在启动tomcat时设置系统属性。这样做的好处是,在tomcat下运行的每个应用程序都可以访问它。不好的是,在tomcat下运行的每个应用程序都可以访问它。您可以设置一个名为属性,base.persist.dir并为其下面的每个应用程序构建子目录。我们在CATALINA_OPTS环境变量下
bin / 目录中的 setenv.sh 脚本中设置系统属性。 __

2020-06-16