我有一个使用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年最新更新)......
有人对这个问题有适当的解决方案吗?
答案 0 :(得分:2)
如何以编程方式将ear文件复制到自动Glassfish的autodeploy文件夹?默认的自动部署检查间隔是每2秒,但您可以增加此时间以使您的流程有足够的时间完成。
请参阅http://docs.oracle.com/cd/E18930_01/html/821-2417/gilfm.html#fvxze