Standalone Nodes

An Ignite.NET node can be started within the code of a .NET application by using Ignition.Start() or as a separate process with Apache.Ignite.exe executable located under {apache_ignite_release}\platforms\dotnet\bin folder. Internally Apache.Ignite.exe references Apache.Ignite.Core.dll and uses Ignition.Start() as you would normally do, and can be configured with command line arguments, listed below, by passing them as command line options or setting directly in Apache.Ignite.exe.config file.

Configuring Standalone Node via Command Line

Below you can see basic Ignite parameters that can be passed as command line arguments when a node is started with Apache.Ignite.exe executable:

Command Line OptionMeaning
-IgniteHomePath to Ignite installation directory (if not provided IGNITE_HOME environment variable is used)
-ConfigFileNamePath to the app.config file (if not provided Apache.Ignite.exe.config is used).
-ConfigSectionNameName of the IgniteConfigurationSection in the configuration file to use.
-SpringConfigUrlPath to Spring configuration file.
-JvmDllPathPath to JVM library jvm.dll (if not provided JAVA_HOME environment variable is used).
-JvmClasspathClasspath passed to JVM (enlist additional jar files here).
-SuppressWarningsWhether to print warnings.
-J<javaOption>JVM options passed to created JVM.
-AssemblyAdditional .NET assemblies to be loaded.
-JvmInitialMemoryMBInitial Java heap size, in megabytes. Maps to -Xms Java parameter.
-JvmMaxMemoryMBMaximum Java heap size, in megabytes. Maps to -Xmx Java parameter.
/installInstalls Ignite Windows service with provided options.
/uninstallUninstalls Ignite Windows service.
Apache.Ignite.exe -ConfigFileName=c:\ignite\my-config.xml -ConfigSectionName=igniteConfiguration -Assembly=c:\ignite\my-code.dll -J-Xms1024m -J-Xmx2048m

Configuring Standalone Node via XML Files

A standalone node can be configured with app.config XML or Spring XML (or both). Every command line argument, listed above, can also be used in Apache.Ignite.exe.config under appSettings section:

<configuration>
  <configSections>
    <section name="igniteConfiguration" type="Apache.Ignite.Core.IgniteConfigurationSection, Apache.Ignite.Core" />
  </configSections>
  
  <igniteConfiguration springConfigUrl="c:\ignite\spring.xml">
    <cacheConfiguration name="myCache" cacheMode="Replicated" />
  </igniteConfiguration>
  
  <appSettings>
    <add key="Ignite.Assembly.1" value="my-assembly.dll"/>
    <add key="Ignite.Assembly.2" value="my-assembly2.dll"/>
    <add key="Ignite.ConfigSectionName" value="igniteConfiguration" />
  </appSettings>
</configuration>

This example defines igniteConfiguration section and uses it to start Ignite via Ignite.ConfigSectionName setting. It also references Spring XML configuration file, which will be combined with specified configuration.

Loading User Assemblies

Some Ignite APIs involve remote code execution and require you to load assemblies with your code into Apache.Ignite.exe via -Assembly command line argument or Ignite.Assembly app setting.

The following functionalities require a corresponding assembly to be loaded on all nodes:

  • ICompute (supports automatic loading, see Remote Assembly Loading)
  • Scan Queries with filter
  • Continuous Queries with filter
  • ICache.Invoke methods
  • ICache.LoadCache with filter
  • IServices
  • IMessaging.RemoteListen
  • IEvents.RemoteQuery

🚧

Missing User Assemblies

If a user assembly cannot be located a Could not load file or assembly 'MyAssembly' or one of its dependencies exception will be thrown.

Note that it is also necessary to add any dependencies of the user assembly to the list.

Ignite.NET as Windows Service

Apache.Ignite.exe can be installed as a Windows Service so it is started automatically via /install command line argument. All other command line arguments will be preserved and used each time the service starts. Use /uninstall to uninstall the service.

Apache.Ignite.exe /install -J-Xms513m -J-Xmx555m -ConfigSectionName=igniteConfiguration