Java-EE6:如何从服务器组件内部自动重新部署Glassfish 3应用程序?

时间:2013-01-21 13:22:39

标签: deployment java-ee-6 glassfish-3

我有一个使用Glassfish 3.1.2.2,MySQL 5.5 Server和独立的基于Swing的客户端应用程序的3层应用程序设计。

我目前面临的问题是如何在Glassfish上自动更新/重新部署服务器端应用程序(* .ear文件)。

我的客户会定期检查我的更新服务器上的新更新,其中存放了更新的文件(客户端jar文件和服务器耳文件)。只要有新版本,客户端就会从我的更新服务器下载它并将其存储到连接到Glassfish实例的数据库中。

我的问题是如何以编程方式将新的* .ear文件重新部署到Glassfish?

我尝试通过打开一个新进程并使用Glassfish附带的asadmin工具来强制重新部署:

Runtime.getRuntime().exec("./asadmin --user admin --passwordfile "+getPathToPwdFile()+" deploy --force=true "+getPathToNewEarFile());

但是这个解决方案很糟糕,因为在重新部署期间,流程在流程终止之前被剥离,因为分支流程的服务器应用程序被重新部署......这导致应用服务器上出现一些错误。

JMX / AMX project for Glassfish v3似乎已经死了(2009年最新更新)......

有人对这个问题有适当的解决方案吗?

1 个答案:

答案 0 :(得分:2)

如何以编程方式将ear文件复制到自动Glassfish的autodeploy文件夹?默认的自动部署检查间隔是每2秒,但您可以增加此时间以使您的流程有足够的时间完成。

请参阅http://docs.oracle.com/cd/E18930_01/html/821-2417/gilfm.html#fvxze