IceStorm properties defined for this service must use DataFeed as the prefix, such as
DataFeed.Discard.Interval=10.
The database storage mechanism used by IceStorm is abstracted in such a way that an alternate mechanism can be selected using the standard Ice plug-in facility. If this property is not defined, IceStorm uses Freeze as its default storage mechanism. Alternatively, you can define the
Ice.Plugin.DB property as shown above to use a SQL database instead, in which case additional properties may also be necessary (see the
service.SQL properties below).
service.Discard.Interval
An IceStorm server detects when a subscriber to which it forwards events becomes non-functional and, at that point, stops delivery attempts to that subscriber for
num seconds before trying to forward events to that subscriber again. The default value of this property is 60 seconds.
service.Election.ElectionTimeout
service.Election.ElectionTimeout=
num
This property is used by a replicated IceStorm deployment (see Section 44.7). It specifies the interval in seconds at which a coordinator attempts to form larger groups of replicas. If not defined, the default value is 10.
service.Election.MasterTimeout
This property is used by a replicated IceStorm deployment (see Section 44.7). It specifies the interval in seconds at which a slave checks the status of the coordinator. If not defined, the default value is 10.
service.Election.ResponseTimeout
service.Election.ResponseTimeout=
num
This property is used by a replicated IceStorm deployment (see Section 44.7). It specifies the interval in seconds that a replica waits for replies to an invitation to form a larger group. Lower priority replicas wait for intervals inversely proportional to the maximum priority:
In a replicated deployment, IceStorm uses the adapter name service.Node for the replica node’s object adapter (see
Section 44.7). Therefore, all the adapter properties detailed in
Section D.4 can be used to configure this adapter.
Specifies the node id of an IceStorm replica, where value is a non-negative integer. The node id is also used as the replica’s priority, such that a larger value assigns higher priority to the replica. As described in
Section 44.7, the replica with the highest priority becomes the coordinator of its group. This property must be defined for each replica.
This property is used for a manual deployment of HA IceStorm (see Section 44.12.3), in which each of the replicas must be explicitly configured with the proxies of all other replicas. The value is a proxy for the replica with the given node id. A replica’s object identity has the form
instance-name/nodeid, such as
DemoIceStorm/node2.
IceStorm uses the adapter name service.Publish for the object adapter that processes incoming requests from publishers. Therefore, all the adapter properties detailed in
Section D.4 can be used to configure this adapter.
service.ReplicatedPublishEndpoints
service.ReplicatedPublishEndpoints=
value
This property is used for a manual deployment of HA IceStorm (see Section 44.12.3). It specifies the set of endpoints returned for the publisher proxy returned from
IceStorm::Topic::getPublisher.
If this property is not defined, the publisher proxy returned by a topic instance points directly at that replica and, should the replica become unavailable, publishers will not transparently failover to other replicas.
service.ReplicatedTopicManagerEndpoints
service.ReplicatedTopicManagerEndpoints=
value
This property is used for a manual deployment of HA IceStorm (see Section 44.12.3). It specifies the set of endpoints used in proxies that refer to a replicated topic. This set of endpoints should contain the endpoints of each IceStorm replica.
For example, the operation IceStorm::TopicManager::create returns a proxy that contains this set of endpoints.
IceStorm applies a send timeout when it forwards events to subscribers. The value of this property determines how long IceStorm will wait for forwarding of an event to complete. If an event cannot be forwarded within
num milliseconds, the subscriber is considered dead and its subscription is cancelled. The default value is 60 seconds. Setting this property to a negative value disables timeouts.
service.SQL.DatabaseType
This property determines the type of the database for QSqlDatabase::addDatabase. Permissible values of
type are
QSQLITE,
QMSQL,
QPSQL, and
QODBC.
service.SQL.DatabaseName
This property determines the name of the database for QSqlDatabase::setDatabaseName. For SQLite,
name is the file name for the database. For MySQL and PostgreSQL,
name is the database name. For SQL Server,
name is the DSN name.
This property determines the host name for QSqlDatabase::setHostName. For PostgreSQL and MySQL,
name is the database host name. For SQL Server,
name is the host name and server name separated by a blackslash, such as
localhost\SQLExpress. For SQLite, this property has no effect and need not be set.
This property determines the user name for QSqlDatabase::setUserName. For SQLite, this property has no effect and need not be set.
This property determines the password for QSqlDatabase::setPassword. For SQLite, this property has no effect and need not be set.
service.TopicManager.name
IceStorm uses the adapter name service.TopicManager for the topic manager’s object adapter. Therefore, all the adapter properties detailed in
Section D.4 can be used to configure this adapter.
service.Trace.Election
service.Trace.Replication
service.Trace.Subscriber
service.Trace.TopicManager
If num is a value greater than zero, IceStorm runs in a fully transient mode in which no database is required. Replication is not supported in this mode. If not defined, the default value is zero.
Defines the proxy for the default IceStorm topic manager. This property is used by icegridadmin. IceStorm applications may choose to use this property for their configuration as well.
Defines a proxy for an IceStorm topic manager for icegridadmin. Properties with this pattern are used by
icestormadmin if multiple topic managers are in use, for example:
This sets the proxies for three topic managers. Not that name need not match the instance name of the corresponding topic manager—
name simply serves as tag. With these property settings, the
icestormadmin commands that accept a topic can now specify a topic manager other than the default topic manager that is configured with
IceStormAdmin.TopicManager.Default. For example:
current Foo
create myTopic
create Bar/myOtherTopic
This sets the current topic manager to the one with instance name Foo; the first
create command then creates the topic within that topic manager, whereas the second
create command uses the topic manager with instance name
Bar.