Murthy, As per initial issue - I created a ticket and fixed the bug causing your initial problem (*"org.apache.ignite.**IgniteException: Spring application context resource is not injected"*). The fix will be included into upcoming Ignite 1.6 release.
Vladimir. On Wed, Apr 27, 2016 at 11:50 AM, Vladimir Ozerov <voze...@gridgain.com> wrote: > Hi Murthy, > > Please provide configs you used to start clients and servers. > > Vladimir. > > On Wed, Apr 27, 2016 at 5:45 AM, Murthy Kakarlamudi <ksa...@gmail.com> > wrote: > >> Can someone please help how Ignite works for the following use case. The >> server node loads data from Persistent Store into cache upon start up. >> There will be a couple of client nodes (c++, .net based) that needs to >> access the cache. >> The server node will have the configuration for cachestore. Should the >> client nodes also have the configuration for cachestore? I am hoping no >> because all they need is to read the cache. >> But I am assuming, if these client nodes can also update the cache then >> the cachestore config is required if write through is enabled. >> Please validate my assumptions. >> >> Thanks, >> Satya... >> >> On Tue, Apr 26, 2016 at 9:44 AM, Murthy Kakarlamudi <ksa...@gmail.com> >> wrote: >> >>> No..I am not. I have different configs for my server node in java vs my >>> client node in c++. That was the question I had. In my server node that >>> loads the data from persistent store to cache, I configured cachestore. But >>> my c++ node is only a client node that needs to access cache. So I was not >>> sure if my client node config should have the cachestore details as well. >>> >>> Let me try the option you suggested. >>> >>> On Tue, Apr 26, 2016 at 9:40 AM, Vladimir Ozerov <voze...@gridgain.com> >>> wrote: >>> >>>> HI Murthy, >>>> >>>> Do you start all nodes with the same XML configuration? Please ensure >>>> that this is so, and all nodes know all caches from configuration in >>>> advance. >>>> >>>> Vladimir. >>>> >>>> On Tue, Apr 26, 2016 at 3:27 PM, Murthy Kakarlamudi <ksa...@gmail.com> >>>> wrote: >>>> >>>>> Hi Vladimir...I made the update and still running into the same issue. >>>>> >>>>> Here is the updated spring config for my Java node: >>>>> <?xml version="1.0" encoding="UTF-8"?> >>>>> >>>>> <!-- Licensed to the Apache Software Foundation (ASF) under one or >>>>> more contributor >>>>> license agreements. See the NOTICE file distributed with this work for >>>>> additional >>>>> information regarding copyright ownership. The ASF licenses this file >>>>> to >>>>> You under the Apache License, Version 2.0 (the "License"); you may not >>>>> use >>>>> this file except in compliance with the License. You may obtain a copy >>>>> of >>>>> the License at http://www.apache.org/licenses/LICENSE-2.0 Unless >>>>> required >>>>> by applicable law or agreed to in writing, software distributed under >>>>> the >>>>> License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR >>>>> CONDITIONS >>>>> OF ANY KIND, either express or implied. See the License for the >>>>> specific >>>>> language governing permissions and limitations under the License. --> >>>>> >>>>> <!-- Ignite Spring configuration file to startup Ignite cache. This >>>>> file >>>>> demonstrates how to configure cache using Spring. Provided cache will >>>>> be >>>>> created on node startup. Use this configuration file when running HTTP >>>>> REST >>>>> examples (see 'examples/rest' folder). When starting a standalone >>>>> node, you >>>>> need to execute the following command: >>>>> {IGNITE_HOME}/bin/ignite.{bat|sh} >>>>> examples/config/example-cache.xml When starting Ignite from Java IDE, >>>>> pass >>>>> path to this file to Ignition: >>>>> Ignition.start("examples/config/example-cache.xml"); --> >>>>> <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://LAPTOP-QIT4AVOG\MSSQLSERVER64;databaseName=PrimeOne;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" /> >>>>> </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> >>>>> >>>>> >>>>> Error: >>>>> >>> Cache node started. >>>>> >>>>> [08:27:25,045][SEVERE][exchange-worker-#38%null%][GridDhtPartitionsExchangeFuture] >>>>> Failed to reinitialize local partitions (preloading will be stopped): >>>>> GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=11, >>>>> minorTopVer=1], nodeId=bc7d2aa2, evt=DISCOVERY_CUSTOM_EVT] >>>>> 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:1243) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1638) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCachesStart(GridCacheProcessor.java:1563) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.startCaches(GridDhtPartitionsExchangeFuture.java:956) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:523) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:1297) >>>>> at >>>>> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) >>>>> at java.lang.Thread.run(Thread.java:745) >>>>> [08:27:25,063][SEVERE][exchange-worker-#38%null%][GridCachePartitionExchangeManager] >>>>> Failed to wait for completion of partition map exchange (preloading will >>>>> not start): GridDhtPartitionsExchangeFuture [dummy=false, >>>>> forcePreload=false, reassign=false, discoEvt=DiscoveryCustomEvent >>>>> [customMsg=DynamicCacheChangeBatch [reqs=[DynamicCacheChangeRequest >>>>> [deploymentId=8ea535e3451-d29afc27-9b4b-4125-bbf2-232c08daa0cb, >>>>> startCfg=CacheConfiguration [name=buCache, >>>>> storeConcurrentLoadAllThreshold=5, rebalancePoolSize=2, >>>>> rebalanceTimeout=10000, evictPlc=null, evictSync=false, >>>>> evictKeyBufSize=1024, evictSyncConcurrencyLvl=4, evictSyncTimeout=10000, >>>>> evictFilter=null, evictMaxOverflowRatio=10.0, eagerTtl=true, >>>>> dfltLockTimeout=0, startSize=1500000, nearCfg=null, >>>>> writeSync=PRIMARY_SYNC, >>>>> storeFactory=CacheJdbcPojoStoreFactory [batchSizw=512, >>>>> dataSrcBean=myDataSource, dialect=null, maxPoolSize=4, maxWriteAttempts=2, >>>>> parallelLoadCacheMinThreshold=512, >>>>> hasher=o.a.i.cache.store.jdbc.JdbcTypeDefaultHasher@78d010a2, >>>>> dataSrc=null], storeKeepBinary=false, loadPrevVal=false, >>>>> aff=o.a.i.cache.affinity.rendezvous.RendezvousAffinityFunction@76311661, >>>>> cacheMode=PARTITIONED, atomicityMode=ATOMIC, atomicWriteOrderMode=PRIMARY, >>>>> backups=1, invalidate=false, tmLookupClsName=null, rebalanceMode=ASYNC, >>>>> rebalanceOrder=0, rebalanceBatchSize=524288, >>>>> rebalanceBatchesPrefetchCount=2, offHeapMaxMem=-1, swapEnabled=false, >>>>> maxConcurrentAsyncOps=500, writeBehindEnabled=false, >>>>> writeBehindFlushSize=10240, writeBehindFlushFreq=5000, >>>>> writeBehindFlushThreadCnt=1, writeBehindBatchSize=512, >>>>> memMode=ONHEAP_TIERED, >>>>> affMapper=o.a.i.i.processors.cache.CacheDefaultBinaryAffinityKeyMapper@2e41d426, >>>>> rebalanceDelay=0, rebalanceThrottle=0, interceptor=null, >>>>> longQryWarnTimeout=3000, readFromBackup=true, >>>>> nodeFilter=o.a.i.configuration.CacheConfiguration$IgniteAllNodesPredicate@d211e68, >>>>> sqlSchema=null, sqlEscapeAll=false, sqlOnheapRowCacheSize=10240, >>>>> snapshotableIdx=false, cpOnRead=true, topValidator=null], cacheType=USER, >>>>> initiatingNodeId=bc7d2aa2-4a64-467f-8097-d0f579dec0b3, nearCacheCfg=null, >>>>> clientStartOnly=true, stop=false, close=false, failIfExists=false, >>>>> template=false, exchangeNeeded=true, cacheFutTopVer=null, >>>>> cacheName=buCache]], clientNodes=null, >>>>> id=45ec9825451-cbb8263a-223e-4f3e-8492-71f2612ddae6, >>>>> clientReconnect=false], affTopVer=AffinityTopologyVersion [topVer=11, >>>>> minorTopVer=1], super=DiscoveryEvent [evtNode=TcpDiscoveryNode >>>>> [id=bc7d2aa2-4a64-467f-8097-d0f579dec0b3, addrs=[0:0:0:0:0:0:0:1, >>>>> 127.0.0.1, 192.168.0.5, 2001:0:9d38:90d7:1064:ea:bb9b:11d9, >>>>> 2600:8806:0:8d00:0:0:0:1, 2600:8806:0:8d00:15e5:c0bf:286e:8785, >>>>> 2600:8806:0:8d00:3ccf:1e94:1ab4:83a9], sockAddrs=[LAPTOP-QIT4AVOG/ >>>>> 192.168.0.5:0, /0:0:0:0:0:0:0:1:0, LAPTOP-QIT4AVOG/192.168.0.5:0, / >>>>> 127.0.0.1:0, LAPTOP-QIT4AVOG/192.168.0.5:0, /192.168.0.5:0, >>>>> LAPTOP-QIT4AVOG/192.168.0.5:0, /2001:0:9d38:90d7:1064:ea:bb9b:11d9:0, >>>>> LAPTOP-QIT4AVOG/192.168.0.5:0, /2600:8806:0:8d00:0:0:0:1:0, >>>>> /2600:8806:0:8d00:15e5:c0bf:286e:8785:0, >>>>> /2600:8806:0:8d00:3ccf:1e94:1ab4:83a9:0], discPort=0, order=11, >>>>> intOrder=0, >>>>> lastExchangeTime=1461673644205, loc=true, >>>>> ver=1.5.0#20151229-sha1:f1f8cda2, >>>>> isClient=true], topVer=11, nodeId8=bc7d2aa2, msg=null, >>>>> type=DISCOVERY_CUSTOM_EVT, tstamp=1461673645026]], >>>>> rcvdIds=GridConcurrentHashSet [elements=[]], rmtIds=null, >>>>> exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion >>>>> [topVer=11, minorTopVer=1], nodeId=bc7d2aa2, evt=DISCOVERY_CUSTOM_EVT], >>>>> init=true, ready=false, replied=false, added=true, >>>>> initFut=GridFutureAdapter [resFlag=2, res=false, startTime=1461673645026, >>>>> endTime=1461673645046, ignoreInterrupts=false, lsnr=null, state=DONE], >>>>> topSnapshot=null, lastVer=null, partReleaseFut=null, skipPreload=false, >>>>> clientOnlyExchange=false, initTs=1461673645026, >>>>> oldest=7700cd68-08b1-4571-8744-0e91dcdad9b0, oldestOrder=1, evtLatch=0, >>>>> remaining=[], super=GridFutureAdapter [resFlag=1, res=class >>>>> o.a.i.IgniteException: Spring application context resource is not >>>>> injected., startTime=1461673645026, endTime=1461673645046, >>>>> ignoreInterrupts=false, lsnr=null, state=DONE]] >>>>> class org.apache.ignite.IgniteCheckedException: Spring application >>>>> context resource is not injected. >>>>> at >>>>> org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7005) >>>>> at >>>>> org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:166) >>>>> at >>>>> org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:115) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:1299) >>>>> at >>>>> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) >>>>> at java.lang.Thread.run(Thread.java:745) >>>>> Caused by: 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:1243) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1638) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCachesStart(GridCacheProcessor.java:1563) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.startCaches(GridDhtPartitionsExchangeFuture.java:956) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:523) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:1297) >>>>> >>>>> On Tue, Apr 26, 2016 at 8:06 AM, Vladimir Ozerov <voze...@gridgain.com >>>>> > wrote: >>>>> >>>>>> Hi Murthy, >>>>>> >>>>>> Seems that you faced a kind of usability issue, which happens only in >>>>>> some specific cases. Please try replacing the following line in your >>>>>> config: >>>>>> >>>>>> <property name="dataSourceBean" value="myDataSource" /> >>>>>> >>>>>> with this: >>>>>> >>>>>> <property name="dataSource" ref="myDataSource" /> >>>>>> >>>>>> It should help. >>>>>> >>>>>> Vladimir. >>>>>> >>>>>> On Tue, Apr 26, 2016 at 1:36 AM, Murthy Kakarlamudi <ksa...@gmail.com >>>>>> > wrote: >>>>>> >>>>>>> Hi Alexey...Apologize the delay in my response. Below are the 2 >>>>>>> links from gdrive for my Java and c++ projects. >>>>>>> >>>>>>> Java Project: >>>>>>> https://drive.google.com/open?id=0B8lM91-_3MwRZmF6N0tnN1pyN2M >>>>>>> >>>>>>> C++ Project: >>>>>>> https://drive.google.com/open?id=0B8lM91-_3MwRMGE5akVWVXc0RXc >>>>>>> >>>>>>> Please let me know if you have any difficulty downloading the >>>>>>> projects. >>>>>>> >>>>>>> Thanks, >>>>>>> Satya. >>>>>>> >>>>>>> On Mon, Apr 25, 2016 at 10:49 AM, Alexey Kuznetsov < >>>>>>> akuznet...@gridgain.com> wrote: >>>>>>> >>>>>>>> I see in stack trace "Caused by: class >>>>>>>> org.apache.ignite.IgniteException: >>>>>>>> Spring application context resource is not injected." >>>>>>>> >>>>>>>> Also CacheJdbcPojoStoreFactory contains such declaration: >>>>>>>> @SpringApplicationContextResource >>>>>>>> private transient Object appCtx; >>>>>>>> >>>>>>>> Anybody know why appCtx may not be injected? >>>>>>>> >>>>>>>> Also Satya, it is possible for you to prepare small reproducible >>>>>>>> example that we could debug? >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Apr 25, 2016 at 9:39 PM, Vladimir Ozerov < >>>>>>>> voze...@gridgain.com> wrote: >>>>>>>> >>>>>>>>> Alexey Kuznetsov, >>>>>>>>> >>>>>>>>> Provided you have more expertise with POJO store, could you please >>>>>>>>> advise what could cause this exception? Seems that POJO store expects >>>>>>>>> some >>>>>>>>> injection, which doesn't happen. >>>>>>>>> Are there any specific requirements here? C++ node starts as a >>>>>>>>> regular node and also use Spring. >>>>>>>>> >>>>>>>>> Vladimir. >>>>>>>>> >>>>>>>>> On Mon, Apr 25, 2016 at 5:32 PM, Murthy Kakarlamudi < >>>>>>>>> ksa...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> Any help on this issue please... >>>>>>>>>> >>>>>>>>>> On Sat, Apr 16, 2016 at 7:29 PM, Murthy Kakarlamudi < >>>>>>>>>> ksa...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> In my use case, I am starting a node from .net which loads >>>>>>>>>>> data from SQL Server table into cache upon start up. I have to read >>>>>>>>>>> those >>>>>>>>>>> entries from cache from a c++ node that acts as a client. I am >>>>>>>>>>> getting the >>>>>>>>>>> below error trying to start the node from c++. >>>>>>>>>>> >>>>>>>>>>> [19:08:57] Security status [authentication=off, tls/ssl=off] >>>>>>>>>>> [19:08:58,163][SEVERE][main][IgniteKernal] Failed to start >>>>>>>>>>> manager: GridManagerAdapter [enabled=true, >>>>>>>>>>> name=o.a.i.i.managers.discovery.GridDiscoveryManager] >>>>>>>>>>> class org.apache.ignite.IgniteCheckedException: Remote node has >>>>>>>>>>> peer class loading enabled flag different from local >>>>>>>>>>> [locId8=f02445af, >>>>>>>>>>> locPeerClassLoading=true, rmtId8=8e52f9c9, >>>>>>>>>>> rmtPeerClassLoading=false, >>>>>>>>>>> rmtAddrs=[LAPTOP-QIT4AVOG/0:0:0:0:0:0:0:1, LAPTOP-QIT4AVOG/ >>>>>>>>>>> 127.0.0.1, LAPTOP-QIT4AVOG/192.168.0.5, >>>>>>>>>>> LAPTOP-QIT4AVOG/2001:0:9d38:90d7:145b:5bf:bb9b:11d9, >>>>>>>>>>> LAPTOP-QIT4AVOG/2600:8806:0:8d00:0:0:0:1, >>>>>>>>>>> /2600:8806:0:8d00:3ccf:1e94:1ab4:83a9, >>>>>>>>>>> /2600:8806:0:8d00:f114:bf30:2068:352d]] >>>>>>>>>>> at >>>>>>>>>>> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.checkAttributes(GridDiscoveryManager.java:1027) >>>>>>>>>>> at >>>>>>>>>>> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:680) >>>>>>>>>>> at >>>>>>>>>>> org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1505) >>>>>>>>>>> at >>>>>>>>>>> org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:917) >>>>>>>>>>> at >>>>>>>>>>> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1688) >>>>>>>>>>> at >>>>>>>>>>> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1547) >>>>>>>>>>> at >>>>>>>>>>> org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1003) >>>>>>>>>>> at >>>>>>>>>>> org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:534) >>>>>>>>>>> at >>>>>>>>>>> org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:515) >>>>>>>>>>> at org.apache.ignite.Ignition.start(Ignition.java:322) >>>>>>>>>>> at >>>>>>>>>>> org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java >>>>>>>>>>> >>>>>>>>>>> Below if my config for .net node: >>>>>>>>>>> <?xml version="1.0" encoding="UTF-8"?> >>>>>>>>>>> >>>>>>>>>>> <beans xmlns="http://www.springframework.org/schema/beans" >>>>>>>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>>>>>>>> xsi:schemaLocation=" >>>>>>>>>>> http://www.springframework.org/schema/beans >>>>>>>>>>> >>>>>>>>>>> http://www.springframework.org/schema/beans/spring-beans.xsd"> >>>>>>>>>>> <bean id="ignite.cfg" >>>>>>>>>>> class="org.apache.ignite.configuration.IgniteConfiguration"> >>>>>>>>>>> <property name="connectorConfiguration"> >>>>>>>>>>> <bean >>>>>>>>>>> class="org.apache.ignite.configuration.ConnectorConfiguration"> >>>>>>>>>>> <property name="idleTimeout" value="20000"/> >>>>>>>>>>> </bean> >>>>>>>>>>> </property> >>>>>>>>>>> >>>>>>>>>>> <property name="cacheConfiguration"> >>>>>>>>>>> <list> >>>>>>>>>>> <bean >>>>>>>>>>> class="org.apache.ignite.configuration.CacheConfiguration"> >>>>>>>>>>> <property name="name" value="BU"/> >>>>>>>>>>> <property name="writeThrough" value="true"/> >>>>>>>>>>> <property name="readThrough" value="true"/> >>>>>>>>>>> <property name="writeBehindEnabled" value="true"/> >>>>>>>>>>> <property name="writeBehindFlushFrequency" >>>>>>>>>>> value="120000"/> >>>>>>>>>>> <property name="cacheStoreFactory"> >>>>>>>>>>> <bean >>>>>>>>>>> class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory"> >>>>>>>>>>> <property name="typeName" >>>>>>>>>>> value="TestIgniteDAL.SQLServerStore, TestIgniteDAL"/> >>>>>>>>>>> </bean> >>>>>>>>>>> </property> >>>>>>>>>>> <property name ="typeMetadata"> >>>>>>>>>>> <list> >>>>>>>>>>> <bean >>>>>>>>>>> class="org.apache.ignite.cache.CacheTypeMetadata"> >>>>>>>>>>> <!-- Type to query. --> >>>>>>>>>>> <property name="valueType" value="BusinessUnit"/> >>>>>>>>>>> <!-- Fields to be queried. --> >>>>>>>>>>> <property name="queryFields"> >>>>>>>>>>> <map> >>>>>>>>>>> <entry key="BUID" value="java.lang.Integer"/> >>>>>>>>>>> <entry key="BUName" >>>>>>>>>>> value="java.lang.String"/> >>>>>>>>>>> <entry key="CreatedByID" >>>>>>>>>>> value="java.lang.Integer"/> >>>>>>>>>>> <entry key="CreatedDate" >>>>>>>>>>> value="java.util.Date"/> >>>>>>>>>>> <entry key="ModifiedByID" >>>>>>>>>>> value="java.lang.Integer"/> >>>>>>>>>>> <entry key="ModifiedDate" >>>>>>>>>>> value="java.util.Date"/> >>>>>>>>>>> </map> >>>>>>>>>>> </property> >>>>>>>>>>> <!-- Fields to index in ascending order. --> >>>>>>>>>>> <property name="ascendingFields"> >>>>>>>>>>> <map> >>>>>>>>>>> <entry key="BUID" value="java.lang.Integer"/> >>>>>>>>>>> </map> >>>>>>>>>>> </property> >>>>>>>>>>> </bean> >>>>>>>>>>> </list> >>>>>>>>>>> </property> >>>>>>>>>>> </bean> >>>>>>>>>>> </list> >>>>>>>>>>> </property> >>>>>>>>>>> >>>>>>>>>>> <property name="communicationSpi"> >>>>>>>>>>> <bean >>>>>>>>>>> class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi"> >>>>>>>>>>> <property name="sharedMemoryPort" value="-1"/> >>>>>>>>>>> </bean> >>>>>>>>>>> </property> >>>>>>>>>>> >>>>>>>>>>> <property name="discoverySpi"> >>>>>>>>>>> <bean >>>>>>>>>>> class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> >>>>>>>>>>> <property name="ipFinder"> >>>>>>>>>>> <bean >>>>>>>>>>> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder"> >>>>>>>>>>> <property name="addresses"> >>>>>>>>>>> <list> >>>>>>>>>>> <value>127.0.0.1:47500..47509</value> >>>>>>>>>>> </list> >>>>>>>>>>> </property> >>>>>>>>>>> </bean> >>>>>>>>>>> </property> >>>>>>>>>>> </bean> >>>>>>>>>>> </property> >>>>>>>>>>> </bean> >>>>>>>>>>> </beans> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Below is my config for node from c++: >>>>>>>>>>> <?xml version="1.0" encoding="UTF-8"?> >>>>>>>>>>> >>>>>>>>>>> <!-- >>>>>>>>>>> Licensed to the Apache Software Foundation (ASF) under one or >>>>>>>>>>> more >>>>>>>>>>> contributor license agreements. See the NOTICE file >>>>>>>>>>> distributed with >>>>>>>>>>> this work for additional information regarding copyright >>>>>>>>>>> ownership. >>>>>>>>>>> The ASF licenses this file to You under the Apache License, >>>>>>>>>>> Version 2.0 >>>>>>>>>>> (the "License"); you may not use this file except in >>>>>>>>>>> compliance with >>>>>>>>>>> the License. You may obtain a copy of the License at >>>>>>>>>>> >>>>>>>>>>> http://www.apache.org/licenses/LICENSE-2.0 >>>>>>>>>>> >>>>>>>>>>> Unless required by applicable law or agreed to in writing, >>>>>>>>>>> software >>>>>>>>>>> distributed under the License is distributed on an "AS IS" >>>>>>>>>>> BASIS, >>>>>>>>>>> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express >>>>>>>>>>> or implied. >>>>>>>>>>> See the License for the specific language governing >>>>>>>>>>> permissions and >>>>>>>>>>> limitations under the License. >>>>>>>>>>> --> >>>>>>>>>>> >>>>>>>>>>> <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="peerClassLoadingEnabled" 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> >>>>>>>>>>> >>>>>>>>>>> Below c++ code is trying to access the cache: >>>>>>>>>>> int main() >>>>>>>>>>> { >>>>>>>>>>> IgniteConfiguration cfg; >>>>>>>>>>> >>>>>>>>>>> cfg.jvmInitMem = 512; >>>>>>>>>>> cfg.jvmMaxMem = 512; >>>>>>>>>>> >>>>>>>>>>> //cfg.springCfgPath = >>>>>>>>>>> "platforms/cpp/examples/config/example-cache.xml"; >>>>>>>>>>> cfg.springCfgPath = "config/example-cache.xml"; >>>>>>>>>>> try >>>>>>>>>>> { >>>>>>>>>>> // Start a node. >>>>>>>>>>> Ignite grid = Ignition::Start(cfg); >>>>>>>>>>> std::cout << std::endl; >>>>>>>>>>> std::cout << ">>> Cache node started." << std::endl; >>>>>>>>>>> std::cout << std::endl; >>>>>>>>>>> >>>>>>>>>>> //string key >>>>>>>>>>> Cache<std::string, CBusinessObject> cache = >>>>>>>>>>> grid.GetCache<std::string, CBusinessObject>("BU"); >>>>>>>>>>> cache.Clear(); >>>>>>>>>>> CBusinessObject obj("MSFT", 45.23); >>>>>>>>>>> //save in cache >>>>>>>>>>> cache.Put("MSFT", obj); >>>>>>>>>>> >>>>>>>>>>> //retreive from cache >>>>>>>>>>> CBusinessObject result = cache.Get("MSFT"); >>>>>>>>>>> >>>>>>>>>>> std::cout << result.ToString(); >>>>>>>>>>> >>>>>>>>>>> // Stop node. >>>>>>>>>>> Ignition::StopAll(false); >>>>>>>>>>> } >>>>>>>>>>> catch (IgniteError& err) >>>>>>>>>>> { >>>>>>>>>>> std::cout << "An error occurred: " << err.GetText() << std::endl; >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> std::cout << std::endl; >>>>>>>>>>> std::cout << ">>> Execution finished, press any key to exit ..." >>>>>>>>>>> << std::endl; >>>>>>>>>>> std::cout << std::endl; >>>>>>>>>>> >>>>>>>>>>> std::cin.get(); >>>>>>>>>>> >>>>>>>>>>> return 0; >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> Thanks for any help. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Alexey Kuznetsov >>>>>>>> GridGain Systems >>>>>>>> www.gridgain.com >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >