2012-01-30 65 views
0

我有两个tomcat服务器同时运行。我有从服务器1请求发送到服务器2进行处理的报告。那么我将如何去管理服务器2上的线程呢?例如,如果我想排队这些线程,我会怎么做呢?Tomcat线程控制

回答

1

在中间使用消息队列(如RabbitMQ)排队需要完成的任务。

然后,您的报告生成服务器可以从队列中提取作业并处理它们。如果你需要减速或加速,那么你可以增加“工作人员”的数量。

+0

有没有办法做到这一点,而无需使用第三方软件?比如如果我想写我自己的api来处理线程呢?我会怎么做呢? – ha1ogen 2012-01-30 22:59:57

+0

最终,如果您想要有一个队列来存储在两个进程之间流动的作业,则需要以消费者可以控制它的方式构建该队列,并且生产者需要异步提交作业。 RabbitMQ使用标准AMQP协议进行通信,因此您可以轻松使用与“api”相同的协议。 JMS是同一空间中另一个以Java为中心的规范,但它的使用要少得多。 – cdeszaq 2012-01-31 13:19:16