我有两个安静的网络服务:
getMarketData
stopMarketData
getMarketData
从外部服务中提取数据。 stopMarketData
将停止从外部服务获取数据的提取过程。
现在的问题是,当我触发getMarketData
时,它会创建与外部服务的连接并开始获取数据(连续进程,因为它连续提取数据,直到我们调用stopMarketData
)。 / p>
之后如果我调用stopMarketData
webservice,它不会停止提取数据进程,因为连接不在getMarketData
的上下文中,那么如何在getMarketData
之间保持连接1}}和stopMarketData
调用restful webservice。
答案 0 :(得分:0)
我认为你不应该在RESTful服务中保持状态。您如何扩展此解决方案以在多台计算机甚至多个进程上运行?
如果您确实想要这样做,您将不得不以某种方式将连接放置在可从多个请求获得的全局区域(例如,如果您正在执行JSP或ASP的Application对象中)。然后,stopMarketData
调用可以从该全局区域获取连接并关闭它。这种方法绝对不是很容易扩展。
另一个选择是使用像Message Driven EJB这样的异步技术。 startMarketData
和stopMarketData
调用只会将消息发布到这些EJB以分别启动和停止。
希望这会有所帮助。 内特