0

以下のようにSpringキャッシュを実装しました

@Component
public class KPCacheExample {

    private static final Logger LOG = LoggerFactory.getLogger(KPCacheExample.class);

    @CachePut(value="kpCache")
    public String saveCache(String userName, String password){
        LOG.info("Called saveCache");
        return userName;
    }

    @Cacheable(value="kpCache")
    public String getCache(String userName, String password){
        LOG.info("Called getCache");
        return "kp";
    }

}

および Java 構成ファイル

@Configuration
@ComponentScan(basePackages={"com.kp"})
public class GuavaCacheConfiguration {


    @Bean
    public CacheManager cacheManager() {
     GuavaCacheManager guavaCacheManager =  new GuavaCacheManager("kpCache");
     guavaCacheManager.setCacheBuilder(CacheBuilder.newBuilder().expireAfterAccess(2000, TimeUnit.MILLISECONDS).removalListener(new KPRemovalListener()));
     return guavaCacheManager;
    }

}

デフォルトでは、スプリングはキャッシュ インターフェイスで put メソッドを使用して、キャッシュ内の値を更新/配置します。キャッシュが見つからない場合、または一意のユーザー名とパスワードを持つメソッドへの最初のリクエストが null を返し、そのユーザー名とパスワードへの後続のリクエストが返されるように、スプリングに putifabsent メソッドを強制的に使用させるにはどうすればよいですか?ユーザー名を返す必要があります。

4

1 に答える 1