Table of Contents Previous Next
Logo
Properties : D.11 Ice Miscellaneous Properties
Copyright © 2003-2010 ZeroC, Inc.

D.11 Ice Miscellaneous Properties

Ice.ACM.Client

Synopsis

Ice.ACM.Client=num

Description

If num is set to a value larger than zero, client-side Active Connection Manage­ment (ACM) is enabled. This means that connections are automatically closed by the client after they have been idle for num seconds. This is transparent to applica­tions because connections closed by ACM are automatically reestablished if they are needed again. The default value is 60, meaning that idle connections are auto­matically closed after one minute.

Ice.ACM.Server

Synopsis

Ice.ACM.Server=num

Description

This property is the server-side equivalent of Ice.ACM.Client. If num is set to a value larger than zero, server-side Active Connection Management (ACM) is enabled, in which the server automatically closes an incoming connection after it has been idle for num seconds. The default value is 0, meaning that server-side ACM is disabled by default.
Server-side ACM can cause incoming oneway requests to be silently discarded. See Section 36.4 for more information.

Ice.BackgroundLocatorCacheUpdates

Synopsis

Ice.BackgroundLocatorCacheUpdates=num

Description

If num is set to zero (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 zero, 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 enpoints for the invocation. This avoids delaying the first invocation that follows expiry of a cache entry.

Ice.BatchAutoFlush

Synopsis

Ice.BatchAutoFlush=num

Description

This property controls how the Ice run time deals with flushing of batch messages. If num is set to a non-zero value (the default), the run time 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 exceed Ice.MessageSizeMax. If num is set to zero, batches must be flushed explicitly by the application; in this case, if the application adds more messages to a batch than permitted by Ice.MessageSizeMax, the application receives a MemoryLimitException when it flushes the batch.

Ice.CacheMessageBuffers

Synopsis

Ice.CacheMessageBuffers=num (Java, .NET)

Description

If num is a value greater than zero, the Ice run time caches 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 zero.

Platform Notes

Java
Ice 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. If not defined, the default value is 2.
.NET
If not defined, the default value is 1.

Ice.ChangeUser

Synopsis

Ice.ChangeUser=user

Description

If set, Ice changes the user and group id to the respective ids of user in /etc/passwd. This only works if the Ice application is executed by the super-user (Unix only).

Ice.Compression.Level

Synopsis

Ice.Compression.Level=num

Description

Specifies the bzip2 compression level. Legal values for num are 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.

Ice.ConsoleListener

Synopsis

Ice.ConsoleListener=num

Description

This property applies only to Ice for .NET. If num is non-zero, the Ice run time installs a ConsoleTraceListener that writes its messages to stderr. If num is zero, logging is disabled. Note that the setting of Ice.LogFile overrides this property: if Ice.LogFile is set, messages are written to the log file regardless of the setting of Ice.ConsoleListener.

Ice.EventLog.Source

Synopsis

Ice.EventLog.Source=name

Description

Specifies the name of an event log source to be used by a Windows service that subclasses Ice::Service (see Section 8.3.2). 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.GC.Interval

Synopsis

Ice.GC.Interval=num

Description

This property determines the frequency with which the class garbage collector runs. If the interval is set to zero (the default), no collector thread is created. Otherwise, the collector thread runs every num seconds.

Ice.ImplicitContext

Synopsis

Ice.ImplicitContext=type

Description

Specifies whether a communicator has an implicit 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. See Section 32.12.4 for more information on implicit contexts.

Ice.LogFile

Synopsis

Ice.LogFile=file

Description

Replaces the communicator’s default logger (see Section 32.19.1) with a simple file-based logger implementation. This property does not affect the per-process logger (see Section 32.19.5). The logger creates the specified file if necessary, otherwise it appends to the file. If the logger is unable to open the file, the applica­tion receives an InitializationException during communicator initialization. If a logger object is supplied in the InitializationData argument during communicator initialization, it takes precedence over this property.
The logger does not provide any built-in support for log file maintenance (such as log rotation), but it can coexist with system tools such as logrotate.

Ice.MessageSizeMax

Synopsis

Ice.MessageSizeMax=num

Description

This property controls the maximum size (in kilobytes) of an uncompressed protocol message that is accepted or sent by the Ice run time. The size includes the size of the Ice protocol header. The default size is 1024 (1 Megabyte). Settings with a value less than 1 are ignored.
If a client sends a message that exceeds the client’s Ice.MessageSizeMax, or the server returns a reply that exceeds the client’s Ice.MessageSizeMax, the client receives a MemoryLimitException.
If a client sends a message that exceeds the server’s Ice.MessageSizeMax, the server immediately closes its connection, so the client receives a ConnectionLostException in that case. In addition, the server logs a MemoryLimitException if Ice.Warn.Connections is set.
If the server returns a reply that exceeds the server’s Ice.MessageSizeMax, the server logs a MemoryLimitException (if Ice.Warn.Connections is set) but does not close its connection to the client. The client receives an UnknownLocalException in this case.

Ice.MonitorConnections

Synopsis

Ice.MonitorConnections=num

Description

If active connection management (ACM) is enabled (see Section 36.4), the Ice run time scans for idle connections to be closed once every num seconds. If you to not set this property or set num to zero or a negative value, the run time applies a heuristic to determine how often to scan for idle connections: the default scanning interval is the 10% of smallest configured ACM timeout, with a minimum of 5 seconds, and a maximum of 5 minutes.

Ice.Nohup

Synopsis

Ice.Nohup=num (C++)

Description

If num is set to a value larger than zero, the C++ classes Ice::Application and Ice::Service ignore SIGHUP (for Unix) and CTRL_LOGOFF_EVENT (for Windows). As a result, an application that sets Ice.Nohup continues to run if the user that started the application logs off. The default value for Ice::Application is 0, and the default value for Ice::Service is 1.

Ice.NullHandleAbort

Synopsis

Ice.NullHandleAbort=num (C++)

Description

If num is set to a value larger than zero, invoking an operation using a null smart pointer causes the program to abort immediately instead of raising IceUtil::NullHandleException.

Ice.Package.module

Synopsis

Ice.Package.module=package (Java)

Description

Associates a top-level Slice module with a Java package. If global metadata is used to enclose generated Java classes in a user-defined package, the Ice run time must be configured in order to successfully unmarshal exceptions and concrete class types. If all top-level modules are generated into the same user-defined package, it is easier to use Ice.Default.Package instead.

Ice.PrintAdapterReady

Synopsis

Ice.PrintAdapterReady=num

Description

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

Ice.PrintProcessId

Synopsis

Ice.PrintProcessId=num

Description

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

Ice.PrintStackTraces

Synopsis

Ice.PrintStackTraces=num (C++)

Description

If num is set to a value larger than zero, inserting an exception that derives from IceUtil::Exception into a logger helper class (such as Ice::Warning) also displays the exception’s stack trace. If not defined, the default value depends on how the Ice run time is compiled: 0 for an optimized build and 1 for a debug build. Stack traces are only available when Ice is compiled with GCC; this prop­erty has no effect for other compilers.

Ice.ProgramName

Synopsis

Ice.ProgramName=name

Description

name is the program name, which is set automatically from argv[0] (C++) and from AppDomain.CurrentDomain.FriendlyName (.NET) during initial­ization. (For Java, Ice.ProgramName is initialized to the empty string.) For all languages, the default name can be overridden by setting this property.

Ice.RetryIntervals

Synopsis

Ice.RetryIntervals=num [num ...]

Description

This property defines the number of times an operation is 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) is to retry once immediately. If set to 1, no retry occurs.

Ice.ServerIdleTime

Synopsis

Ice.ServerIdleTime=num

Description

If num is set to a value larger than zero, Ice automatically calls Communicator::shutdown once the communicator has been idle for num seconds. This shuts down the Communicator's server side and causes all threads waiting in Communicator::waitForShutdown to return. After that, a server will typically do some clean‑up work before exiting. The default value is zero, meaning that the server will not shut down automatically.

Ice.StdErr

Synopsis

Ice.StdErr=filename

Description

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

Synopsis

Ice.StdOut=filename

Description

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 communi­cator created in a process.

Ice.SyslogFacility

Synopsis

Ice.SyslogFacility=string

Description

This property sets the syslog facility to string (Unix only). This property has no effect if Ice.UseSyslog is not set.
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.UseSyslog

Synopsis

Ice.UseSyslog=num

Description

If num is set to a value larger than zero, a special logger is installed that logs to the syslog facility instead of standard error. The identifier for syslog is the value of Ice.ProgramName (Unix only).

Table of Contents Previous Next
Logo