5 Replies Latest reply on Jul 6, 2010 11:26 AM by michal_szymanski

    Expiration and replace - strange behaviour

    michal_szymanski

      Hi,

      In our system we make something like this:

       

      tokenCache.put(tokenStr, token, 60 , TimeUnit.SECONDS);

       

      afer let say 59seconds we call


      Token token = tokenCache.get(tokenStr);  // where tokenCache is infinispan cache

      ...

      token.setValidTill(tokenTime);  // some modfication of values of token

      tokenCache.replace(tokenStr, token, 60 , TimeUnit.SECONDS);  

       

      As I understand from JAvaDoc:

       

      V replace(K key, V value, long lifespan, TimeUnit unit)

       

      replace object in cache = put token once again and in our exapmple object should live 60s more from time we call replace. But from my test when

      I call replace after 59s after initial 'put'  object are removed in 60 second. When I call

       

      tokenCache.replace(tokenStr, token, 120 , TimeUnit.SECONDS); 

       

      object lives 120s from initial put. Is it proper behaviour? If yes how to extend life of object by 60s = how to add 60s to lifespan?