General Questions

Expand all | Collapse all

3rd party persistence- From RDBMS load data into Ignite cache

  • 1.  3rd party persistence- From RDBMS load data into Ignite cache

    Posted 12-17-2019 09:36 AM
    Ignite cluster is deployed on Kubernetes environment with 2 instance of server.
    Webconsole frontend, backend, & webagent is also running in kubernetes under same namespace.

    Using ignite webconsole i have imported metadata of postgresql(RDBMS)  i have imported schema information of database, on configuration page created the caches & sqlschema & downloaded the project.

    As my ignite server is running in container environment i cannot deploy the jars files on running container  build using project files from webconsole.

    how the configuration can be deployed/configured for loading cache from 3rd party persistence storage in container environment.

    Do i need to pass the cachedatabase.xml file which was created during cache configuration from webconsole to running ignite server.

    please suggest

    ------------------------------
    ankit gupta
    BigData consultant

    ------------------------------


  • 2.  RE: 3rd party persistence- From RDBMS load data into Ignite cache

    Posted 12-18-2019 01:25 AM
    Hello!

    Downloadable projects actually contain a Dockerfile, you can use it to understand how to deploy this project properly in a container environment.

    You can also probably build the project with Maven and just use the jar file in your containerized environment together with GridGain and JDBC driver JARs. I don't see why you can't put a JAR in a container.

    Regards,

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------



  • 3.  RE: 3rd party persistence- From RDBMS load data into Ignite cache

    Posted 12-18-2019 07:10 PM

    Hi IIya,

    Yes i have put the jar file from build project at libs folder of gridgain. But when i trying to execute the ignite cache by running /bin/ignite.sh and passing databasecache.xml file... i see instance of gridgain is created and processing stopped, nothing coming on screen.

    databasecache.xml contains database connection string & all java objects details of table & cache.

    Is this is correct approach to trigger database cache ? how does the LoadCaches will be called ? which actually load data from 3party database to gridgain cache. 



    ------------------------------
    ankit gupta
    BigData consultant
    Fujitsu
    ------------------------------



  • 4.  RE: 3rd party persistence- From RDBMS load data into Ignite cache

    Posted 12-19-2019 01:47 AM
    Hello!

    Unfortunately I have no idea about contents of this file, I don't see files like this one in my projects downloaded from Web Console. Can you share its contents?

    You need to run LoadCaches class manually as a stand-alone Java application to trigger data load.

    Regards,

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------



  • 5.  RE: 3rd party persistence- From RDBMS load data into Ignite cache

    Posted 12-19-2019 08:02 AM
    Edited by ankit gupta 12-19-2019 08:03 AM

    For reference attaching screen shot of project structure & the build jar is copied to libs directory.


    Below is the FepDatbaseCache.xml file which is passed as and argument to ignite.sh script
    /opt/gridgain/bin # ./ignite.sh //opt/gridgain/examples/config/databasecache.xml
    <?xml version="1.0" encoding="UTF-8"?>
    
    <!-- This file was generated by Ignite Web Console (12/19/2019, 08:42) -->
    
    <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">
        <!-- Load external properties file. -->
        <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="location" value="classpath:secret.properties"/>
        </bean>
    
        <!-- Data source beans will be initialized from external properties file. -->
        <bean id="dsPostgreSQL_Gridgain" class="org.postgresql.ds.PGPoolingDataSource">
            <property name="url" value="jdbc:postgresql://fep:27500/gridgain"/>
            <property name="user" value="gridgain_user"/>
            <property name="password" value="fep_Gr1dGa1nU5er"/>
        </bean>
    
        <bean class="org.apache.ignite.configuration.IgniteConfiguration">
            <property name="igniteInstanceName" value="FepDatabaseCache"/>
    
            <property name="discoverySpi">
                <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
                    <property name="ipFinder">
                        <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.kubernetes.TcpDiscoveryKubernetesIpFinder">
                            <property name="namespace" value="dataservice"/>
                        </bean>
                    </property>
                </bean>
            </property>
    
            <property name="cacheConfiguration">
                <list>
                    <bean class="org.apache.ignite.configuration.CacheConfiguration">
                        <property name="name" value="CityFepCache"/>
                        <property name="cacheMode" value="PARTITIONED"/>
                        <property name="atomicityMode" value="ATOMIC"/>
                        <property name="copyOnRead" value="true"/>
                        <property name="sqlSchema" value="PUBLIC"/>
    
                        <property name="cacheStoreFactory">
                            <bean class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory">
                                <property name="dataSourceBean" value="dsPostgreSQL_Gridgain"/>
                                <property name="dialect">
                                    <bean class="org.apache.ignite.cache.store.jdbc.dialect.BasicJdbcDialect">
                                    </bean>
                                </property>
    
                                <property name="types">
                                    <list>
                                        <bean class="org.apache.ignite.cache.store.jdbc.JdbcType">
                                            <property name="cacheName" value="CityFepCache"/>
                                            <property name="keyType" value="com.fujitsu.admin.model.CityFepKey"/>
                                            <property name="valueType" value="com.fujitsu.admin.model.CityFep"/>
                                            <property name="databaseSchema" value="public"/>
                                            <property name="databaseTable" value="city_fep"/>
    
                                            <property name="keyFields">
                                                <list>
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.INTEGER"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="id_fep"/>
                                                        <constructor-arg value="int"/>
                                                        <constructor-arg value="idFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.CHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="countrycode_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="countrycodeFep"/>
                                                    </bean>
                                                </list>
                                            </property>
    
                                            <property name="valueFields">
                                                <list>
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.VARCHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="name_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="nameFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.VARCHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="district_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="districtFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.INTEGER"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="population_fep"/>
                                                        <constructor-arg value="java.lang.Integer"/>
                                                        <constructor-arg value="populationFep"/>
                                                    </bean>
                                                </list>
                                            </property>
                                        </bean>
                                    </list>
                                </property>
                            </bean>
                        </property>
    
                        <property name="readThrough" value="true"/>
                        <property name="writeThrough" value="true"/>
                        <property name="eagerTtl" value="true"/>
    
                        <property name="queryEntities">
                            <list>
                                <bean class="org.apache.ignite.cache.QueryEntity">
                                    <property name="keyType" value="com.fujitsu.admin.model.CityFepKey"/>
                                    <property name="valueType" value="com.fujitsu.admin.model.CityFep"/>
                                    <property name="tableName" value="city_fep"/>
    
                                    <property name="keyFields">
                                        <list>
                                            <value>idFep</value>
                                        </list>
                                    </property>
    
                                    <property name="fields">
                                        <map>
                                            <entry key="idFep" value="java.lang.Integer"/>
                                            <entry key="nameFep" value="java.lang.String"/>
                                            <entry key="countrycodeFep" value="java.lang.String"/>
                                            <entry key="districtFep" value="java.lang.String"/>
                                            <entry key="populationFep" value="java.lang.Integer"/>
                                        </map>
                                    </property>
    
                                    <property name="aliases">
                                        <map>
                                            <entry key="idFep" value="id_fep"/>
                                            <entry key="nameFep" value="name_fep"/>
                                            <entry key="countrycodeFep" value="countrycode_fep"/>
                                            <entry key="districtFep" value="district_fep"/>
                                            <entry key="populationFep" value="population_fep"/>
                                        </map>
                                    </property>
    
                                    <property name="indexes">
                                        <list>
                                            <bean class="org.apache.ignite.cache.QueryIndex">
                                                <property name="name" value="index_id_fep"/>
                                                <property name="indexType" value="SORTED"/>
    
                                                <property name="fields">
                                                    <map>
                                                        <entry key="idFep" value="false"/>
                                                    </map>
                                                </property>
                                            </bean>
                                        </list>
                                    </property>
                                </bean>
                            </list>
                        </property>
                    </bean>
    
                    <bean class="org.apache.ignite.configuration.CacheConfiguration">
                        <property name="name" value="CountryFepCache"/>
                        <property name="cacheMode" value="PARTITIONED"/>
                        <property name="atomicityMode" value="ATOMIC"/>
                        <property name="copyOnRead" value="true"/>
                        <property name="sqlSchema" value="PUBLIC"/>
    
                        <property name="cacheStoreFactory">
                            <bean class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory">
                                <property name="dataSourceBean" value="dsPostgreSQL_Gridgain"/>
                                <property name="dialect">
                                    <bean class="org.apache.ignite.cache.store.jdbc.dialect.BasicJdbcDialect">
                                    </bean>
                                </property>
    
                                <property name="types">
                                    <list>
                                        <bean class="org.apache.ignite.cache.store.jdbc.JdbcType">
                                            <property name="cacheName" value="CountryFepCache"/>
                                            <property name="keyType" value="java.lang.String"/>
                                            <property name="valueType" value="com.fujitsu.admin.model.CountryFep"/>
                                            <property name="databaseSchema" value="public"/>
                                            <property name="databaseTable" value="country_fep"/>
    
                                            <property name="keyFields">
                                                <list>
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.CHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="code_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="codeFep"/>
                                                    </bean>
                                                </list>
                                            </property>
    
                                            <property name="valueFields">
                                                <list>
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.VARCHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="name_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="nameFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.VARCHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="continent_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="continentFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.VARCHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="region_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="regionFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.NUMERIC"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="surfacearea_fep"/>
                                                        <constructor-arg value="java.math.BigDecimal"/>
                                                        <constructor-arg value="surfaceareaFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.SMALLINT"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="indepyear_fep"/>
                                                        <constructor-arg value="java.lang.Short"/>
                                                        <constructor-arg value="indepyearFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.INTEGER"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="population_fep"/>
                                                        <constructor-arg value="java.lang.Integer"/>
                                                        <constructor-arg value="populationFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.NUMERIC"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="lifeexpectancy_fep"/>
                                                        <constructor-arg value="java.math.BigDecimal"/>
                                                        <constructor-arg value="lifeexpectancyFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.NUMERIC"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="gnp_fep"/>
                                                        <constructor-arg value="java.math.BigDecimal"/>
                                                        <constructor-arg value="gnpFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.NUMERIC"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="gnpold_fep"/>
                                                        <constructor-arg value="java.math.BigDecimal"/>
                                                        <constructor-arg value="gnpoldFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.VARCHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="localname_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="localnameFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.VARCHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="governmentform_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="governmentformFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.VARCHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="headofstate_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="headofstateFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.INTEGER"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="capital_fep"/>
                                                        <constructor-arg value="java.lang.Integer"/>
                                                        <constructor-arg value="capitalFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.CHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="code2_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="code2Fep"/>
                                                    </bean>
                                                </list>
                                            </property>
                                        </bean>
                                    </list>
                                </property>
                            </bean>
                        </property>
    
                        <property name="readThrough" value="true"/>
                        <property name="writeThrough" value="true"/>
                        <property name="eagerTtl" value="true"/>
    
                        <property name="queryEntities">
                            <list>
                                <bean class="org.apache.ignite.cache.QueryEntity">
                                    <property name="keyType" value="java.lang.String"/>
                                    <property name="valueType" value="com.fujitsu.admin.model.CountryFep"/>
                                    <property name="tableName" value="country_fep"/>
                                    <property name="keyFieldName" value="codeFep"/>
    
                                    <property name="keyFields">
                                        <list>
                                            <value>codeFep</value>
                                        </list>
                                    </property>
    
                                    <property name="fields">
                                        <map>
                                            <entry key="nameFep" value="java.lang.String"/>
                                            <entry key="continentFep" value="java.lang.String"/>
                                            <entry key="regionFep" value="java.lang.String"/>
                                            <entry key="surfaceareaFep" value="java.math.BigDecimal"/>
                                            <entry key="indepyearFep" value="java.lang.Short"/>
                                            <entry key="populationFep" value="java.lang.Integer"/>
                                            <entry key="lifeexpectancyFep" value="java.math.BigDecimal"/>
                                            <entry key="gnpFep" value="java.math.BigDecimal"/>
                                            <entry key="gnpoldFep" value="java.math.BigDecimal"/>
                                            <entry key="localnameFep" value="java.lang.String"/>
                                            <entry key="governmentformFep" value="java.lang.String"/>
                                            <entry key="headofstateFep" value="java.lang.String"/>
                                            <entry key="capitalFep" value="java.lang.Integer"/>
                                            <entry key="code2Fep" value="java.lang.String"/>
                                            <entry key="codeFep" value="java.lang.String"/>
                                        </map>
                                    </property>
    
                                    <property name="aliases">
                                        <map>
                                            <entry key="codeFep" value="code_fep"/>
                                            <entry key="nameFep" value="name_fep"/>
                                            <entry key="continentFep" value="continent_fep"/>
                                            <entry key="regionFep" value="region_fep"/>
                                            <entry key="surfaceareaFep" value="surfacearea_fep"/>
                                            <entry key="indepyearFep" value="indepyear_fep"/>
                                            <entry key="populationFep" value="population_fep"/>
                                            <entry key="lifeexpectancyFep" value="lifeexpectancy_fep"/>
                                            <entry key="gnpFep" value="gnp_fep"/>
                                            <entry key="gnpoldFep" value="gnpold_fep"/>
                                            <entry key="localnameFep" value="localname_fep"/>
                                            <entry key="governmentformFep" value="governmentform_fep"/>
                                            <entry key="headofstateFep" value="headofstate_fep"/>
                                            <entry key="capitalFep" value="capital_fep"/>
                                            <entry key="code2Fep" value="code2_fep"/>
                                        </map>
                                    </property>
    
                                    <property name="indexes">
                                        <list>
                                            <bean class="org.apache.ignite.cache.QueryIndex">
                                                <property name="name" value="index_code_fep"/>
                                                <property name="indexType" value="SORTED"/>
    
                                                <property name="fields">
                                                    <map>
                                                        <entry key="codeFep" value="false"/>
                                                    </map>
                                                </property>
                                            </bean>
                                        </list>
                                    </property>
                                </bean>
                            </list>
                        </property>
                    </bean>
    
                    <bean class="org.apache.ignite.configuration.CacheConfiguration">
                        <property name="name" value="CountrylanguageFepCache"/>
                        <property name="cacheMode" value="PARTITIONED"/>
                        <property name="atomicityMode" value="ATOMIC"/>
                        <property name="copyOnRead" value="true"/>
                        <property name="sqlSchema" value="PUBLIC"/>
    
                        <property name="cacheStoreFactory">
                            <bean class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory">
                                <property name="dataSourceBean" value="dsPostgreSQL_Gridgain"/>
                                <property name="dialect">
                                    <bean class="org.apache.ignite.cache.store.jdbc.dialect.BasicJdbcDialect">
                                    </bean>
                                </property>
    
                                <property name="types">
                                    <list>
                                        <bean class="org.apache.ignite.cache.store.jdbc.JdbcType">
                                            <property name="cacheName" value="CountrylanguageFepCache"/>
                                            <property name="keyType" value="com.fujitsu.admin.model.CountrylanguageFepKey"/>
                                            <property name="valueType" value="com.fujitsu.admin.model.CountrylanguageFep"/>
                                            <property name="databaseSchema" value="public"/>
                                            <property name="databaseTable" value="countrylanguage_fep"/>
    
                                            <property name="keyFields">
                                                <list>
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.CHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="countrycode_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="countrycodeFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.VARCHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="language_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="languageFep"/>
                                                    </bean>
                                                </list>
                                            </property>
    
                                            <property name="valueFields">
                                                <list>
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.CHAR"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="isofficial_fep"/>
                                                        <constructor-arg value="java.lang.String"/>
                                                        <constructor-arg value="isofficialFep"/>
                                                    </bean>
    
                                                    <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                        <constructor-arg>
                                                            <util:constant static-field="java.sql.Types.NUMERIC"/>
                                                        </constructor-arg>
                                                        <constructor-arg value="percentage_fep"/>
                                                        <constructor-arg value="java.math.BigDecimal"/>
                                                        <constructor-arg value="percentageFep"/>
                                                    </bean>
                                                </list>
                                            </property>
                                        </bean>
                                    </list>
                                </property>
                            </bean>
                        </property>
    
                        <property name="readThrough" value="true"/>
                        <property name="writeThrough" value="true"/>
                        <property name="eagerTtl" value="true"/>
    
                        <property name="queryEntities">
                            <list>
                                <bean class="org.apache.ignite.cache.QueryEntity">
                                    <property name="keyType" value="com.fujitsu.admin.model.CountrylanguageFepKey"/>
                                    <property name="valueType" value="com.fujitsu.admin.model.CountrylanguageFep"/>
                                    <property name="tableName" value="countrylanguage_fep"/>
    
                                    <property name="keyFields">
                                        <list>
                                            <value>countrycodeFep</value>
                                        </list>
                                    </property>
    
                                    <property name="fields">
                                        <map>
                                            <entry key="countrycodeFep" value="java.lang.String"/>
                                            <entry key="languageFep" value="java.lang.String"/>
                                            <entry key="isofficialFep" value="java.lang.String"/>
                                            <entry key="percentageFep" value="java.math.BigDecimal"/>
                                        </map>
                                    </property>
    
                                    <property name="aliases">
                                        <map>
                                            <entry key="countrycodeFep" value="countrycode_fep"/>
                                            <entry key="languageFep" value="language_fep"/>
                                            <entry key="isofficialFep" value="isofficial_fep"/>
                                            <entry key="percentageFep" value="percentage_fep"/>
                                        </map>
                                    </property>
    
                                    <property name="indexes">
                                        <list>
                                            <bean class="org.apache.ignite.cache.QueryIndex">
                                                <property name="name" value="index_countrycode_fep"/>
                                                <property name="indexType" value="SORTED"/>
    
                                                <property name="fields">
                                                    <map>
                                                        <entry key="countrycodeFep" value="false"/>
                                                    </map>
                                                </property>
                                            </bean>
                                        </list>
                                    </property>
                                </bean>
                            </list>
                        </property>
                    </bean>
                </list>
            </property>
        </bean>
    </beans>

    And the output/ result after running ignite.sh script  executed on gridgain node;

    ========================================================================================

    /opt/gridgain/bin # ./ignite.sh //opt/gridgain/examples/config/databasecache.xml
    [05:06:15] __________ ________________
    [05:06:15] / _/ ___/ |/ / _/_ __/ __/
    [05:06:15] _/ // (7 7 // / / / / _/
    [05:06:15] /___/\___/_/|_/___/ /_/ /___/
    [05:06:15]
    [05:06:15] ver. 8.7.6#20190704-sha1:6449a674
    [05:06:15] 2019 Copyright(C) Apache Software Foundation
    [05:06:15]
    [05:06:15] Ignite documentation: http://gridgain.com
    [05:06:15]
    [05:06:15] Quiet mode.
    [05:06:15] ^-- Logging to file '/opt/gridgain/work/log/ignite-de084f4e.0.log'
    [05:06:15] ^-- Logging by 'JavaLogger [quiet=true, config=null]'
    [05:06:15] ^-- To see **FULL** console log here add -DIGNITE_QUIET=false or "-v" to ignite.{sh|bat}
    [05:06:15]
    [05:06:15] OS: Linux 4.15.0-1064-azure amd64
    [05:06:15] VM information: OpenJDK Runtime Environment 1.8.0_201-b08 Oracle Corporation OpenJDK 64-Bit Server VM 25.201-b08
    [05:06:15] Initial heap size is 126MB (should be no less than 512MB, use -Xms512m -Xmx512m).
    [05:06:16] Configured plugins:
    [05:06:16] ^-- GridGain 8.7.6#20190702-sha1:770681aa
    [05:06:16] ^-- 2019 Copyright(C) GridGain Systems
    [05:06:16]
    [05:06:16] Configured failure handler: [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, super=AbstractFailureHandler [ignoredFailureTypes=[SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]]]
    [05:06:16] Message queue limit is set to 0 which may lead to potential OOMEs when running cache operations in FULL_ASYNC or PRIMARY_SYNC modes due to message queues growth on sender and receiver sides.
    [05:06:16] Security status [authentication=off, tls/ssl=off]
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/opt/gridgain/libs/FepDatabaseCache-project.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/opt/gridgain/libs/slf4j-log4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
    [05:06:19] Rolling updates are disabled. GridGain version update will require full cluster restart. Consider changing 'GridGainConfiguration.rollingUpdatesEnabled' configuration property.
    log4j:WARN No appenders could be found for logger (org.springframework.beans.factory.support.DefaultListableBeanFactory).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    [05:06:25] Performance suggestions for grid 'FepDatabaseCache' (fix if possible)
    [05:06:25] To disable, set -DIGNITE_PERFORMANCE_SUGGESTIONS_DISABLED=true
    [05:06:25] ^-- Enable G1 Garbage Collector (add '-XX:+UseG1GC' to JVM options)
    [05:06:25] ^-- Specify JVM heap max size (add '-Xmx<size>[g|G|m|M|k|K]' to JVM options)
    [05:06:25] ^-- Set max direct memory size if getting 'OOME: Direct buffer memory' (add '-XX:MaxDirectMemorySize=<size>[g|G|m|M|k|K]' to JVM options)
    [05:06:25] ^-- Disable processing of calls to System.gc() (add '-XX:+DisableExplicitGC' to JVM options)
    [05:06:25] ^-- Enable write-behind to persistent store (set 'writeBehindEnabled' to true)
    [05:06:25] Refer to this page for more performance suggestions: https://apacheignite.readme.io/docs/jvm-and-system-tuning
    [05:06:25]
    [05:06:25] To start Console Management & Monitoring run ignitevisorcmd.{sh|bat}
    [05:06:25] Data Regions Configured:
    [05:06:25] ^-- default [initSize=256.0 MiB, maxSize=1.6 GiB, persistence=false]
    [05:06:25]
    [05:06:25] Ignite node started OK (id=de084f4e, instance name=FepDatabaseCache)
    [05:06:25] Topology snapshot [ver=2, locNode=de084f4e, servers=2, clients=0, state=ACTIVE, CPUs=2, offheap=3.1GB, heap=3.8GB]
    [05:06:32] New version is available at gridgain.com: 8.7.8

    =====================================================================================

    After this nothing came on screen, where & how i need to execute LoadCaches .



    ------------------------------
    ankit gupta
    BigData consultant
    Fujitsu
    ------------------------------



  • 6.  RE: 3rd party persistence- From RDBMS load data into Ignite cache

    Posted 12-19-2019 08:46 AM
    Hello!

    You can try running:

    /opt/gridgain/bin # MAIN_CLASS=load.LoadCaches ./ignite.sh

    Please note that you will need to put your project's jar file (built with Maven from downloaded Web Console project) into your classpath (libs/) along with any 3rd party JDBC drivers.

    Regards,
    ​​​

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------