关于java,网站可以使用相同的线程来处理所有客户端请求吗?

时间:2014-08-05 10:14:04

标签: java queue

我有一个tomcat网站。我的客户上传工作人员ID列表以查询详细信息(姓名,年龄,地址等)。我的网站没有这些数据,并且必须从另一个网站(我称之为UPPER SITE)查询它们,这可以只查询一个工作者ID一次。我的网站工作就是自动完成它。问题是UPPER SITE可以每秒查询一次。这意味着我的网站只能运行一个查询thead。我很困惑。一个客户端上传将出现一个查询thead。如何使他们都只使用一个查询thead? Can Queue可以这样做吗?或其他人?我的网站是一个singeton网站。

1 个答案:

答案 0 :(得分:0)

如果您无法访问其他网站作为建议,请创建一个工作线程,以便为您查询其他网站。工作流程如下:

  • 当您的客户端上传用于查询详细信息的工作者ID时,请将其提交到数据库。唤醒工人线程。设置此客户'线程轮询数据库以获得结果。
  • 唤醒一个工作线程,该线程将访问您的数据库以获取您的工作者ID详细信息(当然可能有几个,因为您可能有几个客户端线程提交到您的数据库)。该工作人员将查询其他网站,然后将结果提交给数据库,如果没有工作,则休眠线程。
  • 客户端线程将看到结果并将结果发回给用户并清理数据库中的结果。

编辑:我不了解其他网站架构,如果可以批量查询,这可能会非常有效。如果您的网站繁忙且每秒只能查询一次,则可能需要寻找替代解决方案..