ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Murthy Kakarlamudi <ksa...@gmail.com>
Subject Re: Error running nodes in .net and c++
Date Tue, 26 Apr 2016 13:44:02 GMT
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 <vozerov@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 <ksatya@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 <vozerov@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 <ksatya@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 <
>>>> akuznetsov@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 <vozerov@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 <ksatya@gmail.com
>>>>>> > wrote:
>>>>>>
>>>>>>> Any help on this issue please...
>>>>>>>
>>>>>>> On Sat, Apr 16, 2016 at 7:29 PM, Murthy Kakarlamudi <
>>>>>>> ksatya@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
>>>>>
>>>>
>>>>
>>>
>>
>

Mime
View raw message