【发布时间】:2010-03-23 01:28:12
【问题描述】:
在 glassfish 中重新部署新版本正在运行的应用程序的正确方法是什么?我有一个 WAR 正在运行,并且我已经进行了更改。我认为进行取消部署 + 部署可能是正确的,但 glassfish (v3) 在我取消部署时经常崩溃。
在 glassfish 中重新部署正在运行的应用程序的正确方法是什么?
【问题讨论】:
标签: glassfish deployment war lifecycle
在 glassfish 中重新部署新版本正在运行的应用程序的正确方法是什么?我有一个 WAR 正在运行,并且我已经进行了更改。我认为进行取消部署 + 部署可能是正确的,但 glassfish (v3) 在我取消部署时经常崩溃。
在 glassfish 中重新部署正在运行的应用程序的正确方法是什么?
【问题讨论】:
标签: glassfish deployment war lifecycle
有多种方法可以将 Web 应用程序重新部署到 GlassFish v3。
我推荐的方法是 'asadmin redeploy --name foo --properties keepSessions=true foo.war' (或者使用目录部署来部署网络应用...)
您可以查看man page for the deploy subcommand of asadmin了解更多详情。
我几乎从不先取消部署然后再部署......这需要很长时间。
我几乎从不创建 dot-war 文件....我通常进行目录部署,这样可以省去创建和分解 war 文件的时间。
通过使用目录部署,我还可以对 jsp 文件进行调整并对其进行测试,而无需重新构建/重新部署步骤。
我喜欢在开发时使用 keepSessions 属性。我不知道这个属性在生产环境中是否有用。
您描述的方法可能不会导致服务器崩溃...请在https://glassfish.dev.java.net/servlets/ProjectIssues 提出问题,以便团队中的人可以追踪问题可能是什么。
【讨论】:
undeploy 表示删除 Web 应用程序的所有痕迹:
您的问题何时出现? GlassFish 真的会崩溃吗?你能不能给我们更多的细节。
作为记录,GlassFish v3 有一个redeploy 命令:
asadmin redeploy --name mywar mywar.war
但是由于redeploy = undeploy + deploy,这不会解决你的问题。
【讨论】:
不知道为什么 v3 应该有所不同,但在 v2 中这正是我们所做的。我们首先取消部署,然后再次部署。
您使用管理 GUI 还是 asadmin(命令行)来执行此操作?两种方式的行为是否相同?
【讨论】: