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

我有一个3层应用程序设计与Glassfish 3.1.2.2,
MySQL 5.5服务器和一个独立的基于Swing的客户端应用程序.

我目前面临的问题是如何在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年最新更新)……

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

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

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

点赞