Guys,
I test below code and found the key(key1) still exists after 100 milliseconds(even longer), seems cache.WithExpiryPolicy does not work? Can someone tell how to set ExpiryPolicy in config.xml? Thanks much! Code snippet: public static void WriteTestCache(IIgnite ignite) { try { cache = ignite.GetOrCreateCache<string, string>("cache_test"); cache.WithExpiryPolicy(new ExpiryPolicy(TimeSpan.FromMilliseconds(100), TimeSpan.FromMilliseconds(100), TimeSpan.FromMilliseconds(100))); cache.Put("key1", "value1"); } catch (Exception ex) { Console.WriteLine("IgniteHttpTest:WriteTestCache, ex {0}", ex); } } |
WithExpiryPolicy() returns another instance of ICache with overridden
expiry policy and you should use this new instance to do the Put. So the code should look like this: cache.WithExpiryPolicy(new ExpiryPolicy(TimeSpan.FromMilliseconds(100), TimeSpan.FromMilliseconds(100), TimeSpan.FromMilliseconds(100))).Put("key1", "value1"); In the XML configuration you can specify the expiry policy like this: <bean class="org.apache.ignite.configuration.CacheConfiguration"> <property name="expiryPolicyFactory"> <bean class="javax.cache.configuration.FactoryBuilder$SingletonFactory"> <constructor-arg> <bean class="javax.cache.expiry.TouchedExpiryPolicy"> <constructor-arg> <bean class="javax.cache.expiry.Duration"> <constructor-arg type="java.util.concurrent.TimeUnit" value="MILLISECONDS"/> <constructor-arg type="long" value="100"/> </bean> </constructor-arg> </bean> </constructor-arg> </bean> </property> </bean> -Val On Tue, Jul 12, 2016 at 5:50 AM, 右边口袋 <[hidden email]> wrote: > Guys, > > I test below code and found the key(key1) still exists after 100 > milliseconds(even longer), seems cache.WithExpiryPolicy does not work? > > Can someone tell how to set ExpiryPolicy in config.xml? Thanks much! > > Code snippet: > public static void WriteTestCache(IIgnite ignite) > { > try > { > cache = ignite.GetOrCreateCache<string, > string>("cache_test"); > cache.WithExpiryPolicy(new > ExpiryPolicy(TimeSpan.FromMilliseconds(100), > TimeSpan.FromMilliseconds(100), > TimeSpan.FromMilliseconds(100))); > > cache.Put("key1", "value1"); > } > catch (Exception ex) > { > Console.WriteLine("IgniteHttpTest:WriteTestCache, ex {0}", > ex); > } > } > > > > -- > View this message in context: > http://apache-ignite-developers.2346864.n4.nabble.com/set-ExpiryPolicy-does-not-work-in-C-client-code-tp9833.html > Sent from the Apache Ignite Developers mailing list archive at Nabble.com. > |
Free forum by Nabble | Edit this page |