[
https://issues.apache.org/jira/browse/IGNITE-4255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Valentin Kulichenko updated IGNITE-4255:
----------------------------------------
Issue Type: Improvement (was: Bug)
> Improve IgniteCache.loadCache API
> ---------------------------------
>
> Key: IGNITE-4255
> URL: https://issues.apache.org/jira/browse/IGNITE-4255
> Project: Ignite
> Issue Type: Improvement
> Components: cache
> Affects Versions: 1.7
> Reporter: Valentin Kulichenko
>
> This is based on this discussion on dev@ list:
> http://apache-ignite-developers.2346864.n4.nabble.com/IgniteCache-loadCache-improvement-proposal-td12177.html
> The proposal is to improve the cache loading API by adding the following
> methods:
> {code}
> public void loadCache(@Nullable IgniteBiPredicate<K, V> p,
> IgniteBiInClosure<K, V>
> clo, @Nullable Object... args) throws CacheException;
> public void localLoadCache(@Nullable IgniteBiPredicate<K, V> p,
> IgniteBiInClosure<K, V>
> clo, @Nullable Object... args) throws CacheException;
> {code}
> This will allow to customize the closure passed to
> {{CacheStore.loadCache(...)}} method, which currently always comes from the
> cache internals. This way user will have more control on data loading
> process, i.e. currently they control only persistence part of it, but after
> the change they will be also able to customize logic that actually saves
> loaded entries in the cache.
> For example, this will allow to use {{IgniteDataStreamer}} to load the data
> reusing the existing persistence logic implemented in some {{CacheStore}}
> implementation (e.g., our POJO store or Cassandra store). For this particular
> case we should provide the closure implementation out of the box.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)