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


<!--
    Apache Ignite.NET startup application configuration file.
-->

<configuration>
    <configSections>
        <section name="igniteConfiguration" type="Apache.Ignite.Core.IgniteConfigurationSection, Apache.Ignite.Core" />
    </configSections>
    
    <runtime>
        <gcServer enabled="true" />
    </runtime>

    <igniteConfiguration xmlns="http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection">
        <!-- Customize Ignite configuration here. -->
    </igniteConfiguration>

    <appSettings>
        <!-- Use Ignite configuration section defined above. -->
        <add key="Ignite.ConfigSectionName" value="igniteConfiguration" />
        
        <!-- Path to spring configuration file relative from IGNITE_HOME (if not provided "config/default-config.xml" is used) -->
        <!-- <add key="Ignite.SpringConfigUrl" value="my-config.xml"/> -->

        <!-- Absolute path to spring configuration file (if not provided "config/default-config.xml" is used) -->
        <!-- <add key="Ignite.SpringConfigUrl" value="C:\my-dir\my-config.xml"/> -->

        <!-- Path to Java library jvm.dll (if not provided JAVA_HOME environment variable is used to find jvm.dll) -->
        <!-- <add key="Ignite.JvmDllPath" value="C:\Program Files\Java\jdk1.7.0_45\jre\bin\server\jvm.dll"/> -->

        <!-- Additional classpath passed to JVM (enlist additional jar files here) -->
        <!-- <add key="Ignite.JvmClasspath" value="c:\my-dir\my-lib1.jar;c:\my-dir\my-lib2.jar"/> -->

        <!-- JVM Options passed to JVM -->
        <!-- <add key="Ignite.JvmOption.1" value="-Xmx512m"/> -->
        <!-- <add key="Ignite.JvmOption.2" value="-DIGNITE_QUIET=false"/> -->

        <!-- Additional .NET assemblies to be loaded on startup. -->
        <!-- <add key="Ignite.Assembly.1" value="System.Data.Linq,Culture=neutral,Version=1.0.0.0,PublicKeyToken=b77a5c561934e089"/> -->
        <!-- <add key="Ignite.Assembly.2" value="my-assembly.dll"/> -->
    </appSettings>

</configuration>
