如何在RESTful Web服务之间保持连接

时间:2011-04-19 17:23:23

标签: java web-services rest

我有两个安静的网络服务:

  1. getMarketData
  2. stopMarketData
  3. getMarketData从外部服务中提取数据。 stopMarketData将停止从外部服务获取数据的提取过程。

    现在的问题是,当我触发getMarketData时,它会创建与外部服务的连接并开始获取数据(连续进程,因为它连续提取数据,直到我们调用stopMarketData)。 / p>

    之后如果我调用stopMarketData webservice,它不会停止提取数据进程,因为连接不在getMarketData的上下文中,那么如何在getMarketData之间保持连接1}}和stopMarketData调用restful webservice。

1 个答案:

答案 0 :(得分:0)

我认为你不应该在RESTful服务中保持状态。您如何扩展此解决方案以在多台计算机甚至多个进程上运行?

如果您确实想要这样做,您将不得不以某种方式将连接放置在可从多个请求获得的全局区域(例如,如果您正在执行JSP或ASP的Application对象中)。然后,stopMarketData调用可以从该全局区域获取连接并关闭它。这种方法绝对不是很容易扩展。

另一个选择是使用像Message Driven EJB这样的异步技术。 startMarketDatastopMarketData调用只会将消息发布到这些EJB以分别启动和停止。

希望这会有所帮助。 内特