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

    Expiration and replace - strange behaviour

    Michal Szymanski Newbie


      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?