java - 您如何在 Java 中开发/部署 BIG 企业应用程序

标签 java spring tomcat cloud development-environment

在过去的 2 年里,我一直在 tomcat 上使用 java + spring,我的应用程序变得非常庞大。启动时间现在将近 3 分钟,并且在开发过程中消耗了大量资源。

所以我对如何让开发软件再次变得有趣的想法很感兴趣。我看过 Spring DM/Gemini blueprint 使其模块化,但体验并不方便。

现在要添加更多模块,考虑开发另一个Web应用程序并使用Spring集成进行消息传递。显然,在一台台式机上开发这将是一个非常痛苦的经历。

有人有云开发经验吗?我如何改进所有这些耗时耗资源的任务?在云端开发对我有帮助吗?

最佳答案

这是典型的 java+spring web 应用程序中非常常见的问题。随着年龄的增长,他们开始变得臃肿,上下文加载开始变得痛苦。我可以提出一些建议来缓解这个问题,但只有您才能根据应用中的具体情况做出最适合您的判断。

  1. 开发时不要过度依赖服务器。编写单元测试并在 servlet 容器外运行它们。 Spring 对此提供了出色的支持。

  2. 在 Rest/Soap 网络服务中拆分您的业务逻辑(明智且谨慎)。这使您可以自由地开发和测试独立于核心业务逻辑的 UI。

  3. 如果使用 maven/gradle,试试 jetty 插件。它可以不断扫描更改并自动重新加载 webapp(我认为 tomcat 插件可以做同样的事情)。它能够在重新启动之间存储 session ,因此您不会受到重新启动的影响。更多详情请看这里How can I speed up Maven and Netbeans

  4. [付费选项] 可以试试 JRebel。

  5. 使用持续集成/测试/部署您的应用程序的 CI 服务器,为您的开发人员机器减轻一些负载。

关于java - 您如何在 Java 中开发/部署 BIG 企业应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12469889/

相关文章:

java如何获取特定用户的最新推文

java - 检查具有 URL 的远程服务器上是否存在文件

java - 我需要逻辑(JAVA)来避免在数据库中更新时 Excel 工作表中出现重复行

java - 请解释一下 Spring Boot 中的 Pre-flight Filter 代码

Spring,JndiTemplate 外部化提供程序 URL

java - 我还需要做什么/创建什么来使我的 servlet 和 AJAX 工作?

tomcat - Railo 如何像在 Tomcat 中一样在树脂中输入 Servlet 映射 url 模式

java - 如何将图像上传到tomcat或glassfish中的网络资源文件夹

java - Spring 安全5 : No Beans of type BCryptPasswordEncoder found

java - 如何在 spring mvc 中用 thymeleaf 填充一个简单的表