Look at the bottom exceptions in the chain: ========= Caused by: class org.apache.ignite.IgniteCheckedException: Failed to find class with given class loader for unmarshalling (make sure same versions of all classes are available on all nodes or enable peer-class-loading) [clsLdr=org.apache.felix.framework. BundleWiringImpl@4b6f59f5, cls=com.sybase365.mobiliser.custom.btpn.brand.ignite.custom.config.ClientConfigurationFactory$1 not found by org.apache.ignite.ignite-core [122]] … Caused by: java.lang.ClassNotFoundException: com.sybase365.mobiliser.custom.btpn.brand.ignite.custom.config.ClientConfiguration Factory$1 not found by org.apache.ignite.ignite-core [122] =========
These exceptions suggest that you should check that the class com.sybase365.mobiliser.custom.btpn.brand.ignite.custom.config.ClientConfigurationFactory$1 is available on all nodes. One way to achieve that is to put a .jar with your code to every node’s $IGNITE_HOME/libs directory. Alternatively, as also suggested by the exception message, you can turn on peer class loading. See https://apacheignite.readme.io/docs/zero-deployment for defails. Thanks, Stan From: rizal123 Sent: 23 мая 2018 г. 5:57 To: user@ignite.apache.org Subject: IgniteCheckedException: Failed to validate cache configuration. Cachestore factory is not s erializable. Dear Master Ignite, i have exception "IgniteCheckedException: Failed to validate cache configuration. Cache store factory is not s erializable.". *Here is my code:* /** * */ package com.sybase365.mobiliser.custom.btpn.brand.ignite.custom.config; import java.io.Serializable; import java.math.BigDecimal; import java.sql.SQLException; import java.sql.Types; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.Properties; import javax.cache.configuration.Factory; import javax.sql.DataSource; import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.cache.QueryEntity; import org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory; import org.apache.ignite.cache.store.jdbc.JdbcType; import org.apache.ignite.cache.store.jdbc.JdbcTypeField; import org.apache.ignite.cache.store.jdbc.dialect.OracleDialect; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; import oracle.jdbc.pool.OracleDataSource; /** * @author 17054072 * */ public class ClientConfigurationFactory implements Serializable{ /** * */ private static final long serialVersionUID = 4067320674189197181L; private static final Properties props = new Properties(); /*static { try { InputStream in = IgniteConfiguration.class.getClassLoader().getResourceAsStream("META-INF/spring/secret.properties"); props.load(in); } catch (Exception ignored) { // No-op. } }*/ public static class DataSources { public static final OracleDataSource INSTANCE_dsOracle_Btpndev = createdsOracle_Btpndev(); private static OracleDataSource createdsOracle_Btpndev() { try { OracleDataSource dsOracle_Btpndev = new OracleDataSource(); dsOracle_Btpndev.setURL("jdbc:oracle:thin:@10.1.92.63:1521:WOWDEV"); dsOracle_Btpndev.setUser("BTPN_BM_02"); dsOracle_Btpndev.setPassword("password"); /*dsOracle_Btpndev.setURL(props.getProperty("dsOracle_Btpndev.jdbc.url")); dsOracle_Btpndev.setUser(props.getProperty("dsOracle_Btpndev.jdbc.username")); dsOracle_Btpndev.setPassword(props.getProperty("dsOracle_Btpndev.jdbc.password"));*/ return dsOracle_Btpndev; } catch (SQLException ex) { throw new Error(ex); } } } public static IgniteConfiguration createConfiguration() throws Exception { IgniteConfiguration cfg = new IgniteConfiguration(); cfg.setClientMode(true); cfg.setIgniteInstanceName("BrandCluster"); TcpDiscoverySpi discovery = new TcpDiscoverySpi(); TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder(); ipFinder.setAddresses(Arrays.asList("10.1.92.137:47500")); discovery.setIpFinder(ipFinder); cfg.setDiscoverySpi(discovery); cfg.setCacheConfiguration(cacheSequenceCache()); return cfg; } public static CacheConfiguration cacheSequenceCache() throws Exception { CacheConfiguration ccfg = new CacheConfiguration(); ccfg.setName("SequenceCache"); ccfg.setCacheMode(CacheMode.PARTITIONED); ccfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL); CacheJdbcPojoStoreFactory cacheStoreFactory = new CacheJdbcPojoStoreFactory(); cacheStoreFactory.setDataSourceFactory(new Factory<DataSource>() { /** * */ private static final long serialVersionUID = -8028910004810254541L; /** {@inheritDoc} **/ public DataSource create() { return DataSources.INSTANCE_dsOracle_Btpndev; }; }); cacheStoreFactory.setDialect(new OracleDialect()); cacheStoreFactory.setTypes(jdbcTypeSequence(ccfg.getName())); ccfg.setCacheStoreFactory(cacheStoreFactory); ccfg.setReadThrough(true); ccfg.setWriteThrough(true); ccfg.setSqlSchema("PUBLIC"); ArrayList<QueryEntity> qryEntities = new ArrayList<QueryEntity>(); QueryEntity qryEntity = new QueryEntity(); qryEntity.setKeyType("java.lang.String"); qryEntity.setValueType("com.btpn.rizal.khaerul.model.Sequence"); qryEntity.setTableName("SEQUENCE"); qryEntity.setKeyFieldName("seqName"); HashSet<String> keyFields = new HashSet<String>(); keyFields.add("seqName"); qryEntity.setKeyFields(keyFields); LinkedHashMap<String, String> fields = new LinkedHashMap<String, String>(); fields.put("seqCount", "java.math.BigDecimal"); fields.put("seqName", "java.lang.String"); qryEntity.setFields(fields); HashMap<String, String> aliases = new HashMap<String, String>(); aliases.put("seqName", "SEQ_NAME"); aliases.put("seqCount", "SEQ_COUNT"); qryEntity.setAliases(aliases); qryEntities.add(qryEntity); ccfg.setQueryEntities(qryEntities); return ccfg; } private static JdbcType jdbcTypeSequence(String cacheName) { JdbcType type = new JdbcType(); type.setCacheName(cacheName); type.setKeyType(String.class); type.setValueType("com.btpnwow.brand.common.entity.Sequence"); type.setDatabaseSchema("BTPN_BM_02"); type.setDatabaseTable("SEQUENCE"); type.setKeyFields(new JdbcTypeField(Types.VARCHAR, "SEQ_NAME", String.class, "seqName")); type.setValueFields(new JdbcTypeField(Types.NUMERIC, "SEQ_COUNT", BigDecimal.class, "seqCount")); return type; } } *Here is an error:* class org.apache.ignite.IgniteCheckedException: Failed to start processor: GridProcessorAdapter [] at org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1873) at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:954) at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1909) at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1652) at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1080) at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:600) at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:525) at org.apache.ignite.Ignition.start(Ignition.java:322) at com.sybase365.mobiliser.custom.btpn.brand.ignite.custom.Activator.start(Activator.java:40) at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645) at org.apache.felix.framework.Felix.activateBundle(Felix.java:1977) at org.apache.felix.framework.Felix.startBundle(Felix.java:1895) at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191) at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295) at java.lang.Thread.run(Thread.java:745) Caused by: class org.apache.ignite.IgniteCheckedException: Failed to validate cache configuration. Cache store factory is not s erializable. Cache name: SequenceCache at org.apache.ignite.internal.processors.cache.GridCacheProcessor$9.applyx(GridCacheProcessor.java:3708) at org.apache.ignite.internal.processors.cache.GridCacheProcessor$9.applyx(GridCacheProcessor.java:3695) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.withBinaryContext(GridCacheProcessor.java:3740) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.cloneCheckSerializable(GridCacheProcessor.java:3695) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.addCacheOnJoin(GridCacheProcessor.java:663) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.addCacheOnJoinFromConfig(GridCacheProcessor.java:717) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.start(GridCacheProcessor.java:631) at org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1870) ... 14 more Caused by: class org.apache.ignite.IgniteCheckedException: Failed to find class with given class loader for unmarshalling (make sure same versions of all classes are available on all nodes or enable peer-class-loading) [clsLdr=org.apache.felix.framework. BundleWiringImpl@4b6f59f5, cls=com.sybase365.mobiliser.custom.btpn.brand.ignite.custom.config.ClientConfigurationFactory$1 not found by org.apache.ignite.ignite-core [122]] at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:124) at org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:94) at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:143) at org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82) at org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9795) at org.apache.ignite.internal.processors.cache.GridCacheProcessor$9.applyx(GridCacheProcessor.java:3704) ... 21 more Caused by: java.lang.ClassNotFoundException: com.sybase365.mobiliser.custom.btpn.brand.ignite.custom.config.ClientConfiguration Factory$1 not found by org.apache.ignite.ignite-core [122] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460) at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:278) at org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8497) at org.apache.ignite.marshaller.jdk.JdkMarshallerObjectInputStream.resolveClass(JdkMarshallerObjectInputStream.java:54) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/