<?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 grid.
-->
<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-2.5.xsd">
    <import resource="ignite-pr-base-config.xml"/>

    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration" parent="base-ignite.cfg">
        <property name="localHost" value="127.0.0.1"/>

        <property name="dataStorageConfiguration">
            <bean class="org.apache.ignite.configuration.DataStorageConfiguration">
                <property name="checkpointFrequency" value="60000"/>
                <property name="walHistorySize" value="40"/>
                <property name="writeThrottlingEnabled" value="true"/>

                <!-- Defining several data regions for different memory regions -->
                <property name="dataRegionConfigurations">
                    <list>
                        <!--
                            Memory region of 40 MBs in size with an eviction enabled.
                        -->
                        <bean class="org.apache.ignite.configuration.DataRegionConfiguration">
                            <property name="name" value="ATOMIC_REGION"/>
                            <!-- Memory region of 40 MB initial size. -->
                            <property name="initialSize" value="#{400 * 1024 * 1024}"/>
                            <!-- Maximum size is 40 MB. -->
                            <property name="maxSize" value="#{400 * 1024 * 1024}"/>
                            <!-- Enabling eviction for this memory region -->
                            <property name="pageEvictionMode" value="RANDOM_2_LRU"/>

                            <property name="metricsEnabled" value="true"/>
                            <property name="persistenceEnabled" value="true"/>
                        </bean>

                        <!--
                            This memory region is backed by a memory-mapped file which names is passed via
                            'swapFilePath' parameter.
                        -->
                        <bean class="org.apache.ignite.configuration.DataRegionConfiguration">
                            <property name="name" value="TRANSACTIONAL_REGION"/>
                            <!-- Memory region of 40 MB initial size. -->
                            <property name="initialSize" value="#{400 * 1024 * 1024}"/>
                            <!-- Maximum size is 40 MB. -->
                            <property name="maxSize" value="#{400 * 1024 * 1024}"/>
                            <!-- Enabling eviction for this memory region -->
                            <property name="pageEvictionMode" value="RANDOM_2_LRU"/>

                            <property name="metricsEnabled" value="true"/>
                            <property name="persistenceEnabled" value="true"/>
                        </bean>
                    </list>
                </property>

            </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</value>
                                <value>127.0.0.1:47501</value>
                                <value>127.0.0.1:47502</value>
                                <value>127.0.0.1:47503</value>
                                <value>127.0.0.1:47504</value>
                                <value>127.0.0.1:47505</value>
                                <value>127.0.0.1:47506</value>
                                <value>127.0.0.1:47507</value>
                                <value>127.0.0.1:47508</value>
                                <value>127.0.0.1:47509</value>
                            </list>
                        </property>
                    </bean>
                </property>
            </bean>
        </property>

        <property name="communicationSpi">
            <bean class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">
                <property name="sharedMemoryPort" value="-1"/>
            </bean>
        </property>
    </bean>
</beans>
