Home Help Center

icestorm and icepack

zhuxiaofengzhuxiaofeng Member zhu xiaofengOrganization: dtProject: dt
I want to use icepack to deploy a icestorm service, how to write the descriptor file?
I write like this:
<server name="${name}" kind="cpp-icebox" endpoints="default -p 9998" exe="${ice.dir}/bin/icebox" activation="on-demand">

<service name="IceStorm" entry="IceStormService,15:create ">
<adapter name="IceStorm.TopicManager" endpoints="default -p 10001">
<object identity = "TopicManager" type = "::IceStorm::TopicManager" />

<adapter name="IceStorm.Publish" endpoints="default -p 10000">
<object identity = "Publish" type = "::IceStorm::Publish" />

Is that correct?

In the code, I write like this:
IcePack::QueryPrx query = IcePack::QueryPrx::checkedCast(communicator()->stringToProxy("IcePack/Query"));

Ice::ObjectPrx base = query->findObjectByType("::IceStorm::TopicManager");

string id = base->ice_id();

when I call "base->ice_id();", I get a ObjectNotExist exception.


  • benoitbenoit Rennes, FranceAdministrators, ZeroC Staff Benoit FoucherOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    The category for the identity of the topic manager should be the name of your service (see 31.9.2 in the Ice 1.5.0 manual). So the object element in your descriptor should be the following :

    <object identity = "IceStorm/TopicManager" type = "::IceStorm::TopicManager" />

    since the name of your service is IceStorm. Let me know if this still doesn't work after fixing this!

  • zhuxiaofengzhuxiaofeng Member zhu xiaofengOrganization: dtProject: dt
    Yeah, it woks.
    Thank you very much!
Sign In or Register to comment.