我目前正在开发一个j2ee项目,该项目已经处于测试阶段。现在,我们只是在解决部署过程中的一些问题。具体来说,战争中嵌入了许多文件(一些xml文件和.properties),这些文件需要部署不同的版本,具体取决于您是处于开发,测试还是生产环境中。日志级别,连接池等内容。
因此,我想知道开发人员在这里如何构建其部署Web应用程序的流程。您是否将尽可能多的配置卸载到应用程序服务器?在部署之前,您是否以编程方式替换了设置文件?在构建过程中选择一个版本?手动编辑战争?
另外,通过应用程序服务器的静态库提供依赖关系还需要走多远,您自己又投入了多少?所有这些只是为了了解当前的通用(或最佳)做法。
我在一个单独的服务器团队为我们的应用程序执行质量检查和生产服务器配置的环境中工作。每个应用程序通常部署在质量检查中的两台服务器和生产环境中的三台服务器上。我的开发团队发现,最好通过在战争(或战争)中放置尽可能多的配置来最小化服务器上所需的配置量。这使服务器配置更加容易,并且最大程度地减少了服务器团队错误配置服务器的机会。
我们没有特定于计算机的配置,但确实具有特定于环境的配置(Dev,QA和Production)。我们有存储在war文件中的配置文件,这些文件由环境命名(例如dev.properties,qa.properties,prod.properties)。我们在服务器VM的java命令行上放置了-D属性以指定环境(例如java -Dapp.env = prod ...)。应用程序可以查找app.env系统属性,并使用它来确定要使用的属性文件的名称。
我想如果您的机器专用属性数量很少,那么也可以将它们指定为-D属性。Commons Configuration提供了一种将属性文件与系统属性组合在一起的简便方法。
我们在服务器上配置连接池。我们为每个环境命名连接池,并简单地将分配给每个环境的服务器指向相应的数据库。该应用程序仅需知道一个连接池名称。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句