如何在JEE SOAP处理程序中实现非常基本的非持久性缓存

时间:2019-01-21 09:32:21

标签: web-services java-ee soap handler

我已经看到很多关于SOAP处理程序的博客,文章和技术说明,它们是实现基本缓存的理想工具,但是它们都没有进一步说明如何实现。

我有一个仅使用JDK构建的简单Web服务(未托管在应用程序服务器中),为此,我正在尝试使用EH缓存来实现简单的缓存。 目前,缓存是在客户端和服务器中实现的,并且还与业务逻辑混合在一起,我不喜欢它。

从客户的角度来看,这很容易。

public String getLatestValueClient() {

   String value = cache.get("LATEST_VALUE");
   if(value==null) {
      // invoke the web service
      xjcClient.getLatestValue(); // client built with XJC
   }
   return value;
}

或者在服务器中也更容易。

@WebMethod
public String getLatestValue() {

   String value = serverCache.get("LATEST_VALUE");
   if(value==null) {
      // business logic for retrieving the value
   }
   return value;
}

但是,正如我喜欢启用或禁用缓存槽配置的想法一样,我同意放置它的最佳位置之一是可以通过处理程序xml配置打开或关闭的SOAP处理程序。 / p>

问题:

  1. 在服务器处理程序中,我应该缓存什么?整个响应还是只是值,然后重构整个响应?但是,在哪个基础上。
  2. 这是内部SOAP服务,您将缓存,服务器或客户端放在哪里?还是两者都有?

0 个答案:

没有答案