在我使用 tomcat 作为应用程序服务器的 Java Web 应用程序中,我对在部署/重新部署应用程序时将不同的值传递给特定属性的应用程序感兴趣。
我知道有几种方法:
- 一种是通过 JVM 选项传递给 setenv.sh 文件中设置的 tomcat。据我所知,每次重新部署都需要重新启动服务器。
- 在属性文件中指定属性值。需要在文件中手动设置值,并在每次重新部署相同版本的应用程序之前重建应用程序。
- 使用 spring 时,在 applicationContext.xml 文件中定义的一些 bean 中指定属性值。再次需要手动方法和应用程序重建。
- 在数据库中存储配置。这要求我们知道存储此类配置的数据库的连接属性。
现在,如果我计划在每次部署/重新部署应用程序时更改某些属性变量,例如 IP 地址、连接数、端口号或其他一些此类变量,我应该遵循什么策略?是否有一种流行的、被广泛接受的方式将此类属性值传递给部署在 tomcat 中的 Web 应用程序?如果我将属性值作为 JVM 选项传递,是否需要重新启动 tomcat 服务器?
或者有没有其他通用的方式来配置我上面没有提到的部署参数?我更喜欢可以轻松自动化以编程方式完成的过程(例如传递 JVM 选项),而不是在每次部署之前手动设置属性(例如设置属性文件)。它也不应该要求每次在重新部署之前都重新构建相同的版本。