Web服务生命周期

时间:2013-01-29 06:50:58

标签: java web-services

我正在java中创建一个Web服务,它提供了有关实体信息的工具,为此我打算构建一个包含所有信息的缓存,并向客户端提供他/她从缓存中需要的任何信息。因此,当webservice不是在每个客户端请求上启动时,我只需要构建一次缓存。

我的问题是我应该在哪里构建缓存?

无论我读到什么,都说每个客户端调用都会调用构造函数,因此我应该在哪里添加缓存构建功能或其他替代方案。

我找到的答案之一是使用@stateless来解决这个问题。

2 个答案:

答案 0 :(得分:1)

TechExchange为我的问题提供了一个很好的解决方案但是因为我需要一个可以与我创建的现有基于SOAP的web服务一起使用的解决方案,我创建了一个构建缓存并在开始时使用spring注入注入它的bean web服务,所以这个bean将构建缓存,这可以被所有请求的cleint使用。

答案 1 :(得分:0)

根据网络服务器的说法,缓存应放在网络服务器上方,称为反向代理

话虽如此,

  • 如果您正在构建RESTful Web服务,则可以利用针对您的资源的大多数与Http相关的缓存控件

  • 如果您的服务是基于Jax-WS的,您可以构建缓存并通过数据访问通道填充它。以便任何数据检索/更新通过它(如果没有找到命中数据库,如果找到返回类型)有效地减少db命中。