<?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:cache="http://www.springframework.org/schema/cache"
       xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd">
    <bean id="cacheManager" class="org.apache.ignite.cache.spring.IgniteClientSpringCacheManager">
        <property name="clientConfiguration">
            <bean class="org.apache.ignite.configuration.ClientConfiguration">
                <property name="addresses">
                    <list>
                        <value>127.0.0.1:10801</value>
                    </list>
                </property>
            </bean>
        </property>

        <property name="dynamicCacheConfiguration">
            <bean class="org.apache.ignite.client.ClientCacheConfiguration">
                <property name="backups" value="2"/>
            </bean>
        </property>
    </bean>

    <bean id="ignite" class="org.apache.ignite.IgniteSpringBean">
        <property name="configuration">
            <bean class="org.apache.ignite.configuration.IgniteConfiguration">
                <property name="localHost" value="127.0.0.1"/>

                <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>

                <property name="peerClassLoadingEnabled" value="true"/>

                <property name="binaryConfiguration">
                    <bean class="org.apache.ignite.configuration.BinaryConfiguration">
                        <property name="compactFooter" value="true"/>
                    </bean>
                </property>

                <property name="clientConnectorConfiguration">
                    <bean class="org.apache.ignite.configuration.ClientConnectorConfiguration">
                        <property name="host" value="127.0.0.1"/>
                        <property name="port" value="10801"/>
                    </bean>
                </property>
            </bean>
        </property>
    </bean>

    <cache:annotation-driven/>
</beans>
