5

在 glassfish 中重新部署正在运行的应用程序的新版本的正确方法是什么?我有一个 WAR 正在运行,并且我已经进行了更改。我认为进行取消部署 + 部署可能是正确的,但 glassfish (v3) 在我取消部署时经常崩溃。

在 glassfish 中重新部署正在运行的应用程序的正确方法是什么?

4

3 回答 3

4

有多种方法可以将 Web 应用程序重新部署到 GlassFish v3。

我推荐的方法是 'asadmin redeploy --name foo --properties keepSessions=true foo.war' (或为 Web 应用程序使用目录部署......)

您可以查看asadmin 的 deploy 子命令的手册页以了解有关详细信息的更多信息。

我几乎从不取消部署然后部署......这需要太长时间。

我几乎从不创建 dot-war 文件.... 我通常会进行目录部署,这样可以省去创建然后分解 war 文件的时间。

通过使用目录部署,我还可以对 jsp 文件进行调整并在没有重建/重新部署步骤的情况下对其进行测试。

我喜欢在开发时使用 keepSessions 属性。我不知道这个属性在生产环境中是否有用。

您描述的方法可能不应该使服务器崩溃......请在https://glassfish.dev.java.net/servlets/ProjectIssues提出问题,以便团队中的人们可以追踪问题可能是什么。

于 2010-03-23T04:46:42.343 回答
2

undeploy意味着删除 Web 应用程序的所有痕迹:

  • 它的类加载器
  • 编译的 JSP
  • 文件持久化 HTTP 会话

你的问题什么时候出现?GlassFish 真的会崩溃吗?你能给我们更多的细节。


作为记录,GlassFish v3 有一个redeploy命令:

asadmin redeploy --name mywar mywar.war

但是由于redeploy= undeploy+ deploy,这不会解决您的问题。

于 2010-03-23T02:02:49.673 回答
0

不知道为什么 v3 应该有所不同,但在 v2 中这正是我们所做的。我们首先取消部署,然后再次部署。

您是使用管理 GUI 还是 asadmin(命令行)来执行此操作?两种方式的行为是否相同?

于 2010-03-23T01:36:41.967 回答