Ice.*

20 min read

16 min read

18 min read

7 min read

17 min read

17 min read

18 min read

17 min read

19 min read

Ice.AcceptClassCycles=num

If num is set to 0 (the default), the unmarshaling of class cycles is disallowed. A MarshalException is thrown when a cycle is detected during unmarshaling.

If num is set to a value larger than 0, class cycles are unmarshaled. You must break any cycles programmatically in your own code to prevent memory leaks.

Ice.BackgroundLocatorCacheUpdates=num

If num is set to 0 (the default), an invocation on an indirect proxy whose endpoints are older than the configured locator cache timeout triggers a locator cache update; the run time delays the invocation until the new endpoints are returned by the locator.

If num is set to a value larger than 0, an invocation on an indirect proxy with expired endpoints still triggers a locator cache update, but the update is performed in the background, and the run time uses the expired endpoints for the invocation. This avoids delaying the first invocation that follows expiry of a cache entry.

Ice.BatchAutoFlushSize=num (in KiB)

This property controls how the Ice runtime deals with flushing of batch messages. If num is greater than 0, the runtime automatically forces a flush of the current batch when a new message is added to a batch and that message would cause the batch to reach or exceed num KiB (1024 bytes per KiB). For stream transports, 0 disables automatic flushing: the application must flush batches explicitly. If not defined, the default value is 1024.

For datagram proxies, Ice caps the flush threshold at Ice.UDP.SndSize bytes, or 65507 bytes when that property is not set, including when num is 0.

Ice.CacheMessageBuffers=num

If num is a value greater than 0, the proxies cache message buffers for future reuse. This can improve performance and reduce the amount of garbage produced by Ice internals that the garbage collector would eventually spend time to reclaim. However, for applications that exchange very large messages, this cache may consume excessive amounts of memory and therefore should be disabled by setting this property to 0.

The default value is 2.

Ice.CacheMessageBuffers=num

If num is greater than 0, the proxies cache message buffers for future reuse. This can improve performance and reduce the amount of garbage produced by Ice internals that the garbage collector would eventually spend time to reclaim. However, for applications that exchange very large messages, this cache may consume excessive amounts of memory and therefore should be disabled by setting this property to 0.

The default value is 2.

Ice for Java allocates non-direct message buffers when this property is set to 1 and direct message buffers when set to 2. Use of direct message buffers minimizes copying and typically results in improved throughput.

Ice.ClassGraphDepthMax=num

Specifies the maximum depth for a graph of Slice class instances to unmarshal. If this maximum is reached, the Ice runtime throws a MarshalException. Reading and destroying a Slice class graph are recursive operations. This property prevents stack overflows from occurring if a sender sends a very large graph and not enough space on the stack is available. To read larger graphs, you can increase the value of this property. If not specified, the default value is 10.

Setting this property to 0 (or to a negative number) disables the depth limit altogether.

Ice.Compression.Level=num

Specifies the bzip2 compression level to use when compressing protocol messages. Values range from 1 to 9, where 1 represents the fastest compression and 9 represents the best compression. Note that higher levels cause the bzip2 algorithm to devote more resources to the compression effort, and may not result in a significant improvement over lower levels. If not specified, the default value is 1.

Properties
Ice.Config=config_file[,config_file,...]
Ice.Config=1

This property must be set from the command line with one of the options --Ice.Config, --Ice.Config=1, or --Ice.Config=config_file.

If the Ice.Config property is empty or set to 1, or not set at all, the Ice runtime examines the contents of the ICE_CONFIG environment variable to retrieve the path names of one or more configuration files. Otherwise, Ice.Config must be set to the path names of one or more configuration files, separated by commas (path names can be relative or absolute). Property values are read from each of the configuration files listed.

Configuration files use a simple syntax consisting of name=value pairs with support for comments and escaping.

Ice.Compression.Level=num

Specifies the bzip2 compression level to use when compressing protocol messages. Values range from 1 to 9, where 1 represents the fastest compression and 9 represents the best compression. Note that higher levels cause the bzip2 algorithm to devote more resources to the compression effort, and may not result in a significant improvement over lower levels. If not specified, the default value is 1.

Properties
Ice.Config=config_file[,config_file,...]
Ice.Config=1

This property must be set from the command line with one of the options --Ice.Config, --Ice.Config=1, or --Ice.Config=config_file.

If the Ice.Config property is empty or set to 1, or not set at all, the Ice runtime examines the contents of the ICE_CONFIG environment variable to retrieve the path names of one or more configuration files. Otherwise, Ice.Config must be set to the path names of one or more configuration files, separated by commas (path names can be relative or absolute). Property values are read from each of the configuration files listed.

Configuration files use a simple syntax consisting of name=value pairs with support for comments and escaping.

Ice.ConsoleListener=num

When the communicator uses Ice's default trace logger, 1 adds Ice's console listener to System.Diagnostics.Trace.Listeners. This listener writes messages to stderr. With 0, the logger continues writing through System.Diagnostics.Trace using the existing listeners.

Ice consults this property when no logger is supplied in InitializationData, Ice.LogFile is empty and the per-process logger is Ice's default logger.

The default value is 1.

Ice.Compression.Level=num

Specifies the bzip2 compression level to use when compressing protocol messages. Values range from 1 to 9, where 1 represents the fastest compression and 9 represents the best compression. Note that higher levels cause the bzip2 algorithm to devote more resources to the compression effort, and may not result in a significant improvement over lower levels. If not specified, the default value is 1.

Properties
Ice.Config=config_file[,config_file,...]
Ice.Config=1

This property must be set from the command line with one of the options --Ice.Config, --Ice.Config=1, or --Ice.Config=config_file.

If the Ice.Config property is empty or set to 1, or not set at all, the Ice runtime examines the contents of the ICE_CONFIG environment variable to retrieve the path names of one or more configuration files. Otherwise, Ice.Config must be set to the path names of one or more configuration files, separated by commas (path names can be relative or absolute). Property values are read from each of the configuration files listed.

In Java, Ice first attempts to open a configuration file as a class loader resource. If that attempt fails, Ice opens the configuration file in the local file system.

Configuration files use a simple syntax consisting of name=value pairs with support for comments and escaping.

Ice.EventLog.Source=name (Windows only)

Specifies the name of an event log source to be used by a Windows service that subclasses Ice::Service. The value of name represents a subkey of the Eventlog registry key. An application (or administrator) typically prepares the registry key when the service is installed. If no matching registry key is found, Windows logs events in the Application log. Any backslashes in name are silently converted to forward slashes. If not defined, Ice::Service uses the service name as specified by the --service option.

Ice.HTTPProxyHost=addr

Specifies the host name or IP address of an HTTP proxy server. If addr is not empty, Ice uses the designated HTTP proxy server for all outgoing (client) connections.

Ice.HTTPProxyPort=num

The port number of the HTTP proxy server. If not specified, the default value is 1080.

Ice.HTTPProxyHost=addr

Specifies the host name or IP address of an HTTP proxy server. If addr is not empty, Ice uses the designated HTTP proxy server for all outgoing (client) connections.

Ice.HTTPProxyPort=num

The port number of the HTTP proxy server. If not specified, the default value is 1080.

Ice.ImplicitContext=type

Specifies whether a communicator has an implicit request context and, if so, at what scope the context applies. Legal values for this property are None (equivalent to the empty string), PerThread, and Shared. If not specified, the default value is None.

Ice.InitPlugins=num

If num is a value greater than zero, the Ice runtime automatically initializes the plug-ins it has loaded. Ice initializes plug-ins in construction order; InitializationData.pluginFactories and Ice.PluginLoadOrder determine this order. An application may need to set this property to zero in order to interact directly with a plug-in after it has been loaded but before it is initialized. In this case, the application must invoke initializePlugins on the plug-in manager to complete the initialization process. If not defined, the default value is 1.

If num is greater than zero, Ice initializes the plug-ins it loads during communicator initialization. The default value is 1. Setting this property to 0 leaves the plug-ins loaded but uninitialized.

After setting this property to 0, call Communicator.initializePlugins() to initialize the loaded plug-ins.

Ice.IPv4=num

Specifies whether Ice uses IPv4. If num is a value greater than zero, IPv4 is enabled. If not specified, the default value is 1.

Ice.IPv6=num

Specifies whether Ice uses IPv6. If num is a value greater than zero, IPv6 is enabled. If not specified, the default value is 1 if the system supports the creation of IPv6 sockets, and 0 otherwise.

Ice.InitPlugins=num

If num is a value greater than zero, the Ice runtime automatically initializes the plug-ins it has loaded. Ice initializes plug-ins in construction order; InitializationData.pluginFactories and Ice.PluginLoadOrder determine this order. An application may need to set this property to zero in order to interact directly with a plug-in after it has been loaded but before it is initialized. In this case, the application must invoke initializePlugins on the plug-in manager to complete the initialization process. If not defined, the default value is 1.

Ice.IPv4=num

Specifies whether Ice uses IPv4. If num is a value greater than zero, IPv4 is enabled. If not specified, the default value is 1.

Ice.IPv6=num

Specifies whether Ice uses IPv6. If num is a value greater than zero, IPv6 is enabled. If not specified, the default value is 1 if the system supports the creation of IPv6 sockets, and 0 otherwise.

Ice.InitPlugins=num

If num is a value greater than zero, the Ice runtime automatically initializes the plug-ins it has loaded. Ice initializes plug-ins in construction order; InitializationData.pluginFactories and Ice.PluginLoadOrder determine this order. An application may need to set this property to zero in order to interact directly with a plug-in after it has been loaded but before it is initialized. In this case, the application must invoke initializePlugins on the plug-in manager to complete the initialization process. If not defined, the default value is 1.

Ice.IPv4=num

Specifies whether Ice uses IPv4. If num is a value greater than zero, IPv4 is enabled. If not specified, the default value is 1.

Ice.IPv6=num

Specifies whether Ice uses IPv6. If num is a value greater than zero, IPv6 is enabled. If not specified, the default value is 1 if the system supports the creation of IPv6 sockets, and 0 otherwise.

Java's default network stack always accepts both IPv4 and IPv6 connections regardless of the settings of Ice.IPv6. You can configure the Java runtime to use only IPv4 by starting your application with the following JVM option:

Shell
java -Djava.net.preferIPv4Stack=true ...

Ice.LogFile=file

Selects a file-based logger for the communicator. The logger appends messages to the specified file and creates the file if necessary. A logger supplied in InitializationData takes precedence over this property. The per-process logger is unchanged.

Among the logging backends available on the platform, Ice checks Ice.UseSyslog, Ice.UseOSLog, Ice.UseSystemdJournal and Ice.LogFile in that order. Ice.UseSyslog and Ice.LogFile cannot be combined. An enabled OSLog or systemd logger takes precedence over the file logger.

On platforms other than Windows, Ice.UseSyslog and Ice.LogFile cannot be combined.

Browsers do not support this property.

Ice.LogFile.SizeMax=num

When num is greater than 0, it sets the rotation threshold in bytes for log files configured through Ice.LogFile. Before writing a message that would bring a non-empty log file to or above this threshold, the Ice file-based logger renames the file to basename-YYYYMMDD-HHMMSS.ext and creates a new log file. The logger writes each message in full, even if the message exceeds the threshold.

When num is 0 or negative, the logger writes to a single file with unlimited size. The default value is 0.

Ice.LogStdErr.Convert=num(Windows)

If num is set to a value larger than 0, on Windows, the communicator's default logger converts log messages from the application's narrow string encoding to the Windows console's code page. The default value for this property is 1 when Ice.StdErr is not set, and 0 otherwise. This property is read by the first communicator created in a process; it is ignored by other communicators.

Ice.MessageSizeMax=num (in KiB)

Sets the maximum size of an incoming Ice protocol message, in KiB (1024 bytes). The limit applies to the whole message, including the protocol header; for a compressed message, it also applies to the decompressed size. The default value is 1024 (1 MiB).

A positive value must be at most 2,097,151 KiB (about 2 GiB). 0 selects the largest supported size, 2,147,483,647 bytes.

Ice rejects an incoming message that exceeds this limit and logs a warning when Ice.Warn.Connections is set. Over connection-oriented transports, Ice also closes the connection: a client receiving an oversized reply gets a MarshalException from its invocation, and a client whose request is oversized gets a ConnectionLostException.

Ice.Nohup=num

If num is set to a value larger than 0, the Ice::Service C++ class ignores SIGHUP on Unix and CTRL_LOGOFF_EVENT on Windows. As a result, a server/service that sets Ice.Nohup continues to run if the user that started the server/service logs off. The default value of this property is 1.

IceGrid, IceBox (IceStorm), and Glacier2 are implemented using Ice::Service.

Ice.PluginLoadOrder=names

Specifies the order in which Ice creates the plug-ins installed through configuration, with Ice.Plugin.name properties. names lists plug-in names separated by commas or white space. Ice creates the plug-ins in names first, in that order, and then the other plug-ins installed through configuration, in an undefined order.

This property does not affect the plug-ins installed through InitializationData::pluginFactories, even when an Ice.Plugin.name property supplies their arguments: Ice creates these plug-ins in list order, before any plug-in installed through configuration.

The built-in IceDiscovery and IceLocatorDiscovery plug-ins are created before dynamically loaded plug-ins when enabled through Ice.Plugin.name. If names includes one of these enabled plug-ins, communicator initialization fails with a PluginInitializationException.

Ice.PreferIPv6Address=num

If both IPv4 and IPv6 are enabled (the default), specifies whether Ice prefers IPv6 addresses over IPv4 addresses when resolving hostnames. If num is a value greater than zero, IPv6 addresses are preferred. If not specified, the default value is 0.

Ice.PrintAdapterReady=num

If num is set to a value larger than 0, an object adapter prints "adapter_name ready" on standard output after activation is complete. This is useful for scripts that need to wait until an object adapter is ready to be used.

Ice.PrintProcessId=num

If num is set to a value larger than 0, the process ID is printed on standard output upon startup.

Ice.PrintStackTraces=num

If num is set to a value larger than 0, Ice::LocalException collects the stack trace when a local exception is constructed. When set to 0, Ice::LocalException does not collect stack traces.

If not set, the default value depends on how the Ice C++ library is compiled: 0 for an optimized build and 1 for a debug build.

The stack trace (if collected) is included in the exception message printed by ice_print or operator<<. It’s not included in the what message.

On Windows, you need the Ice PDB files to obtain usable stack traces. If you build Ice from sources, the Ice build system always creates PDB files next to your DLLs and executables, and Windows will locate and use these PDB files.

If num is greater than 0, Ice enables native stack-trace collection for local exceptions in the C++ runtime. These are native stack traces, rather than stack traces in the application's language.

The default value is 0 for an optimized C++ runtime and 1 for a debug runtime. On Windows, usable native stack traces require the Ice PDB files.

Ice.PluginLoadOrder=names

Specifies the order in which Ice creates the plug-ins installed through configuration, with Ice.Plugin.name properties. names lists plug-in names separated by commas or white space. Ice creates the plug-ins in names first, in that order, and then the other plug-ins installed through configuration, in an undefined order.

This property does not affect the plug-ins installed through InitializationData.pluginFactories, even when an Ice.Plugin.name property supplies their arguments: Ice creates these plug-ins in list order, before any plug-in installed through configuration.

Ice.PreferIPv6Address=num

If both IPv4 and IPv6 are enabled (the default), specifies whether Ice prefers IPv6 addresses over IPv4 addresses when resolving hostnames. If num is a value greater than zero, IPv6 addresses are preferred. If not specified, the default value is 0.

Ice.PreloadAssemblies=num

If num is set to a value larger than 0, the Ice runtime will try to load all the assemblies referenced by the process during communicator initialization, otherwise the referenced assemblies will be initialized lazily. The default value is 0.

Ice.PrintAdapterReady=num

If num is set to a value larger than 0, an object adapter prints "adapter_name ready" on standard output after activation is complete. This is useful for scripts that need to wait until an object adapter is ready to be used.

Ice.PrintProcessId=num

If num is set to a value larger than 0, the process ID is printed on standard output upon startup.

Ice.Package.module=package

Ice for Java allows you to customize the Slice module to Java package mapping with the java:package and java:identifier metadata directive.

When you use this feature, you need to help Ice locate your remapped classes during unmarshaling, by installing a Slice loader in your communicator. The Ice.Package.module properties tell the Ice communicator to install automatically a ModuleToPackageSliceLoader during initialization, configured using the module to package map created by these properties.

This property is provided primarily for backwards compatibility; we recommend configuring Slice loaders programmatically in new applications.

See also: Ice.Default.Package

Ice.PluginLoadOrder=names

Specifies the order in which Ice creates the plug-ins installed through configuration, with Ice.Plugin.name properties. names lists plug-in names separated by commas or white space. Ice creates the plug-ins in names first, in that order, and then the other plug-ins installed through configuration, in an undefined order.

This property does not affect the plug-ins installed through InitializationData.pluginFactories, even when an Ice.Plugin.name property supplies their arguments: Ice creates these plug-ins in list order, before any plug-in installed through configuration.

Ice.PreferIPv6Address=num

If both IPv4 and IPv6 are enabled (the default), specifies whether Ice prefers IPv6 addresses over IPv4 addresses when resolving hostnames. If num is a value greater than zero, IPv6 addresses are preferred. If not specified, the default value is 0.

Ice.PrintAdapterReady=num

If num is set to a value larger than 0, an object adapter prints "adapter_name ready" on standard output after activation is complete. This is useful for scripts that need to wait until an object adapter is ready to be used.

Ice.ProgramName=name

Specifies the program name used for logging. If this property is empty, communicator initialization selects the following default:

LanguageDefault
C++
argv[0] when you create the communicator with Ice::initialize(argc, argv); otherwise the executable's base name on Linux, macOS, and Windows, and an empty string on other platforms.
MATLAB
The executable's base name.
C#
AppDomain.CurrentDomain.FriendlyName.
Java and JavaScript
An empty string.
Python
The base name of sys.argv[0], when available.
Ruby
The base name of $0.
PHP
The base name of $_SERVER['SCRIPT_FILENAME'], when available.
Swift
The last path component of CommandLine.arguments.first, when available.

For mappings based on the C++ runtime, an empty language-specific default falls back to the executable's base name on Linux, macOS and Windows. Setting this property to a non-empty value overrides the default.

In C# and Java, Ice also uses this value as a prefix for runtime thread names.

Ice.RetryIntervals=num [num ...]

This property defines the number of times an operation is automatically retried and the delay between each retry. For example, if the property is set to 0 100 500, the operation is retried 3 times: immediately after the first failure, again after waiting 100ms after the second failure, and again after waiting 500ms after the third failure. The default value (0) means Ice retries once immediately. A first value of -1 disables retries.

Ice.ServerIdleTime=num

If num is set to a value larger than 0, Ice automatically calls shutdown on the communicator when its server thread pool has been idle for num seconds. The server thread pool is not idle as long as any of its thread is performing some task, like dispatching a request.

This call to shutdown shuts down the communicator's server side and causes any thread waiting on waitForShutdown to return. After that, a server will typically do some clean-up work before exiting. The default value is 0, meaning that the server will not shut down automatically. This property is often used for servers that are automatically activated by IceGrid.

Ice.SliceLoader.NotFoundCacheSize=num

When num is set to a value larger than 0, the communicator installs an internal “not found” cache that caches failed Slice loader resolutions.

The default value is 100.

See also Ice.Warn.SliceLoader.

Ice.SOCKSProxyHost=addr

Specifies the host name or IP address of a SOCKS proxy server. If addr is not empty, Ice uses the designated SOCKS proxy server for all outgoing (client) connections.

SOCKS proxies are not supported on the iOS simulator.

Ice.SOCKSProxyPort=num

The port number of the SOCKS proxy server. If not specified, the default value is 1080.

Ice.StdErr=filename

If filename is not empty, the standard error stream of this process is redirected to this file, in append mode. This property is checked only for the first communicator that is created in a process.

Ice.StdOut=filename

If filename is not empty, the standard output stream of this process is redirected to this file, in append mode. This property is checked only for the first communicator created in a process.

Ice.SyslogFacility=string (Unix only, except iOS)

This property sets the syslog facility to string. This property has no effect if Ice.UseSyslog is not set. Each communicator can use its own facility, even when several communicators in the same process log to syslog.

string can be any of syslog facilities: LOG_AUTH, LOG_AUTHPRIV, LOG_CRON, LOG_DAEMON, LOG_FTP, LOG_KERN, LOG_LOCAL0, LOG_LOCAL1, LOG_LOCAL2, LOG_LOCAL3, LOG_LOCAL4, LOG_LOCAL5, LOG_LOCAL6, LOG_LOCAL7, LOG_LPR, LOG_MAIL, LOG_NEWS, LOG_SYSLOG, LOG_USER, LOG_UUCP.

The default value is LOG_USER.

Ice.ServerIdleTime=num

If num is set to a value larger than 0, Ice automatically calls shutdown on the communicator when its server thread pool has been idle for num seconds. The server thread pool is not idle as long as any of its thread is performing some task, like dispatching a request.

This call to shutdown shuts down the communicator's server side and causes any thread waiting on waitForShutdown to return. After that, a server will typically do some clean-up work before exiting. The default value is 0, meaning that the server will not shut down automatically. This property is often used for servers that are automatically activated by IceGrid.

Ice.SOCKSProxyHost=addr

Specifies the host name or IP address of a SOCKS proxy server. If addr is not empty, Ice uses the designated SOCKS proxy server for all outgoing (client) connections.

Ice.SOCKSProxyPort=num

The port number of the SOCKS proxy server. If not specified, the default value is 1080.

Ice.StdErr=filename

If filename is not empty, the standard error stream of this process is redirected to this file, in append mode. This property is checked only for the first communicator that is created in a process.

Ice.StdErr and Ice.StdOut can name the same file.

Ice.StdOut=filename

If filename is not empty, the standard output stream of this process is redirected to this file, in append mode. This property is checked only for the first communicator created in a process.

Ice.StdErr and Ice.StdOut can name the same file.

Ice.ThreadPriority=value

value specifies a thread priority. Threads created by the Ice runtime are created with the specified priority by default. Leaving this property unset causes the runtime to create threads with the system default priority. This property is unset by default.

value can be Lowest, BelowNormal, Normal, AboveNormal, or Highest.

The named values can also include the ThreadPriority. prefix, for example ThreadPriority.AboveNormal.

You can separately override the default priorities for the client and server thread pools using Ice.ThreadPool.name.ThreadPriority as well as for a specific object adapter using adapter.ThreadPool.ThreadPriority.

Ice.ServerIdleTime=num

If num is set to a value larger than 0, Ice automatically calls shutdown on the communicator when its server thread pool has been idle for num seconds. The server thread pool is not idle as long as any of its thread is performing some task, like dispatching a request.

This call to shutdown shuts down the communicator's server side and causes any thread waiting on waitForShutdown to return. After that, a server will typically do some clean-up work before exiting. The default value is 0, meaning that the server will not shut down automatically. This property is often used for servers that are automatically activated by IceGrid.

Ice.SliceLoader.NotFoundCacheSize=num

When num is set to a value larger than 0, the communicator installs an internal “not found” cache that caches failed Slice loader resolutions.

The default value is 100.

See also Ice.Warn.SliceLoader.

Ice.SOCKSProxyHost=addr

Specifies the host name or IP address of a SOCKS proxy server. If addr is not empty, Ice uses the designated SOCKS proxy server for all outgoing (client) connections.

Ice.SOCKSProxyPort=num

The port number of the SOCKS proxy server. If not specified, the default value is 1080.

Ice.StdErr=filename

If filename is not empty, the standard error stream of this process is redirected to this file, in append mode. This property is checked only for the first communicator that is created in a process.

Ice.StdErr and Ice.StdOut can name the same file.

Ice.StdOut=filename

If filename is not empty, the standard output stream of this process is redirected to this file, in append mode. This property is checked only for the first communicator created in a process.

Ice.StdErr and Ice.StdOut can name the same file.

Ice.SyslogFacility=string (Unix only)

This property sets the syslog facility to string. This property has no effect if Ice.UseSyslog is not set. Each communicator can use its own facility, even when several communicators in the same process log to syslog.

string can be any of syslog facilities: LOG_AUTH, LOG_AUTHPRIV, LOG_CRON, LOG_DAEMON, LOG_FTP, LOG_KERN, LOG_LOCAL0, LOG_LOCAL1, LOG_LOCAL2, LOG_LOCAL3, LOG_LOCAL4, LOG_LOCAL5, LOG_LOCAL6, LOG_LOCAL7, LOG_LPR, LOG_MAIL, LOG_NEWS, LOG_SYSLOG, LOG_USER, LOG_UUCP.

The default value is LOG_USER.

Ice.SyslogHost=host (Unix only)

Specifies the host name or IP address of the syslog daemon that receives log messages when Ice.UseSyslog is enabled. The default value is localhost.

Ice.SyslogPort=port (Unix only)

Specifies the UDP port of the syslog daemon at Ice.SyslogHost. The default value is 514. This property takes effect when Ice.UseSyslog is enabled.

Ice.ThreadPriority=value

value specifies a thread priority. Threads created by the Ice runtime are created with the specified priority by default. Leaving this property unset causes the runtime to create threads with the system default priority. This property is unset by default.

value can be MIN_PRIORITY, NORM_PRIORITY, MAX_PRIORITY, or an integer between 1 and 10.

The named values can also include the java.lang.Thread. prefix, for example java.lang.Thread.NORM_PRIORITY.

You can separately override the default priorities for the client and server thread pools using Ice.ThreadPool.name.ThreadPriority as well as for a specific object adapter using adapter.ThreadPool.ThreadPriority.

Ice.ToStringMode=string

string must be one of the following: Unicode, ASCII, Compat.

This property maps to an enumerator of ToStringModeToStringModeToStringModeToStringModeToStringModeToStringModeToStringModeToStringModeToStringMode and controls how identityToString and proxyToString on the communicator escape non-printable ASCII characters and non-ASCII characters.

The default value is Unicode.

Ice.UseOSLog=num (Apple platforms)

If num is set to a value larger than 0, a special logger is installed that logs using OSLog. The subsystem is com.zeroc.ice when Ice.ProgramName is empty, or com.zeroc.ice.<ProgramName> otherwise.

Ice.UseSyslog=num (Unix only, except iOS)

If num is set to a value larger than 0, a special logger is installed that logs to the syslog service instead of standard error. Use Ice.SyslogFacility to select a syslog facility.

The connection to the syslog service is process-global: all syslog loggers in a process share a single connection, opened when the first syslog logger is created and closed when the last one is destroyed. As a result:

  • The syslog identifier is the Ice.ProgramName of the communicator that creates the first syslog logger in the process. It remains in effect until all syslog loggers in this process are destroyed.
  • A syslog logger with a different program name prepends this program name to each message it logs. For example, an IceBox server configured with Ice.UseSyslog=1 and IceBox.InheritProperties=1 logs its own messages under the identifier icebox, and the messages of each of its services with the prefix icebox-<service name>: followed by a space.
  • Ice.SyslogFacility remains per-communicator: each message is logged with the facility configured for the communicator that produced it.

Ice.UseSystemdJournal=num (Linux only)

If num is set to a value larger than 0, a special logger is installed that logs to the systemd journal instead of standard error. Journal entries are tagged with the value of Ice.ProgramName as their syslog identifier (the SYSLOG_IDENTIFIER journal field), so you can filter them with journalctl -t name.

This property takes effect only when Ice was built with systemd support.

Ice.UseSyslog=num (Unix only)

If num is greater than 0, Ice for Java sends log messages as UDP datagrams to the syslog daemon configured by Ice.SyslogHost and Ice.SyslogPort. The messages use the RFC 3164 syslog format without a header and include the program name as their prefix. Ice.SyslogFacility selects the facility. The default value of Ice.UseSyslog is 0. Ice ignores this property on Windows.

On other platforms, this property cannot be combined with Ice.LogFile.