Glassfish战争生命周期问题

时间:2010-03-23 01:28:12

标签: glassfish deployment war lifecycle

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

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

3 个答案:

答案 0 :(得分:4)

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

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

您可以查看man page for the deploy subcommand of asadmin以了解详情。

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

我几乎没有创建一个dot-war文件....我经常进行目录部署,这样就省去了用来创建然后爆炸war文件的时间。

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

我喜欢在开发时使用keepSessions属性。我不知道这个属性在生产情况下是否有用。

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

答案 1 :(得分:2)

undeploy表示删除Web应用程序的所有痕迹:

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

您的问题何时发生? GlassFish真的崩溃了吗?你能告诉我们更多细节吗?


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

asadmin redeploy --name mywar mywar.war

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

答案 2 :(得分:0)

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

您是使用管理GUI还是asadmin(命令行)来执行此操作?这两种行为都是一样的吗?