<?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 cache.

    When starting a standalone Ignite node, you need to execute the following command:
    {IGNITE_HOME}/bin/ignite.{bat|sh} path-to-this-file/example-cache.xml

    When starting Ignite from Java IDE, pass path to this file into Ignition:
    Ignition.start("path-to-this-file/example-benchmark.xml");
-->
<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">
    <!--
        Optional description.
    -->
    <description>
        Spring file for grid configuration with benchmark.
    </description>

    <!--
        Configuration below demonstrates how to setup a collision and failover SPI's
        to enable work stealing from overloaded nodes to underloaded nodes.

        Note that for job stealing to work, you must always use both,
        GridJobStealingCollisionSpi and GridJobStealingFailoverSPI.
    -->
    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
        <property name="localHost" value="127.0.0.1"/>

        <property name="cacheConfiguration">
            <bean class="org.apache.ignite.configuration.CacheConfiguration">
                <property name="name" value="test-cache"/>
                <property name="cacheMode" value="PARTITIONED"/>

                <property name="rebalanceMode" value="SYNC"/>
            </bean>
        </property>

        <property name="networkTimeout" value="10000"/>

        <!--
            Uncomment this to provide TCP discovery SPI (predefined addresses).
            Use the addresses list to provide IP addresses of initial nodes in the grid
            (at least one address must be provided).
        -->
        <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>
                                <!--
                                    List all IP/port configurations that potentially
                                    can be started first in examples. We are assuming
                                    grid of size 10 or less.
                                -->
                                <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>
    </bean>
</beans>
