Hello, Although I've read many topics on this subject, I haven't found a solution to my problem. First of all, I'm a beginner with Ignite and I'm a just arrived to my project. I need to use Ignite as a memory cache for Cassandra and I have tried an example applicaction to prove it.
We cannot use Spring config files so, I have to configure Ignite programmatically. The example I've tried is closely related with the example explained by Riccardo Iacomini in https://medium.com/@iacomini.riccardo/how-to-use-apache-ignite-as-cassandra-cache-layer-e24659e31243 I think the persistence XML file is standard and there is nothing wrong in it: <persistence keyspace="pruebasenrique" table="tablaprueba"> <keyspaceOptions> REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor' : 1} AND DURABLE_WRITES = true </keyspaceOptions> <tableOption> comment = 'Cache test' AND read_repair_chance = 0.2 </tableOption> <keyPersistence class="java.lang.String" strategy="PRIMITIVE" column="key" /> <valuePersistence class="com.ejemploIgnite.EjemploIgnite.ClaseLectura" strategy="POJO" /> </persistence> And finally the code. Practically all the code is inserted in a class because this wanted to be a quick test: --------------------------------------------------------------------------- IgniteConfiguration cfg = new IgniteConfiguration(); CacheConfiguration configuration = new CacheConfiguration(); configuration.setName("cache-prueba"); // Access to Cassandra through SSL String truststorePath = "C:\\certificates\\cassandra.keystore"; String truststorePassword = "XXXXXXXX"; String keystorePath = "C:\\certificates\\cliente-cert.p12"; String keystorePassword = "XXXXXXX"; SSLContext context = getSSLContext(truststorePath, truststorePassword, keystorePath, keystorePassword); String [] cipherSuites = {"TLS_RSA_WITH_AES_128_CBC_SHA","TLS_DHE_RSA_WITH_AES_128_CBC_SHA","TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"}; DataSource dataSource = new DataSource(); dataSource.setContactPoints("192.168.4.167"); dataSource.setPort(9042); SSLOptions sslOptions = new SSLOptions(context, cipherSuites); dataSource.setSslOptions(sslOptions); dataSource.setUseSSL(true); RoundRobinPolicy robinPolicy = new RoundRobinPolicy(); dataSource.setLoadBalancingPolicy(robinPolicy); dataSource.setReadConsistency("ONE"); dataSource.setWriteConsistency("ONE"); String persistenceSettingsXml = FileUtils.readFileToString(new File("C:\\01\\cache-prueba.xml"), "utf-8"); KeyValuePersistenceSettings persistenceSettings = new KeyValuePersistenceSettings(persistenceSettingsXml); CassandraCacheStoreFactory cacheStoreFactory = new CassandraCacheStoreFactory(); cacheStoreFactory.setDataSource(dataSource); cacheStoreFactory.setPersistenceSettings(persistenceSettings); configuration.setCacheStoreFactory(cacheStoreFactory); configuration.setWriteThrough(true); configuration.setWriteBehindEnabled(true); configuration.setReadThrough(true); // Sets the cache configuration cfg.setCacheConfiguration(configuration); // Starting Ignite Ignition.setClientMode(true); Ignite ignite = Ignition.start(cfg); final IgniteCache<String, ClaseLectura> cache = ignite.getOrCreateCache("cache-prueba"); for (int i = 0; i < 50; i++) { cache.put(String.valueOf(i), new ClaseLectura("AAA", 10)); } --------------------------------------------------------------------------- ClaseLectura is as follows: public class ClaseLectura implements Serializable { private String value1; private int value2; public ClaseLectura() { super(); } public ClaseLectura(String v1, int v2) { this.value1 = v1; this.value2 = v2; } public String getValue1() { return value1; } public int getValue2() { return value2; } public void setValue1(String v1) { value1 = v1; } public void setValue2(int v2) { value2 = v2; } public String toString() { return value1 + " ; " + String.valueOf(value2); } } cache-prueba.xml (the persistence description) is read correctly as I can see while debugging. I start an Ignite server (ignite.bat) and I start the application (which starts Ignite client) and everything seems OK. The for loop is executed correctly but I don't see any result in the cassandra table. The SSL connection is Ok because I've tried it with another app connecting directly to Cassandra. I've read many many topics but I don't find where is my error (As said before, I'm a beginner). Sorry for my really long mail and for my broken english. Please, any kind of help will be really appreciated. Thanks. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
