在glassfish中重新部署正在运行的应用程序的新版本的正确方法是什么?我正在运行WAR,并且我已经进行了更改。我认为做一个取消部署+部署可能是正确的,但是当我取消部署时,glassfish(v3)经常崩溃。
在glassfish中重新部署正在运行的应用程序的正确方法是什么?
答案 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应用程序的所有痕迹:
您的问题何时发生? GlassFish真的崩溃了吗?你能告诉我们更多细节吗?
为了记录,GlassFish v3有一个redeploy
命令:
asadmin redeploy --name mywar mywar.war
但是,由于redeploy
= undeploy
+ deploy
,这不会解决您的问题。
答案 2 :(得分:0)
不知道为什么v3会有所不同,但在v2中,这正是我们所做的。我们首先取消部署然后再次部署。
您是使用管理GUI还是asadmin(命令行)来执行此操作?这两种行为都是一样的吗?