<?xml version="1.0" encoding="UTF-8"?>

<!-- Ignite configuration with all defaults and enabled p2p deployment and 
	enabled events. -->
<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="rest.cfg" class="org.apache.ignite.configuration.ConnectorConfiguration">
		<property name="jettyPath" value="src/main/resources/rest-jetty-config.xml" />
	</bean>

	<bean abstract="true" id="ignite.cfg"
		class="org.apache.ignite.configuration.IgniteConfiguration">

		<property name="sslContextFactory">
			<bean class="org.apache.ignite.ssl.SslContextFactory">
				<property name="keyStoreFilePath" value="src/main/resources/mig.keystore" />
				<property name="keyStorePassword" value="ignite" />
				<property name="trustStoreFilePath" value="src/main/resources/mig.truststore" />
				<property name="trustStorePassword" value="ignite" />
			</bean>
		</property>

		<property name="connectorConfiguration" ref="rest.cfg" />

		<!-- Set to true to enable distributed class loading for examples, default 
			is false. <property name="peerClassLoadingEnabled" value="true"/> -->

		<!-- Enable task execution events for examples. <property name="includeEventTypes"> 
			<list> Task execution events <util:constant static-field="org.apache.ignite.events.EventType.EVT_TASK_STARTED"/> 
			<util:constant static-field="org.apache.ignite.events.EventType.EVT_TASK_FINISHED"/> 
			<util:constant static-field="org.apache.ignite.events.EventType.EVT_TASK_FAILED"/> 
			<util:constant static-field="org.apache.ignite.events.EventType.EVT_TASK_TIMEDOUT"/> 
			<util:constant static-field="org.apache.ignite.events.EventType.EVT_TASK_SESSION_ATTR_SET"/> 
			<util:constant static-field="org.apache.ignite.events.EventType.EVT_TASK_REDUCED"/> 
			Cache events <util:constant static-field="org.apache.ignite.events.EventType.EVT_CACHE_OBJECT_PUT"/> 
			<util:constant static-field="org.apache.ignite.events.EventType.EVT_CACHE_OBJECT_READ"/> 
			<util:constant static-field="org.apache.ignite.events.EventType.EVT_CACHE_OBJECT_REMOVED"/> 
			</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. For information on all options 
						refer to our documentation: http://apacheignite.readme.io/docs/cluster-config -->
					<!-- 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..47509</value>
							</list>
						</property>
					</bean>
				</property>
			</bean>
		</property>
	</bean>
</beans>
