在不同的tomcat集群节点中运行相同任务的最佳设计是什么?

时间:2012-04-11 22:28:15

标签: java java-ee tomcat

我的系统中有不同的tomcat实例。另一个系统应在所有tomcat实例中启动相同的任务(任务以设置webapp offline / online),并且必须通知任务结果。最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以在每个群集服务器中部署Tomcat管理器应用程序,并使用它来控制它们。管理器提供了一个简单的基于Web的API来控制服务器实例。从控制服务器发出HTTP调用以在受控服务器中执行任务。来自HTTP调用的响应数据将指示任务是否成功。

以下是使用Apache的HTTP组件库从控制服务器进行调用的示例:

HttpGet get = new HttpGet("http://www.example.com:8080/manager/stop?path=/myapp");
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(get);
System.out.println(response.getStatusLine());

请注意,在使用Tomcat管理器时,您应始终使用用户名/密码保护它并使用SSL保护它。

Tomcat 6 - Manager Documentation