Archived

This forum has been archived. Please start a new discussion on GitHub.

How to set additional properties when instantiating the IceStorm template?

I'm using IceGrid including the provided default templates. I've instantiated an IceStorm server as follows (I did this through the GUI, but this is what's in the XML file when I save it):
<server-instance template="IceStorm">
    <properties>
       <property name="Echoes.IceStorm.Trace.Subscriber" value="2"/>
       <property name="Echoes.IceStorm.Trace.Topic" value="2"/>
       <property name="Echoes.IceStorm.Trace.TopicManager" value="2"/>
    </properties>
</server-instance>

As far as I can tell, none of those additional properties are being set on the IceStorm server. If I look at the generated configuration files (aside: why are there two of them?), they look like this.

config:
# Configuration file (05/20/09 15:29:19.770)

# Server configuration
Ice.Admin.ServerId=Echoes.IceStorm
Ice.Admin.Endpoints=tcp -h 127.0.0.1
Ice.ProgramName=Echoes.IceStorm
IceBox.Service.Echoes.IceStorm=IceStormService,33:createIceStorm --Ice.Config\='/home/mef/workspace/echo
es-runtime/data/node1/servers/Echoes.IceStorm/config/config_Echoes.IceStorm'
IceBox.InstanceName=Echoes.IceStorm
IceBox.LoadOrder=Echoes.IceStorm\
Ice.Default.Locator=Echoes.IceGrid/Locator:tcp -h localhost -p 4061

config_Echoes.IceStorm
# Configuration file (05/20/09 15:29:19.770)

# Object adapter Echoes.IceStorm.Publish
Echoes.IceStorm.Publish.Endpoints=default
Echoes.IceStorm.Publish.AdapterId=Echoes.IceStorm.Publish
# Object adapter Echoes.IceStorm.TopicManager
Echoes.IceStorm.TopicManager.Endpoints=default
Echoes.IceStorm.TopicManager.AdapterId=Echoes.IceStorm.TopicManager
# Database environment Echoes.IceStorm
Freeze.DbEnv.Echoes.IceStorm.DbHome=/home/mef/workspace/echoes-runtime/data/node1/servers/Echoes.IceStor
m/dbs/Echoes.IceStorm
# Service descriptor properties
Echoes.IceStorm.InstanceName=Echoes.IceStorm
Echoes.IceStorm.Flush.Timeout=1000
Ice.Default.Locator=Echoes.IceGrid/Locator:tcp -h localhost -p 4061

Where are the other properties going? Is there some other way to set them?

MEF

Comments

  • benoit
    benoit Rennes, France
    Hi,

    IceStorm is an IceBox service and an IceBox server can host multiple services so there's one configuration file for the IceBox server (the file named "config") and a configuration file per IceBox service (config_Echoes.IceStorm here).

    It's not clear to me why the properties aren't generated in the "config" file when you add them to the descriptor, this works for me with Ice 3.3.1. Which Ice version do you use?

    In any case, the correct way to specify additional properties for an IceBox service is to specify the "service" attribute in the <properties> element and set it to the service name ("Echoes.IceStorm" in your case):
    <server-instance template="IceStorm">
        <properties service="Echoes.IceStorm">
           <property name="Echoes.IceStorm.Trace.Subscriber" value="2"/>
           <property name="Echoes.IceStorm.Trace.Topic" value="2"/>
           <property name="Echoes.IceStorm.Trace.TopicManager" value="2"/>
        </properties>
    </server-instance>
    

    Cheers,
    Benoit.