Archived

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

icestorm and icepack

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 ">
<adapters>
<adapter name="IceStorm.TopicManager" endpoints="default -p 10001">
<object identity = "TopicManager" type = "::IceStorm::TopicManager" />
</adapter>

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

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.

Comments

  • benoit
    benoit Rennes, France
    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!

    Benoit.
  • Yeah, it woks.
    Thank you very much!