我打算创建一个webservice(在Tomcat中),它与系统上的某个文件一起工作并进行一些系统调用。我们面临的挑战是确保在给定时间只能处理1个请求,并且先前的请求需要被抢占。我目前有一个单一的类可以处理请求。并请求线程以某种方式等待运行的线程完成。但是这些问题的一般设计模式是什么?
有关如何实现这一目标的任何想法?
谢谢, V
答案 0 :(得分:0)
由于调用此服务的请求可能太多,因此可能无法实现同步方法。某些客户也可能有机会等待超时。然后我更喜欢异步作为
我希望这可能有助于达到你的要求。
方面,
Charlee Ch。
答案 1 :(得分:0)
我会将Charlee提到的队列放在ServletContext中。它在WebApplication启动时初始化。
您可以在ServletContextListener
的实现中将后端进程初始化并销毁这些队列。将它们与setAttribute
一起存储在ServletContext上。
现在,您可以通过Servlet中的ServletContext访问这些队列。