Skip to main content
Version: 1.0.1

.NET Specific

Ignite.NET node’ları çeşitli şekillerde yapılandırılabilir ve ardından yapılandırmaya özel Ignition.Start() methodları ile başlatılabilir.

Configure Programmatically in C#

C# uygulamanızdan bir Ignite.NET node’u yapılandırmak için Ignition.Start(IgniteConfiguration) methodunu kullanın.

Ignition.Start(new IgniteConfiguration
{
DiscoverySpi = new TcpDiscoverySpi
{
IpFinder = new TcpDiscoveryStaticIpFinder
{
Endpoints = new[] {"127.0.0.1:47500..47509"}
},
SocketTimeout = TimeSpan.FromSeconds(0.3)
},
IncludedEventTypes = EventType.CacheAll,
JvmOptions = new[] { "-Xms1024m", "-Xmx1024m" }
});

Configure With Application or Web Config Files

Ignition.StartFromApplicationConfiguration methodları, app.config veya web.config dosyalarının Apache.Ignite.Core.IgniteConfigurationSection bölümünden yapılandırmayı okur.

IgniteConfigurationSection.xsd şema dosyası, binary dağıtımda Apache.Ignite.Core.dll'nin yanında ve Apache.Ignite.Schema NuGet paketinde bulunabilir. Yapılandırma dosyalarında IgniteConfigurationSection'ı düzenlerken IntelliSense'i Visual Studio'da etkinleştirmek için None build action ile projenize ekleyin.

  • ⌨️ app.config
    <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" gridName="myGrid1">
    <discoverySpi type="TcpDiscoverySpi">
    <ipFinder type="TcpDiscoveryStaticIpFinder">
    <endpoints>
    <string>127.0.0.1:47500..47509</string>
    </endpoints>
    </ipFinder>
    </discoverySpi>

    <cacheConfiguration>
    <cacheConfiguration cacheMode='Replicated' readThrough='true' writeThrough='true' />
    <cacheConfiguration name='secondCache' />
    </cacheConfiguration>

    <includedEventTypes>
    <int>42</int>
    <int>TaskFailed</int>
    <int>JobFinished</int>
    </includedEventTypes>

    <userAttributes>
    <pair key='myNode' value='true' />
    </userAttributes>

    <JvmOptions>
    <string>-Xms1024m</string>
    <string>-Xmx1024m</string>
    </JvmOptions>
    </igniteConfiguration>
    </configuration>
  • ⌨️ .NET Code
    var ignite = Ignition.StartFromApplicationConfiguration("igniteConfiguration");

IgniteConfigurationSection.xsd şema dosyasını bir Visual Studio projesine eklemek için Projects menüsüne gidin ve Add Existing Item… menü öğesine tıklayın. Bundan sonra, Apache Ignite dağıtımının içindeki IgniteConfigurationSection.xsd dosyasını bulun ve alın. Alternatif olarak, NuGet paketini yükleyin: Install-Package Apache.Ignite.Schema. Bu, projeye otomatik olarak bir xsd dosyası ekleyecektir. Düzenlemeyi iyileştirmek için, Tools-Options- Text Editor-XML'de Statement Completion seçeneklerinin etkinleştirildiğinden emin olun.

Ignite Configuration Section Syntax

Yapılandırma bölümü, doğrudan IgniteConfiguration sınıfına eşlenir:

  • Basit propertyler (strings, primitive types, enums) XML attributeları ile eşlenir (attribute adı = camelCased C# property adı).
  • Karmaşık propertyler, nested XML öğeleriyle eşlenir (öğe adı = camelCased C# property adı).
  • Karmaşık bir property bir inteface veya abstract class olduğunda, türü belirtmek için assembly-qualified name kullanılarak type attribute kullanılır. Built-in tipler için (yukarıdaki kod örneğindeki TcpDiscoverySpi gibi) assembly adı ve namespace atlanabilir.
  • Şüpheye düştüğünüzde, IgniteConfigurationSection.xsd'deki şemaya bakın.

Configure With Spring XML

Spring XML, native java tabanlı Ignite yapılandırma yöntemini etkinleştirir. Bir Spring yapılandırma dosyası, Ignition.Start(string) yöntemi veya IgniteConfiguration.SpringConfigUrl özelliği aracılığıyla sağlanabilir. Bu yapılandırma yöntemi, bazı Java özellikleri Ignite.NET tarafından native olarak desteklenmediğinde kullanışlıdır.

IgniteConfiguration.SpringConfigUrl özelliği kullanıldığında, önce Spring config yüklenir ve bunun üzerine diğer IgniteConfiguration özellikleri uygulanır.

  • ⌨️ app.config
    <?xml version="1.0" encoding="UTF-8"?>

    <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="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
    <property name="localHost" value="127.0.0.1"/>
    <property name="gridName" value="grid1"/>
    <property name="userAttributes">
    <map>
    <entry key="my_attr" value="value1"/>
    </map>
    </property>

    <property name="cacheConfiguration">
    <list>
    <bean class="org.apache.ignite.configuration.CacheConfiguration">
    <property name="name" value="cache1"/>
    <property name="startSize" value="10"/>
    </bean>
    </list>
    </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..47509</value>
    </list>
    </property>
    </bean>
    </property>
    <property name="socketTimeout" value="300" />
    </bean>
    </property>
    </bean>
    </beans>
  • ⌨️ .NET Code
    var ignite = Ignition.Start("spring-config.xml");

Daha fazla bilgi için…