java - 需要将同一个应用程序部署到多个上下文,每个上下文都有不同的数据库 Tomcat7

标签 java deployment tomcat7 datasource jndi

如何将同一应用程序部署到多个上下文,每个上下文都有不同的数据库。 使用Tomcat7.0.54。我们有 3 个不同的环境,例如开发、质量、生产。所有 3 个环境都有 3 种不同的数据库配置。

通常为 apache-tomcat-7.0.54\conf\context.xml 文件。示例 D 配置。

<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>

<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->

<!-- Uncomment this to enable Comet connection tacking (provides events
     on session expiration as well as webapp lifecycle) -->
<!--
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->
<Resource name="java:jboss/datasources/letterDatasource"
        auth="Container"
        type="javax.sql.DataSource"
        username="admin"
        password="admin"
        driverClassName="oracle.jdbc.OracleDriver"
        url="xxx xxxx xxxxx xx"
        maxActive="8"
        maxIdle="4"/>           

如何以编程方式或高效地执行上述操作,而不是在每个服务器 context.xml 文件中进行更改。? 我没有使用 Spring 。只是使用 seam 2.3 以及 jsf 和 richfaces 的普通 Web 应用程序。

谢谢。

最佳答案

将数据库属性保存在environment.property 文件中,每个阶段该文件都不同。指定的环境将采用其特定的环境属性。

关于java - 需要将同一个应用程序部署到多个上下文,每个上下文都有不同的数据库 Tomcat7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55809813/

相关文章:

django - Heroku Django-Admin 500 错误?

java - server.xml 中的 tomcat 上下文设置问题

scala - 项目在 IntelliJ 中编译良好,Tomcat 说 java.lang.NoClassDefFoundError : my/package/name/blah

java - 避免空检查

java - 如何在 spring boot 中验证 google recaptcha?

java - 为什么这个单元测试说我的目录不存在,而它却存在?

java - 为什么 Java 的 BigInteger 有 TEN 和 ONE 作为常量?有什么实际用途吗?

java - 将 WAR 文件部署到 Tomcat 7

angular - 您可以为 github 页面部署添加构建步骤吗?

java - Java Web 应用程序中的内存泄漏