Home Help Center

Exception handling in IceStorm

nbasu33nbasu33 Member Neil BasuOrganization: Bombay UniversityProject: Software Engineering
Hello All,

I am a professor in Bombay University and came across Ice. I would like to use this application/architecture for educational project for students of final year of Computer Engineering course.

I am a newbie to Ice and would appreciate your help in understanding/resolving an issue I am currently facing with IceStorm.

From what I understand, IceStorm behaves as a standard JMS within Java world (please correct me if I am wrong). Having said that, JMS has a feature to trap an onException() when the JMS provider such as ActiveMQ is turned off while Subscriber (durable or non-durable) are still connected.

Is there such a feature in IceStorm whereby client/subscriber gets a message/exception when IceStorm is turned off when clients are still connected.

Any suggestions would be beneficial.

Thank you.

Comments

  • michimichi Member Michi HenningOrganization: Triodia TechnologiesProject: I have a passing interest in Ice :-) ✭✭✭
    No, there is currently no such feature. It would be possible to provide this, but I'm not sure how useful it would be: it assumes an orderly shutdown of IceStorm. However, IceStorm would be just as likely to disappear due to a network or machine failure, in which case no notification could be sent to clients.

    An Icestorm server that has been switched off, crashed, or is disconnected due to network failure simply looks like a very slow Icestorm server to subscribers: no new messages arrive. However, subscribers and publishers can easily discover whether IceStorm is running by calling ice_ping on one of the IceStorm objects.

    Cheers,

    Michi.
  • nbasu33nbasu33 Member Neil BasuOrganization: Bombay UniversityProject: Software Engineering
    Thank you for a prompt reply.

    Do you have any example of how I can use ice_ping?
  • michimichi Member Michi HenningOrganization: Triodia TechnologiesProject: I have a passing interest in Ice :-) ✭✭✭
    Have a look at any of the Ice run time tests. Every Ice object supports an operation called ice_ping(). If that operation completes without an exception, the object is reachable and, therefore, its server is running and the object exists.

    A search for ice_ping in the documentation will quickly tell you everything you need to know.

    Cheers,

    Michi.
  • nbasu33nbasu33 Member Neil BasuOrganization: Bombay UniversityProject: Software Engineering
    Thank You.
Sign In or Register to comment.