public void RegisterDelegate(IMessageConsumer consumer, string serviceId)
{
var rule = MetaData.GetServiceRoutingRule(serviceId);
if (rule == null)
{
throw new Exception();
}
var path = rule.ZkRule.GetServicePath();
try
{
handle.Create(path, null, Ids.OPEN_ACL_UNSAFE, CreateMode.Persistent);
}
catch (KeeperException.NodeExistsException e)
{
// ignore
}
delegates[path] = consumer;
}