在Jetty中重新启动当前应用程序

问题描述:

我在Jetty上部署Web应用程序作为战争。
有没有一种方法可以以编程方式在Jetty上重新启动当前运行的应用程序?
有没有可以实现这个目标的Jetty配置?在Jetty中重新启动当前应用程序

+0

看看这个 - > http://docs.codehaus.org/display/JETTY/Embedding%2BJetty,你可能能够做到server.restart();或者其他的东西。没有尝试过 – ant 2012-08-02 22:30:52

有3个选项。

  1. 使用JMX

    通过码头,JMX库和配置尝试enabling JMX。 然后周围的环境或部署者的选项戳,看看是否可以使用JMX管理部署环境

  2. 创建上下文

  3. 的自己Server bean管理部署/取消部署创建自己的AppProvider ,提供给DeploymentManager以编程方式控制安装的上下文。

这是解决这个问题的尝试:https://github.com/giuliano108/jetty-manager

sudo -u username jetty-manager 

Usage: 
    jetty-manager jvms 
    jetty-manager webapps <jvm> [ <webappfilter> ] 
    jetty-manager threads <jvm> 
    jetty-manager stop <jvm> <webappfilter> 
    jetty-manager start <jvm> <webappfilter> 
    jetty-manager restart <jvm> <webappfilter> 
    jetty-manager (-h | --help) 

Commands: 
    jvms   Show the running JVMs (PID, name) 
    webapps  Show the webapps hosted by <jvm> and their state 
    threads  Show the total number of threads in the <jvm> 

Arguments: 
    <jvm>   JVM PID or regexp (matched against the JVM name) 
    <webappfilter> regexp matched against the context path (URL) 

Options: 
    -h --help  Show this screen