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 >