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 >>>>> >>>> >>>> >>> >> >
