PeerClassLoading example using cacheLoaders

classic Classic list List threaded Threaded
6 messages Options
daniels daniels
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

PeerClassLoading example using cacheLoaders

This post was updated on .
 I use the caching of ignite with cacheLoaderFactories. And I met the perrClassLoading problem.
I  want not   to copy that classes to all nodes.
 Now i want not to use cacheLoaderFactories.What steps will you offer to replace them so that there doesn't come the problem of peerclasLoading?

My cache creation looks like this

ignite.getOrCreateCache((CacheConfiguration<K, V>) new CacheConfiguration<>(
                cacheConfiguration).setName(cacheName)
                .setCacheLoaderFactory(factory)
                .setReadThrough(true)
                .setExpiryPolicyFactory(EternalExpiryPolicy.factoryOf()))
afedotov afedotov
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PeerClassLoading example using cacheLoaders

Hi,

Peer class loading works only for compute closures and tasks as described here.
it's not applicable for configuration classes or cache entries, so you have to copy that classes to all nodes.


Kind regards,
Alex.

On Fri, Aug 11, 2017 at 3:49 PM, daniels [via Apache Ignite Users] <[hidden email]> wrote:
 I use the caching of ignite with cacheLoaderFactories. And I met the perrClassLoading problem.
I  want not   to copy that classes to all nodes.
 Now i want not to use cacheLoaderFactories.What methods will you offer to replace them so that there doesn't come the problem of peerclasLoading?

My cache creation looks like this

ignite.getOrCreateCache((CacheConfiguration<K, V>) new CacheConfiguration<>(
                cacheConfiguration).setName(cacheName)
                .setCacheLoaderFactory(factory)
                .setReadThrough(true)
                .setExpiryPolicyFactory(EternalExpiryPolicy.factoryOf()))



If you reply to this email, your message will be added to the discussion below:
http://apache-ignite-users.70518.x6.nabble.com/PeerClassLoading-example-using-cacheLoaders-tp16136.html
To start a new topic under Apache Ignite Users, email [hidden email]
To unsubscribe from Apache Ignite Users, click here.
NAML

daniels daniels
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PeerClassLoading example using cacheLoaders

Hi
I know it. I  dont want   to copy that classes to all nodes.Therefore I dont want to use chackeLoaderFactories. I am searching other solution. Now I want to remove loaders. How to organize my cache creation without loaders,but keep the  logic in loaders,where to put that logic

Thank you


vkulichenko vkulichenko
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PeerClassLoading example using cacheLoaders

If you have a custom implementation of CacheLoader, you need to deploy this implementation on all nodes. I'm afraid, there is no workaround.

Note that Ignite provides CacheStore implementations for RDBMS [1] and Cassandra [2] out of the box, so there is a chance that you don't need custom one in the first place.

[1] https://apacheignite.readme.io/docs/3rd-party-store#cachejdbcpojostore
[2] https://apacheignite.readme.io/docs/3rd-party-store#cassandra-cache-store

-Val
daniels daniels
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PeerClassLoading example using cacheLoaders

This post was updated on .
Thank you,very much.

And one more question, The  load method  of cacheLoader is called when I do get from cache with the key which does not exists. Isn't it?
 
 Isnt it solution without passing chacheLoader as configuration  -I do get and if the key is  absent ,do put that key in the cache,in other words do  putIfAbsent but  in my code ? (replacing   cacheLoader existing on nodes)
afedotov afedotov
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PeerClassLoading example using cacheLoaders

Hi,

You are right, load method is called when there is a miss in a cache.
putIfAbsent is supported by IgniteCache out of the box. I'm afraid that there is no simple way to achieve what
a CacheStore offers. With any other approach, you would have to sacrifice read/write-through behavior.


Kind regards,
Alex.

On Sat, Aug 12, 2017 at 8:39 AM, daniels [via Apache Ignite Users] <[hidden email]> wrote:
Thank you,very much.

And one more question, The  load method  of cacheLoader is called when I do get from cache with the key which does not exists. Isn't it?
 
 Isnt it solution without passing chacheLoader   -I do get and if the key is  absent ,do put that key in the cache,in other words do  putIfAbsent but  in my code ?


If you reply to this email, your message will be added to the discussion below:
http://apache-ignite-users.70518.x6.nabble.com/PeerClassLoading-example-using-cacheLoaders-tp16136p16149.html
To start a new topic under Apache Ignite Users, email [hidden email]
To unsubscribe from Apache Ignite Users, click here.
NAML

Loading...