Tomcat 在自动部署web应用程序之前自定义它 应用程序场景
我在IaaS云服务上有一堆Tomcat服务器,所以它们都在我的控制之下 这些服务器(应用程序处于设计阶段)将运行任何Java应用程序容器软件,如Tomcat、JBoss、Websphere 除了什么解决方案是最好的,我还有一个web应用程序(WAR),我有完整的源代码。与任何体面的托管环境一样,设置新用户意味着将同一web应用程序的新副本部署到不同的应用程序上下文(例如,将WAR复制为Tomcat 在自动部署web应用程序之前自定义它 应用程序场景,tomcat,cloud,war,web-deployment,Tomcat,Cloud,War,Web Deployment,我在IaaS云服务上有一堆Tomcat服务器,所以它们都在我的控制之下 这些服务器(应用程序处于设计阶段)将运行任何Java应用程序容器软件,如Tomcat、JBoss、Websphere 除了什么解决方案是最好的,我还有一个web应用程序(WAR),我有完整的源代码。与任何体面的托管环境一样,设置新用户意味着将同一web应用程序的新副本部署到不同的应用程序上下文(例如,将WAR复制为newuser.WAR,让Tomcat吃掉它) 该应用程序完全基于Spring和Hibernate。它由Mave
newuser.WAR
,让Tomcat吃掉它)
该应用程序完全基于Spring和Hibernate。它由Maven提供动力
由于我们在IaaS上运行,我们正在考虑向我们的管理软件添加一个需求。如果应用服务器宕机,重新部署它在不同节点上运行的webapps,和/或自动请求云提供商提供新机器(特别是当注册用户增加时)。我们的提供商目前没有PaaS服务。讨论支持Java Webapps的云提供商超出了范围
配置需求
前面提到的webapp的每个实例都有自己的数据库(需要管理软件生成特定的连接字符串)。此外,我们还需要在字符串属性中定制一些bean
问题
关注自我管理和自动管理的Tomcat服务器,我们需要设计一个自动设置机制(集成到我们前面讨论的故障切换中)。我们现在的问题是设置DB连接字符串和一些SpringBean的字符串属性(这些是共享的1对1密码)
首先,我带着我的想象力想出了一个可能的解决方案,但我不知道它在易用性和可管理性方面是否是“最好的”
问题是:
- 从高层次的角度来看,您是否认为下面描述的方法存在重大缺陷
- 您是否知道更智能的解决方案(可能有更简单的附加软件)来实现我需要做的事情
hibernate.cfg.xml
中的连接字符串(可能SVN分支中的文件包含用于替换字符串的占位符)Spring支持占位符 最简单的方法是将属性文件放在类路径中(如果每个服务器在Tomcat lib dir中只运行一个war,或者如果war/WEB-INF/class文件夹中有多个war) 大多数情况下,占位符用于定义DB连接(可能是为了解决hibernate配置需要) 因为有几种不同的方法可以检索配置,所以您应该使用大G来搜索案例的方法