Home Help Center

IceStorm availability and publishers

phil++phil++ Member Philip KovacsOrganization: University of PennsylvaniaProject: Ice Storm Evaluation
When publishing messages to IceStorm via a proxy, "ConnectionRefusedException" is thrown when IceStorm is unavailable (not listening on the expected endpoints). Would it be acceptable for publisher processes to employ an application-based "retry count" similar to what IceStorm uses for subscribers?

I observe that my publishers work normally again if manually kill IceStorm, then restart a new invocation on the same endpoints. This suggests to me that there is no state within the publisher proxy that binds it in any special way to original peer it was created for. If a subsequent, otherwise identical, peer happens to be created on the same endpoints, the proxy can talk to it as before.

I suppose I am free to use any application policy I care to? Halt the publisher on the first refusal, halt after N refusals or keep pounding away forever?

Regards,

Phil

Comments

  • benoitbenoit Rennes, FranceAdministrators, ZeroC Staff Benoit FoucherOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Hi Phil,

    Yes, you can re-use the same proxy to retry the invocation and as long as the IceStorm endpoints don't change. Ice can also retry automatically (according to the Ice.RetryIntervals property) but you can also implement you're own custom retry.

    If your IceStorm endpoints were to change over time, you might want to look into deploying IceStorm with IceGrid and use indirect proxies in your publisher (indirect proxies don't contain endpoint information -- instead they use the IceGrid location mechanism to discover the endpoints of a given service).

    Cheers,
    Benoit.
  • phil++phil++ Member Philip KovacsOrganization: University of PennsylvaniaProject: Ice Storm Evaluation
    OK, thanks.

    Are there any examples or articles I can read on deploying IceStorm with IceGrid?

    Phil
  • matthewmatthew NL, CanadaMember Matthew NewhookOrganization: ZeroC, Inc.Project: Internet Communications Engine ✭✭✭
    There are lots. The replication IceStorm demo uses IceGrid, and IceStorm was deployed with IceGrid (or its predecessor IcePack) in numerous newsletter articles (issue 11, 10, 9, 8, 7, 6, and 5).
Sign In or Register to comment.