Hi !
How can I dynamicly add the nodes with the demo Ice-3.4.1-demos\demo\IceStorm\replicated?
Because I always don’t know how many node I should start so I want to add the many node dynamicly!
When I try to add three nodes to the application.xml like this :
<icegrid>
<application name="DemoIceStorm">
<server-template id="IceStorm">
<parameter name="index"/>
<parameter name="topic-manager-endpoints" default="default"/>
<parameter name="publish-endpoints" default="default"/>
<parameter name="node-endpoints" default="default"/>
<parameter name="instance-name"/>
<icebox id="${instance-name}-${index}" exe="icebox" activation="on-demand">
<service name="IceStorm" entry="IceStormService,34:createIceStorm">
<dbenv name="${service}"/>
<adapter name="${service}.TopicManager"
endpoints="${topic-manager-endpoints}"
replica-group="${instance-name}-TopicManagerReplicaGroup"/>
<adapter name="${service}.Publish"
endpoints="${publish-endpoints}"
replica-group="${instance-name}-PublishReplicaGroup"/>
<adapter name="${service}.Node"
endpoints="${node-endpoints}"/>
<properties>
<property name="${service}.InstanceName" value="${instance-name}"/>
<property name="${service}.Trace.TopicManager" value="2"/>
<property name="${service}.Trace.Topic" value="1"/>
<property name="${service}.Trace.Subscriber" value="1"/>
<property name="${service}.Trace.Election" value="1"/>
<property name="${service}.NodeId" value="${index}"/>
<property name="${service}.SQL.DatabaseType" value="QSQLITE"/>
<property name="${service}.SQL.DatabaseName" value="db/${instance-name}-${index}.db"/>
</properties>
</service>
</icebox>
</server-template>
<replica-group id="DemoIceStorm-PublishReplicaGroup">
</replica-group>
<replica-group id="DemoIceStorm-TopicManagerReplicaGroup">
<object identity="DemoIceStorm/TopicManager" type="::IceStorm::TopicManager"/>
</replica-group>
<node name="node1">
<server-instance template="IceStorm" index="1" instance-name="DemoIceStorm"/>
<server-instance template="IceStorm" index="2" instance-name="DemoIceStorm"/>
<server-instance template="IceStorm" index="3" instance-name="DemoIceStorm"/>
</node>
<node name="node2">
<server-instance template="IceStorm" index="4" instance-name="DemoIceStorm"/>
<server-instance template="IceStorm" index="5" instance-name="DemoIceStorm"/>
<server-instance template="IceStorm" index="6" instance-name="DemoIceStorm"/>
</node>
<node name="node3">
<server-instance template="IceStorm" index="7" instance-name="DemoIceStorm"/>
<server-instance template="IceStorm" index="8" instance-name="DemoIceStorm"/>
<server-instance template="IceStorm" index="9" instance-name="DemoIceStorm"/>
</node>
</application>
</icegrid>
Howerver,I find that only when all nodes (node1 node2 node3)work at the same time subscriber.exe receive the data from the publisher.exe and then subscriber.exe also work even if I stop one of nodes. How can I Breaks this kind of limit?
Thank you very much !
Ateng
2011-12-07

Reply With Quote


