在运行时操纵Spring MVC

时间:2015-02-04 19:57:01

标签: java maven spring-mvc runjettyrun

我正在创建一个Spring服务器,不幸的是,它必须在空中"下周,它不能再关闭了。我有几个问题:

  1. 在服务器运行时,我可以操作/更新 Java类吗?
  2. 我可以在服务器运行时操作/更新 HTML网页吗?
  3. 如果不可能,如果我必须关闭服务器并使用更新重新启动它,我该如何保留我的数据库呢?
  4. 你会把它作为JavaApplication,JettyRun,Maven,Gradle或其他人运行吗?

2 个答案:

答案 0 :(得分:1)

你应该有2台服务器,并在它们前面放置一个负载均衡器,在更新时你可以将所有内容路由到一台服务器并重新启动另一台服务器。

关于你的问题:

  1. 我认为没有一种简单而标准的方法可以做到这一点。 编辑: 但是,如果您使用的是Web容器,其中一些就像tomcat一样 支持更新(重新部署)而无需关闭服务器。您 可能仍会失去一些流量。请阅读:Tomcat Docs

  2. 大多数网络容器支持这一点,所以我想我的回答是肯定的。

  3. 数据库正在使用磁盘。重新启动将保持一切就绪,而且,您很少需要重新启动数据库。

  4. Maven和Gradle更多用于构建/测试,而不是用于运行真正部署的应用程序,因此我会将其排除在外。

  5. 祝你好运!

答案 1 :(得分:0)

您可以在不需要重新启动的情况下部署应用程序,这样您就可以在运行时更改类和html页面中的方法,但它看起来像是在破坏您的应用程序。如果您添加新的类+ html页面或更改类中的字段,那么它不起作用,也会导致您的应用程序失效。