在Java空间中,当前趋势是从以war文件(或ear文件)的形式从将Java Web应用程序部署到Java Servlet容器(或应用程序服务器)转移,而不是将应用程序打包为具有嵌入式servlet / HTTP服务器(如码头)。我的意思是,更新颖的框架影响着新应用程序的开发和部署方式,而不是将应用程序交付给最终用户的方式(例如,我明白了为什么Jenkins使用嵌入式容器,非常容易抓取和使用) )。采用可执行jar选项的框架示例: Dropwizard,Spring Boot和Play (它不是在servlet容器上运行,而是嵌入了HTTP服务器)。
我的问题是,在一个我们已经将我们的应用程序(到目前为止主要是Struts2)部署到单个tomcat应用程序服务器的环境中,如果我们计划使用嵌入式容器方法,则需要进行哪些更改,最佳实践或注意事项? ?当前,我们在单个tomcat服务器上运行大约10个本地应用程序,对于这些较小的应用程序,共享资源并在一台服务器上进行管理的能力非常好。我们的应用程序并非旨在分发给最终用户以在其环境中运行。但是,如果我们决定使用更新的Java框架,那么这种方法是否应该改变?越来越多地使用云部署(例如Heroku)是否会促使向可执行jar的转变?
如果您曾经在单一应用程序服务器上以Play部署方式管理传统的War File部署中的多个应用程序,那么请分享您的见解。