Ale*_*sta 22 java spring tomcat maven spring-boot
我完全能够在两种情况下配置spring boot,这里的问题是哪些更强大并且更推荐,因为我没有在spring boot文档中找到在生产环境中部署它的推荐方法,我对使用嵌入式容器的担忧是:
一般的问题是哪个更好地使用jar文件并在生产中将其作为java -jar jarname.jar执行,或者将包装更改为war将tomcat设置为提供并在空的tomcat中设置生成的war.
我希望你能帮助我.
- -编辑 - -
很多时候,答案取决于,这适用于普通的Web应用程序或其他Web服务.
Mac*_*iak 13
jar包装非常适合生产,你应该只在你真的需要的时候才能倒退到战争中 - 这通常是你无法控制部署环境的情况(在大型企业中通常就是这种情况).
Spring Boot Reference中有一章介绍如何将基于Spring Boot的应用程序设置为Unix/Linux/Windows服务:安装Spring Boot应用程序.
关于你的关注:
也许在将来我需要在同一容器中使用更多应用程序.
对于嵌入式容器,如果需要在同一台机器上运行更多应用程序,则应分别启动两个应用程序,每个应用程序在不同的端口上运行,实际上最终会运行两个容器 - 这很好,应用程序可以更好地相互隔离.
大约一个月前,我遇到了和你一样的问题。分享一下我的结论:
1) 罐子:
2) 战争
所以,在我的实践中,使用 war app 比 jar 更容易管理和重新配置。
我对 Windows 服务了解不多,但在 Linux 上,您可以将 jar 的执行添加到 RC 脚本中(从而使应用程序在某个运行级别启动)。对于 Spring Boot 应用程序,您只需符号链接到 jar,并且可以像任何其他服务一样启动/停止/等,请参阅:Spring Boot 应用程序即服务
重启机器还是JVM?Spring Boot 内置了关闭机制,您只需激活它(并且应该启用安全机制,这样任何人都无法做到这一点),请参阅:如何以正确的方式关闭 Spring Boot 应用程序?
Spring-Boot 支持微服务 - 因此我们的想法是为每个 Web 应用程序/微服务拥有一个嵌入式 Web 应用程序容器。这降低了当只有一项服务出现故障时失去所有服务的风险。
是的。catalina.sh|bat start并且每次重启后都必须执行。或者添加适当的启动脚本(参见 1。)
我感觉你宁愿用老式的方式来做。尽管有“口味问题”的答案,但 pro-jar 有一个论点:唯一的依赖项是 JVM!其余部分(web-app-container、db-drivers、其他库)都是您提供的包的一部分。如果您决定更改下一个版本的容器,那么它也会如此。
| 归档时间: |
|
| 查看次数: |
5779 次 |
| 最近记录: |