Table of Contents Previous Next
Logo
IceStorm : 45.11 Configuring IceStorm
Copyright © 2003-2007 ZeroC, Inc.

45.11 Configuring IceStorm

IceStorm is a relatively lightweight service in that it requires very little configuration and is implemented as an IceBox service (see Chapter 44). The configuration properties supported by IceStorm are described in Appendix C; however, most of them control diagnostic output and are not discussed in this chapter.

45.11.1 Server Configuration

IceStorm is implemented as an IceBox service (see Chapter 44), so you must configure IceBox to run the service:
IceBox.Service.IceStorm=IceStormService,32:createIceStorm --Ice.Config=config.service
The sample server configuration file shown below presents the properties of primary interest for IceStorm itself:
Freeze.DbEnv.IceStorm.DbHome=db
IceStorm.TopicManager.Endpoints=tcp ‑p 9999
IceStorm.Publish.Endpoints=tcp ‑p 9999
IceStorm uses Freeze to manage the service’s persistent state, therefore the second property specifies the pathname of the Freeze database environment directory (see Chapter 40) for the service. In this example, the directory db is used, which must already exist in the current working directory.
The final two properties specify the endpoints used by the IceStorm object adapters; notice that their property names begin with IceStorm, matching the service name. The TopicManager property specifies the endpoints on which the TopicManager and Topic objects reside; these endpoints typically use a connection-oriented protocol such as TCP or SSL. The Publish property specifies the endpoints used by topic publisher objects.

45.11.2 Client Configuration

Clients of the service can define a proxy for the TopicManager object as follows:
IceStormAdmin.TopicManager.Proxy=IceStorm/TopicManager:tcp ‑p 9999
The name of the property is not relevant, but the endpoint must match that of the IceStorm.TopicManager.Endpoints property, and the object identity must use the IceStorm instance name as the category and TopicManager as the name.

45.11.3 Object Identities

IceStorm hosts one well-known object, which implements the IceStorm::TopicManager interface. The default identity of this object is IceStorm/TopicManager, as seen in the stringified proxy example from Section 45.11.2. If an application requires the use of multiple IceStorm services, it is a good idea to assign unique identities to the well-known objects by configuring the services with different values for the IceStorm.InstanceName property, as shown in the following example:
IceStorm.InstanceName=Measurement
This property changes the category of the object’s identity, which becomes Measurement/TopicManager. The client’s configuration must also be changed to reflect the new identity:
IceStorm.TopicManager.Proxy=Measurement/TopicManager:tcp ‑p 9999
Table of Contents Previous Next
Logo