Hi,
I am currently switching from Hazelcast to GridGain / Ignite and want to use
more than one IgniteCache-instance of the same Configuration. If I am using
Ignite.jcache(String) I need to name a CacheConfiguration, which always
delivers the same instance if used with Ingite.jcache(String).
Is there a way to get always a new instance or define a
default-configuration? Now I am getting an error if I want to get an
instance without same named Configuration.
Here my test-code:
package com.peertank.driver.ignite;
import java.util.UUID;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.Ignition;
import org.apache.ignite.cache.CacheDistributionMode;
import org.apache.ignite.cache.CacheMode;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
public class IgniteTest {
public static void main (String[] args) {
CacheConfiguration<String, String> cacheConfig = new
CacheConfiguration<String, String>();
cacheConfig.setName
("CACHE_PARTITIONED_OFFHEAP");
cacheConfig.setCacheMode
(CacheMode.REPLICATED);
cacheConfig.setDistributionMode
(CacheDistributionMode.PARTITIONED_ONLY);
IgniteConfiguration config = new IgniteConfiguration();
config.setCacheConfiguration (cacheConfig);
config.setNodeId (UUID.randomUUID());
config.setGridName ("THEGRID");
Ignite ignite = Ignition.start (config);
// === Cache 1
IgniteCache<String, String> cache = ignite.jcache
("CACHE_PARTITIONED_OFFHEAP");
cache.put ("name", "foo");
// === Cache 2
IgniteCache<String, String> cache2 = ignite.jcache
("CACHE_PARTITIONED_OFFHEAP");
cache2.put ("name", "bar");
// === Output
System.out.println (cache.get ("name")); // expected
"foo" but delivers "bar"
System.out.println (cache2.get ("name")); //
expected "bar"
}
}
Best regards
Markus