有没有办法使用 JMX 或使用 HTTP 请求来启动、停止或重新启动在 tcserver 中运行的应用程序?例如,在 tomcat 6.0 中,可以执行以下操作来启动应用程序:
http://localhost:8080/manager/start?path=/examples
当我启动 hyperic 代理时,我看不到为代理进程定义的任何 Mbean,以在 tcserver 中启动/停止运行时实例。
Tomcat(可能还有 tcserver)为每个 WebModule 注册一个 MBean,看起来像
Catalina:J2EEApplication=none,J2EEServer=none,j2eeType=WebModule,name=//localhost/jolokia
其中域名和名称属性取决于您的安装和 WebModule。这些 MBean 中的每一个都有一个start()
和一个stop()
操作。
如果您使用的是Jolokia 代理,您可以直接使用 HTTP 调用,例如
wget -O - -q http://localhost:8080/jolokia/exec/Catalina:J2EEApplication=none,J2EEServer=none,j2eeType=WebModule,name=/--/localhost/-/jolokia/start
(斜杠需要转义,单斜杠用/-/,双斜杠用/--/。详见Jolokia参考手册)。