代码之家  ›  专栏  ›  技术社区  ›  Leonardo

如何在jee soap处理程序中实现一个非常基本的非持久缓存

  •  0
  • Leonardo  · 技术社区  · 7 年前

    我看过很多关于soap处理程序是实现基本缓存的理想工件的博客、文章和技术说明,但没有一篇进一步解释如何实现它。

    我有一个只使用jdk构建的简单web服务(不在app服务器中托管),为此我尝试使用eh cache实现一个简单的缓存。 目前,缓存是在客户机和服务器上实现的,它还与业务逻辑混合在一起,我不喜欢它。

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

    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处理程序。

    问题是:

    1. 在服务器处理程序中,我应该缓存什么?整个反应还是仅仅是价值然后重建整个反应?但是,在这个基础上。
    2. 它是一个内部的soap服务,您将把缓存、服务器或客户端放在哪里?或者两者都有?
    0 回复  |  直到 7 年前