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, 右边口袋 <irw...@microsoft.com> 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.
>

Reply via email to