Hi Denis..Thanks for your response. I tried that too, but am getting an Spring Context not Injected error as below:
[12:56:43,819][SEVERE][main][IgniteKernal] Got exception while starting > (will rollback startup routine). > class org.apache.ignite.IgniteException: Spring application context > resource is not injected. > at > org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:156) > at > org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:96) > at > org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1260) > at > org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:785) > at > org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:922) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1736) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1589) > at > org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:569) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:516) > at org.apache.ignite.Ignition.start(Ignition.java:322) > at > org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:36) > at > org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:72) > Below is the c++ client config I used that had Java based Cachestore Implementation details. Please let me know if I am doing anything wrong here. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> <property name="url" value="jdbc:sqlserver://localhost;databaseName=test;integratedSecurity=true" /> </bean> <bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration"> <!-- Set to true to enable distributed class loading for examples, default is false. --> <property name="clientMode" value="true"/> <property name="binaryConfiguration"> <bean class="org.apache.ignite.configuration.BinaryConfiguration"> <property name="compactFooter" value="false" /> <property name="idMapper"> <bean class="org.apache.ignite.binary.BinaryBasicIdMapper"> <constructor-arg name="isLowerCase" value="true" /> </bean> </property> <property name="nameMapper"> <bean class="org.apache.ignite.binary.BinaryBasicNameMapper"> <constructor-arg name="isSimpleName" value="true" /> </bean> </property> </bean> </property> <property name="cacheConfiguration"> <list> <!-- Partitioned cache example configuration (Atomic mode). --> <bean class="org.apache.ignite.configuration.CacheConfiguration"> <property name="atomicityMode" value="ATOMIC" /> <property name="backups" value="1" /> <property name="readThrough" value="true" /> <property name="writeThrough" value="true" /> <property name="cacheStoreFactory"> <bean class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory"> <property name="dataSourceBean" value="myDataSource" /> <!-- <property name="dataSource" ref="myDataSource" /> --> <property name="types"> <list> <bean class="org.apache.ignite.cache.store.jdbc.JdbcType"> <property name="cacheName" value="buCache" /> <property name="databaseTable" value="BusinessUnit" /> <property name="keyType" value="java.lang.Integer" /> <property name="keyFields"> <list> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> <property name="databaseFieldType"> <util:constant static-field="java.sql.Types.BIGINT" /> </property> <property name="databaseFieldName" value="BUID" /> <property name="javaFieldType" value="java.lang.Integer" /> <property name="javaFieldName" value="buid" /> </bean> </list> </property> <property name="valueType" value="models.BusinessUnit" /> <property name="valueFields"> <list> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> <property name="databaseFieldType"> <util:constant static-field="java.sql.Types.BIGINT" /> </property> <property name="databaseFieldName" value="BUID" /> <property name="javaFieldType" value="java.lang.Integer" /> <property name="javaFieldName" value="buid" /> </bean> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> <property name="databaseFieldType"> <util:constant static-field="java.sql.Types.VARCHAR" /> </property> <property name="databaseFieldName" value="BUName" /> <property name="javaFieldType" value="java.lang.String" /> <property name="javaFieldName" value="buName" /> </bean> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> <property name="databaseFieldType"> <util:constant static-field="java.sql.Types.BIGINT" /> </property> <property name="databaseFieldName" value="CreatedByID" /> <property name="javaFieldType" value="java.lang.Integer" /> <property name="javaFieldName" value="createdByID" /> </bean> </list> </property> </bean> </list> </property> </bean> </property> </bean> </list> </property> <!-- Explicitly configure TCP discovery SPI to provide list of initial nodes. --> <property name="discoverySpi"> <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> <property name="ipFinder"> <!-- Ignite provides several options for automatic discovery that can be used instead os static IP based discovery. --> <!-- Uncomment static IP finder to enable static-based discovery of initial nodes. --> <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder"> <!-- <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder"> --> <property name="addresses"> <list> <!-- In distributed environment, replace with actual host IP address. --> <value>127.0.0.1:47500..47501</value> </list> </property> </bean> </property> </bean> </property> </bean> </beans> > On Mon, May 2, 2016 at 12:18 PM, Denis Magda <[email protected]> wrote: > Hi Murthy, > > In my understanding you can only set Java based CacheStore > implementations. That’s why there are no .net and c++ examples for this > kind of functionality. > > You need to specify Java based CacheStore implementation via an XML > configuration and everything should work fine out of the box after that. > > Regards, > Denis > > On May 2, 2016, at 8:08 PM, Murthy Kakarlamudi <[email protected]> wrote: > > Any help on this issue please. Basically I am stuck at a point where I > have to access the database from c++ client node. I could not find an > equivalent java/.net cachestore example for c++. Looking for guidance on > how to access persistence store from c++. > > Thanks, > Murthy. > > On Sat, Apr 30, 2016 at 1:19 PM, Murthy Kakarlamudi <[email protected]> > wrote: > >> Thanks Denis...this config helped me bypass the error. >> >> Now I am getting the same error that I used to get in 1.5. Valentin...my >> understanding was that you put a fix for this error in 1.6 version. I am >> still seeing this error in 1.6 too. Error below. Do I have to enable any >> config setting to bypass this error? >> >> [12:56:43,819][SEVERE][main][IgniteKernal] Got exception while starting >> (will rollback startup routine). >> class org.apache.ignite.IgniteException: Spring application context >> resource is not injected. >> at >> org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:156) >> at >> org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:96) >> at >> org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1260) >> at >> org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:785) >> at >> org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:922) >> at >> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1736) >> at >> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1589) >> at >> org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042) >> at >> org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:569) >> at >> org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:516) >> at org.apache.ignite.Ignition.start(Ignition.java:322) >> at >> org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:36) >> at >> org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:72) >> [12:56:43,886][SEVERE][tcp-client-disco-sock-writer-#2%null%][TcpDiscoverySpi] >> Failed to send message: TcpDiscoveryPingResponse [clientExists=false, >> super=TcpDiscoveryAbstractMessage [sndNodeId=null, >> id=e8db9186451-09fe6718-3c5c-4699-ac48-b083a1726632, verifierNodeId=null, >> topVer=0, pendingIdx=0, failedNodes=null, isClient=true]] >> class org.apache.ignite.IgniteCheckedException: Failed to serialize >> object: TcpDiscoveryPingResponse [clientExists=false, >> super=TcpDiscoveryAbstractMessage [sndNodeId=null, >> id=e8db9186451-09fe6718-3c5c-4699-ac48-b083a1726632, verifierNodeId=null, >> topVer=0, pendingIdx=0, failedNodes=null, isClient=true]] >> at >> org.apache.ignite.marshaller.jdk.JdkMarshaller.marshal(JdkMarshaller.java:82) >> at >> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.writeToSocket(TcpDiscoverySpi.java:1380) >> at >> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.writeToSocket(TcpDiscoverySpi.java:1351) >> at >> org.apache.ignite.spi.discovery.tcp.ClientImpl$SocketWriter.body(ClientImpl.java:1071) >> at >> org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) >> Caused by: java.net.SocketException: Socket closed >> at >> java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:116) >> at java.net.SocketOutputStream.write(SocketOutputStream.java:153) >> at >> java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) >> at >> java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) >> at >> org.apache.ignite.marshaller.jdk.JdkMarshallerOutputStreamWrapper.flush(JdkMarshallerOutputStreamWrapper.java:58) >> at >> java.io.ObjectOutputStream$BlockDataOutputStream.flush(ObjectOutputStream.java:1823) >> at java.io.ObjectOutputStream.flush(ObjectOutputStream.java:719) >> at >> org.apache.ignite.marshaller.jdk.JdkMarshaller.marshal(JdkMarshaller.java:79) >> ... 4 more >> [12:56:43] Ignite node stopped OK [uptime=00:00:05:890] >> An error occurred: Spring application context resource is not injected. >> >> My Java server node config: >> <beans xmlns="http://www.springframework.org/schema/beans" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util=" >> http://www.springframework.org/schema/util" >> xsi:schemaLocation=" >> http://www.springframework.org/schema/beans >> http://www.springframework.org/schema/beans/spring-beans.xsd >> http://www.springframework.org/schema/util >> http://www.springframework.org/schema/util/spring-util-2.5.xsd"> >> >> <bean id="myDataSource" >> class="org.springframework.jdbc.datasource.DriverManagerDataSource"> >> <property name="driverClassName" >> value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> >> <property name="url" >> value="jdbc:sqlserver://localhost;databaseName=test;integratedSecurity=true" >> /> >> </bean> >> >> <bean id="ignite.cfg" >> class="org.apache.ignite.configuration.IgniteConfiguration"> >> >> <property name="binaryConfiguration"> >> <bean class="org.apache.ignite.configuration.BinaryConfiguration"> >> <property name="compactFooter" value="false" /> >> <property name="idMapper"> >> <bean class="org.apache.ignite.binary.BinaryBasicIdMapper"> >> <constructor-arg name="isLowerCase" value="true" /> >> </bean> >> </property> >> <property name="nameMapper"> >> <bean class="org.apache.ignite.binary.BinaryBasicNameMapper"> >> <constructor-arg name="isSimpleName" value="true" /> >> </bean> >> </property> >> </bean> >> </property> >> >> <property name="cacheConfiguration"> >> <list> >> <!-- Partitioned cache example configuration (Atomic mode). --> >> <bean class="org.apache.ignite.configuration.CacheConfiguration"> >> >> <property name="atomicityMode" value="ATOMIC" /> >> <property name="backups" value="1" /> >> <property name="readThrough" value="true" /> >> <property name="writeThrough" value="true" /> >> <property name="cacheStoreFactory"> >> <bean >> class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory"> >> <property name="dataSourceBean" value="myDataSource" /> >> <!-- <property name="dataSource" ref="myDataSource" /> --> >> <property name="types"> >> <list> >> <bean class="org.apache.ignite.cache.store.jdbc.JdbcType"> >> <property name="cacheName" value="buCache" /> >> <property name="databaseTable" value="BusinessUnit" /> >> <property name="keyType" value="java.lang.Integer" /> >> <property name="keyFields"> >> <list> >> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >> <property name="databaseFieldType"> >> <util:constant static-field="java.sql.Types.BIGINT" /> >> </property> >> <property name="databaseFieldName" value="BUID" /> >> <property name="javaFieldType" value="java.lang.Integer" /> >> <property name="javaFieldName" value="buid" /> >> </bean> >> </list> >> </property> >> <property name="valueType" value="models.BusinessUnit" /> >> <property name="valueFields"> >> <list> >> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >> <property name="databaseFieldType"> >> <util:constant static-field="java.sql.Types.BIGINT" /> >> </property> >> <property name="databaseFieldName" value="BUID" /> >> <property name="javaFieldType" value="java.lang.Integer" /> >> <property name="javaFieldName" value="buid" /> >> </bean> >> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >> <property name="databaseFieldType"> >> <util:constant static-field="java.sql.Types.VARCHAR" /> >> </property> >> <property name="databaseFieldName" value="BUName" /> >> <property name="javaFieldType" value="java.lang.String" /> >> <property name="javaFieldName" value="buName" /> >> </bean> >> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >> <property name="databaseFieldType"> >> <util:constant static-field="java.sql.Types.BIGINT" /> >> </property> >> <property name="databaseFieldName" value="CreatedByID" /> >> <property name="javaFieldType" value="java.lang.Integer" /> >> <property name="javaFieldName" value="createdByID" /> >> </bean> >> </list> >> </property> >> </bean> >> </list> >> </property> >> </bean> >> </property> >> </bean> >> </list> >> </property> >> >> <!-- Explicitly configure TCP discovery SPI to provide list of initial >> nodes. --> >> <property name="discoverySpi"> >> <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> >> <property name="ipFinder"> >> <!-- Ignite provides several options for automatic discovery that can >> be used instead os static IP based discovery. For information on all >> options >> refer to our documentation: >> http://apacheignite.readme.io/docs/cluster-config --> >> <!-- Uncomment static IP finder to enable static-based discovery of >> initial nodes. --> >> <bean >> >> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder"> >> <!-- <bean >> class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder"> >> --> >> <property name="addresses"> >> <list> >> <!-- In distributed environment, replace with actual host IP address. --> >> <value>127.0.0.1:47500..47509</value> >> </list> >> </property> >> </bean> >> </property> >> </bean> >> </property> >> </bean> >> </beans> >> >> C++ Client node config: >> <beans xmlns="http://www.springframework.org/schema/beans" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:util="http://www.springframework.org/schema/util" >> xsi:schemaLocation=" >> http://www.springframework.org/schema/beans >> http://www.springframework.org/schema/beans/spring-beans.xsd >> http://www.springframework.org/schema/util >> http://www.springframework.org/schema/util/spring-util.xsd"> >> <bean id="myDataSource" >> class="org.springframework.jdbc.datasource.DriverManagerDataSource"> >> <property name="driverClassName" >> value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> >> <property name="url" >> value="jdbc:sqlserver://localhost;databaseName=test;integratedSecurity=true" >> /> >> </bean> >> <bean id="ignite.cfg" >> class="org.apache.ignite.configuration.IgniteConfiguration"> >> <!-- Set to true to enable distributed class loading for >> examples, default is false. --> >> >> <property name="clientMode" value="true"/> >> <property name="binaryConfiguration"> >> <bean class="org.apache.ignite.configuration.BinaryConfiguration"> >> <property name="compactFooter" value="false" /> >> <property name="idMapper"> >> <bean class="org.apache.ignite.binary.BinaryBasicIdMapper"> >> <constructor-arg name="isLowerCase" value="true" /> >> </bean> >> </property> >> <property name="nameMapper"> >> <bean class="org.apache.ignite.binary.BinaryBasicNameMapper"> >> <constructor-arg name="isSimpleName" value="true" /> >> </bean> >> </property> >> </bean> >> </property> >> <!-- >> <property name="cacheConfiguration"> >> <list> >> <bean >> class="org.apache.ignite.configuration.CacheConfiguration"> >> <property name="atomicityMode" value="ATOMIC"/> >> <property name="backups" value="1"/> >> </bean> >> </list> >> </property> >> --> >> <property name="cacheConfiguration"> >> <list> >> <!-- Partitioned cache example configuration (Atomic mode). --> >> <bean class="org.apache.ignite.configuration.CacheConfiguration"> >> >> <property name="atomicityMode" value="ATOMIC" /> >> <property name="backups" value="1" /> >> <property name="readThrough" value="true" /> >> <property name="writeThrough" value="true" /> >> <property name="cacheStoreFactory"> >> <bean >> class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory"> >> <property name="dataSourceBean" value="myDataSource" /> >> <!-- <property name="dataSource" ref="myDataSource" /> --> >> <property name="types"> >> <list> >> <bean class="org.apache.ignite.cache.store.jdbc.JdbcType"> >> <property name="cacheName" value="buCache" /> >> <property name="databaseTable" value="BusinessUnit" /> >> <property name="keyType" value="java.lang.Integer" /> >> <property name="keyFields"> >> <list> >> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >> <property name="databaseFieldType"> >> <util:constant static-field="java.sql.Types.BIGINT" /> >> </property> >> <property name="databaseFieldName" value="BUID" /> >> <property name="javaFieldType" value="java.lang.Integer" /> >> <property name="javaFieldName" value="buid" /> >> </bean> >> </list> >> </property> >> <property name="valueType" value="models.BusinessUnit" /> >> <property name="valueFields"> >> <list> >> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >> <property name="databaseFieldType"> >> <util:constant static-field="java.sql.Types.BIGINT" /> >> </property> >> <property name="databaseFieldName" value="BUID" /> >> <property name="javaFieldType" value="java.lang.Integer" /> >> <property name="javaFieldName" value="buid" /> >> </bean> >> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >> <property name="databaseFieldType"> >> <util:constant static-field="java.sql.Types.VARCHAR" /> >> </property> >> <property name="databaseFieldName" value="BUName" /> >> <property name="javaFieldType" value="java.lang.String" /> >> <property name="javaFieldName" value="buName" /> >> </bean> >> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >> <property name="databaseFieldType"> >> <util:constant static-field="java.sql.Types.BIGINT" /> >> </property> >> <property name="databaseFieldName" value="CreatedByID" /> >> <property name="javaFieldType" value="java.lang.Integer" /> >> <property name="javaFieldName" value="createdByID" /> >> </bean> >> </list> >> </property> >> </bean> >> </list> >> </property> >> </bean> >> </property> >> </bean> >> </list> >> </property> >> >> <!-- Explicitly configure TCP discovery SPI to provide list of >> initial nodes. --> >> <property name="discoverySpi"> >> <bean >> class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> >> <property name="ipFinder"> >> <!-- >> Ignite provides several options for automatic >> discovery that can be used >> instead os static IP based discovery. >> --> >> <!-- Uncomment static IP finder to enable >> static-based discovery of initial nodes. --> >> <bean >> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder"> >> <!-- <bean >> class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder"> >> --> >> <property name="addresses"> >> <list> >> <!-- In distributed environment, replace >> with actual host IP address. --> >> <value>127.0.0.1:47500..47501</value> >> </list> >> </property> >> </bean> >> </property> >> </bean> >> </property> >> </bean> >> </beans> >> >> On Sat, Apr 30, 2016 at 11:43 AM, Denis Magda <[email protected]> >> wrote: >> >>> Start your java server node setting up BinaryConfiguration in a way that >>> C++ and Java nodes can co-exist together >>> >>> BinaryConfiguration bCfg = new BinaryConfiguration(); >>> >>> bCfg.setCompactFooter(false); >>> bCfg.setNameMapper(new BinaryBasicNameMapper(true)); >>> bCfg.setIdMapper(new BinaryBasicIdMapper(true)); >>> >>> >>> igniteCfg.setBinaryConfiguration(bCfg); >>> >>> //start Ignite server node. >>> >>> If you use Spring xml config for the java server node then you can >>> easily map the Java code above to XML. >>> >>> — >>> Denis >>> >>> On Apr 30, 2016, at 9:37 PM, Murthy Kakarlamudi <[email protected]> >>> wrote: >>> >>> In looking closely at the error: >>> Caused by: class org.apache.ignite.spi.IgniteSpiException: Local node's >>> binary configuration is not equal to remote node's binary configuration >>> [locNodeId=a210c5ba-9c22-4c95-8764-f475fe1498fb, >>> rmtNodeId=15796c03-7fd9-426d-af18-deb8d80fc786, locBinaryCfg={ >>> *globIdMapper=**org.apache.ignite.binary.**BinaryBasicIdMapper,* >>> compactFooter=false, globSerializer=null}, rmtBinaryCfg={*globIdMapper=* >>> *null*, compactFooter=false, globSerializer=null}] >>> >>> globIdMapper is different between local and remote. Probably that is the >>> error Ignite is complaining about. Any idea how to bypass this setting? >>> >>> On Fri, Apr 29, 2016 at 7:29 PM, Murthy Kakarlamudi <[email protected]> >>> wrote: >>> >>>> Hello Igor, >>>> As I was not able to get past the error with missing dynamic link >>>> library by running my c++ application, I took a different approach. >>>> >>>> My java server node is started that loaded entries from a SQL Server >>>> table into cache. Then I tried running ignite.exe creating by building c++ >>>> binaries passing in the spring config that I used to start my java server >>>> node and am running into the below error: >>>> >>>> [19:23:19,228][SEVERE][main][IgniteKernal] Failed to start manager: >>>> GridManagerAdapter [enabled=true, >>>> name=o.a.i.i.managers.discovery.GridDiscoveryManager] >>>> class org.apache.ignite.IgniteCheckedException: Failed to start SPI: >>>> TcpDiscoverySpi [addrRslvr=null, sockTimeout=5000, ackTimeout=5000, >>>> reconCnt=10, maxAckTimeout=600000, forceSrvMode=false, >>>> clientReconnectDisabled=false] >>>> at >>>> org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:258) >>>> at >>>> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:675) >>>> at >>>> org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1523) >>>> at >>>> org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:893) >>>> at >>>> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1736) >>>> at >>>> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1589) >>>> at >>>> org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042) >>>> at >>>> org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:569) >>>> at >>>> org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:516) >>>> at org.apache.ignite.Ignition.start(Ignition.java:322) >>>> at >>>> org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:36) >>>> at >>>> org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:72) >>>> Caused by: class org.apache.ignite.spi.IgniteSpiException: Local node's >>>> binary configuration is not equal to remote node's binary configuration >>>> [locNodeId=a210c5ba-9c22-4c95-8764-f475fe1498fb, >>>> rmtNodeId=15796c03-7fd9-426d-af18-deb8d80fc786, >>>> locBinaryCfg={globIdMapper=org.apache.ignite.binary.BinaryBasicIdMapper, >>>> compactFooter=false, globSerializer=null}, rmtBinaryCfg={globIdMapper=null, >>>> compactFooter=false, globSerializer=null}] >>>> at >>>> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.checkFailedError(TcpDiscoverySpi.java:1643) >>>> at >>>> org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:884) >>>> at >>>> org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStart(ServerImpl.java:333) >>>> at >>>> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:1831) >>>> at >>>> org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:255) >>>> ... 11 more >>>> [19:23:19,311][SEVERE][main][IgniteKernal] Got exception while starting >>>> (will rollback startup routine). >>>> class org.apache.ignite.IgniteCheckedException: Failed to start >>>> manager: GridManagerAdapter [enabled=true, >>>> name=org.apache.ignite.internal.managers.discovery.GridDiscoveryManager] >>>> at >>>> org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1528) >>>> at >>>> org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:893) >>>> at >>>> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1736) >>>> at >>>> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1589) >>>> at >>>> org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042) >>>> at >>>> org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:569) >>>> at >>>> org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:516) >>>> at org.apache.ignite.Ignition.start(Ignition.java:322) >>>> at >>>> org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:36) >>>> at >>>> org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:72) >>>> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to >>>> start SPI: TcpDiscoverySpi [addrRslvr=null, sockTimeout=5000, >>>> ackTimeout=5000, reconCnt=10, maxAckTimeout=600000, forceSrvMode=false, >>>> clientReconnectDisabled=false] >>>> at >>>> org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:258) >>>> at >>>> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:675) >>>> at >>>> org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1523) >>>> ... 9 more >>>> Caused by: class org.apache.ignite.spi.IgniteSpiException: Local node's >>>> binary configuration is not equal to remote node's binary configuration >>>> [locNodeId=a210c5ba-9c22-4c95-8764-f475fe1498fb, >>>> rmtNodeId=15796c03-7fd9-426d-af18-deb8d80fc786, >>>> locBinaryCfg={globIdMapper=org.apache.ignite.binary.BinaryBasicIdMapper, >>>> compactFooter=false, globSerializer=null}, rmtBinaryCfg={globIdMapper=null, >>>> compactFooter=false, globSerializer=null}] >>>> at >>>> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.checkFailedError(TcpDiscoverySpi.java:1643) >>>> at >>>> org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:884) >>>> at >>>> org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStart(ServerImpl.java:333) >>>> at >>>> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:1831) >>>> at >>>> org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:255) >>>> >>>> Can you please help... >>>> >>>> On Fri, Apr 29, 2016 at 4:19 PM, Murthy Kakarlamudi <[email protected]> >>>> wrote: >>>> >>>>> I cleaned up 1.6 libraries and tried to build my c++ project and got >>>>> the link error. That's a good sign. I went ahead, built the 1.6 libraries >>>>> and them my c++ project. But now when I am trying to run it, getting the >>>>> below error: >>>>> >>>>> <image.png> >>>>> >>>>> On Fri, Apr 29, 2016 at 3:14 PM, Igor Sapego <[email protected]> >>>>> wrote: >>>>> >>>>>> It seems like you link with the outdated version of the >>>>>> ignite.common.dll. >>>>>> Your library path seems to be correct though. Try checking your >>>>>> configuration >>>>>> more thoughtfully. >>>>>> >>>>>> Also, if you have changed your environment variable maybe it makes >>>>>> sense >>>>>> to restart VS if you didn't do that so it can pick up environment >>>>>> changes. >>>>>> >>>>>> You may want to try to clean 1.6 libraries just to see if your >>>>>> project will give >>>>>> you an error when you are trying to build it (there should be linking >>>>>> error if you >>>>>> are linking with the right libraries). >>>>>> >>>>>> Please tell if anything of that will help. >>>>>> >>>>>> Best Regards, >>>>>> Igor >>>>>> >>>>>> On Fri, Apr 29, 2016 at 10:03 PM, Murthy Kakarlamudi < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> That runs fine. No errors. >>>>>>> >>>>>>> On Fri, Apr 29, 2016 at 2:45 PM, Igor Sapego <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Murthi, >>>>>>>> >>>>>>>> What about ignite.exe file from the >>>>>>>> %IGNITE_HOME%/platforms/cpp/project/vs/$(Platform)/$(Configuration)? >>>>>>>> Are you able to run it? Does it give you the same error? >>>>>>>> >>>>>>>> Best Regards, >>>>>>>> Igor >>>>>>>> >>>>>>>> On Fri, Apr 29, 2016 at 9:07 PM, Murthy Kakarlamudi < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> These are the steps I have taken: >>>>>>>>> >>>>>>>>> 1. Downloaded 1.6 binary from Jenkins build - >>>>>>>>> https://builds.apache.org/view/H-L/view/Ignite/job/Ignite-nightly/lastSuccessfulBuild/ >>>>>>>>> 2. Updated my IGNITE_HOME variable to point to 1.6 >>>>>>>>> <image.png> >>>>>>>>> 3. Opened ignite.sln in >>>>>>>>> apache-ignite-fabric-1.6.0-SNAPSHOT-bin\platforms\cpp\project\vs >>>>>>>>> folder and >>>>>>>>> built the solution. >>>>>>>>> 4. In my sample c++ solution I have the below settings at the >>>>>>>>> project level >>>>>>>>> <image.png> >>>>>>>>> <image.png> >>>>>>>>> >>>>>>>>> Below is my Cache Config: >>>>>>>>> <beans xmlns="http://www.springframework.org/schema/beans" >>>>>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>>>>>> xmlns:util="http://www.springframework.org/schema/util" >>>>>>>>> xsi:schemaLocation=" >>>>>>>>> http://www.springframework.org/schema/beans >>>>>>>>> >>>>>>>>> http://www.springframework.org/schema/beans/spring-beans.xsd >>>>>>>>> http://www.springframework.org/schema/util >>>>>>>>> http://www.springframework.org/schema/util/spring-util.xsd >>>>>>>>> "> >>>>>>>>> <bean id="grid.cfg" >>>>>>>>> class="org.apache.ignite.configuration.IgniteConfiguration"> >>>>>>>>> <!-- Set to true to enable distributed class loading for >>>>>>>>> examples, default is false. --> >>>>>>>>> >>>>>>>>> <property name="clientMode" value="true"/> >>>>>>>>> <property name="cacheConfiguration"> >>>>>>>>> <list> >>>>>>>>> <!-- >>>>>>>>> Partitioned cache example configuration with >>>>>>>>> binary objects enabled. >>>>>>>>> Used in .NET example that is available only in >>>>>>>>> enterprise edition. >>>>>>>>> --> >>>>>>>>> <bean >>>>>>>>> class="org.apache.ignite.configuration.CacheConfiguration"> >>>>>>>>> <property name="atomicityMode" value="ATOMIC"/> >>>>>>>>> <property name="backups" value="1"/> >>>>>>>>> </bean> >>>>>>>>> >>>>>>>>> <!-- >>>>>>>>> Partitioned cache example configuration. >>>>>>>>> Used in .NET cache store example that is >>>>>>>>> available only in enterprise edition. >>>>>>>>> --> >>>>>>>>> <!-- >>>>>>>>> <bean >>>>>>>>> class="org.apache.ignite.configuration.CacheConfiguration"> >>>>>>>>> <property name="name" value="tx"/> >>>>>>>>> <property name="atomicityMode" >>>>>>>>> value="TRANSACTIONAL"/> >>>>>>>>> <property name="backups" value="1"/> >>>>>>>>> </bean> >>>>>>>>> --> >>>>>>>>> </list> >>>>>>>>> </property> >>>>>>>>> >>>>>>>>> <!-- Explicitly configure TCP discovery SPI to provide >>>>>>>>> list of initial nodes. --> >>>>>>>>> <property name="discoverySpi"> >>>>>>>>> <bean >>>>>>>>> class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> >>>>>>>>> <property name="ipFinder"> >>>>>>>>> <!-- >>>>>>>>> Ignite provides several options for >>>>>>>>> automatic discovery that can be used >>>>>>>>> instead os static IP based discovery. >>>>>>>>> --> >>>>>>>>> <!-- Uncomment static IP finder to enable >>>>>>>>> static-based discovery of initial nodes. --> >>>>>>>>> <bean >>>>>>>>> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder"> >>>>>>>>> <!-- <bean >>>>>>>>> class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder"> >>>>>>>>> --> >>>>>>>>> <property name="addresses"> >>>>>>>>> <list> >>>>>>>>> <!-- In distributed environment, >>>>>>>>> replace with actual host IP address. --> >>>>>>>>> <value>127.0.0.1:47500 >>>>>>>>> ..47501</value> >>>>>>>>> </list> >>>>>>>>> </property> >>>>>>>>> </bean> >>>>>>>>> </property> >>>>>>>>> </bean> >>>>>>>>> </property> >>>>>>>>> </bean> >>>>>>>>> </beans> >>>>>>>>> >>>>>>>>> On Fri, Apr 29, 2016 at 1:44 PM, Igor Sapego <[email protected] >>>>>>>>> > wrote: >>>>>>>>> >>>>>>>>>> It seems like you are trying to use client node binary from >>>>>>>>>> Ignite 1.5 for >>>>>>>>>> Ignite 1.6. You should build client node binary for the 1.6 >>>>>>>>>> instead to use >>>>>>>>>> with Ignite 1.6 as they are not cross-compatible. >>>>>>>>>> >>>>>>>>>> Best Regards, >>>>>>>>>> Igor >>>>>>>>>> >>>>>>>>>> On Fri, Apr 29, 2016 at 8:39 PM, Igor Sapego < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> Where have you got your C++ client node binary from? >>>>>>>>>>> >>>>>>>>>>> Best Regards, >>>>>>>>>>> Igor >>>>>>>>>>> >>>>>>>>>>> On Fri, Apr 29, 2016 at 8:32 PM, Murthy Kakarlamudi < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi All, >>>>>>>>>>>> I downloaded the latest 1.6 binary from latest builds. I am >>>>>>>>>>>> trying to start a node from c++ and getting the below error. >>>>>>>>>>>> >>>>>>>>>>>> An error occurred: Failed to initialize JVM >>>>>>>>>>>> [errCls=java.lang.NoSuchMethodError, errMsg=executeNative] >>>>>>>>>>>> >>>>>>>>>>>> The same c++ node starts fine if I point my IGNITE_HOME to 1.5 >>>>>>>>>>>> instead of 1.6. >>>>>>>>>>>> >>>>>>>>>>>> Any help is much appreciated... >>>>>>>>>>>> >>>>>>>>>>>> Thanks. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >>> >> > >
