Murthy, Is this what you are looking for? https://ignite.apache.org/community/contribute.html#nightly-builds
D. On Wed, Apr 27, 2016 at 8:13 AM, Murthy Kakarlamudi <[email protected]> wrote: > Great..Thank you so much Vladimir. While I wait for 1.6 release, can I get > the latest source, build it to use? Or are the pre-GA 1.6 binaries > available to download? > > Thanks, > Murthy. > > On Wed, Apr 27, 2016 at 9:45 AM, Vladimir Ozerov <[email protected]> > wrote: > >> 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 <[email protected]> >> 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 <[email protected]> >>> 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 <[email protected]> >>>> 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 <[email protected] >>>>> > 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 <[email protected] >>>>>> > 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 < >>>>>>> [email protected]> 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 < >>>>>>>> [email protected]> 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 < >>>>>>>>> [email protected]> 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 < >>>>>>>>>> [email protected]> 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 < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Any help on this issue please... >>>>>>>>>>>> >>>>>>>>>>>> On Sat, Apr 16, 2016 at 7:29 PM, Murthy Kakarlamudi < >>>>>>>>>>>> [email protected]> 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 >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
