Java守护程序部署

时间:2011-10-14 11:34:07

标签: java daemon jmx

我有一个控制台Java应用程序,它一直在远程服务器上运行(nohup java -jar myapp.jar&)。

经常(每隔一天)我需要用更新的JAR文件替换它(每当我修复缺陷时)。

目前我通过使用ssh(WinSCP)连接到服务器来执行此操作。

如何创建一种机制,使用它可以通过http协议升级应用程序?我可以使用JMX吗?

该机制应该做以下事情:

a)停止当前正在运行的应用程序。

b)将新的JAR文件上传到服务器。

c)启动新的JAR文件。

3 个答案:

答案 0 :(得分:2)

基本上你需要将程序分解为两部分:

  1. 取出新jar的monitor组件,停止程序,替换jar,重新启动程序

  2. 实际程序,控制台java应用程序

  3. 从理论上讲,你可以在一个java进程中完成所有这些工作,但在我看来,额外的复杂性并不值得。

答案 1 :(得分:0)

答案 2 :(得分:0)

在LiveRebel中,there's native support表示独立应用程序(即守护进程)。因此,主应用程序与监视程序代理一起运行,该程序与代理中心进行通信。从命令中心可以管理更新。