在过去的 2 年里,我一直在 tomcat 上使用 java + spring,我的应用程序变得非常庞大。启动时间现在将近 3 分钟,并且在开发过程中消耗了大量资源。
所以我对如何让开发软件再次变得有趣的想法很感兴趣。我看过 Spring DM/Gemini blueprint 使其模块化,但体验并不方便。
现在要添加更多模块,考虑开发另一个Web应用程序并使用Spring集成进行消息传递。显然,在一台台式机上开发这将是一个非常痛苦的经历。
有人有云开发经验吗?我如何改进所有这些耗时耗资源的任务?在云端开发对我有帮助吗?
最佳答案
这是典型的 java+spring web 应用程序中非常常见的问题。随着年龄的增长,他们开始变得臃肿,上下文加载开始变得痛苦。我可以提出一些建议来缓解这个问题,但只有您才能根据应用中的具体情况做出最适合您的判断。
开发时不要过度依赖服务器。编写单元测试并在 servlet 容器外运行它们。 Spring 对此提供了出色的支持。
在 Rest/Soap 网络服务中拆分您的业务逻辑(明智且谨慎)。这使您可以自由地开发和测试独立于核心业务逻辑的 UI。
如果使用 maven/gradle,试试 jetty 插件。它可以不断扫描更改并自动重新加载 webapp(我认为 tomcat 插件可以做同样的事情)。它能够在重新启动之间存储 session ,因此您不会受到重新启动的影响。更多详情请看这里How can I speed up Maven and Netbeans
[付费选项] 可以试试 JRebel。
使用持续集成/测试/部署您的应用程序的 CI 服务器,为您的开发人员机器减轻一些负载。
关于java - 您如何在 Java 中开发/部署 BIG 企业应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12469889/