public IBinding DoBindConsumer <T>(T inputTarget, string name, IBinder binder, IConsumerOptions consumerOptions, string bindingTarget) { if (Options.BindingRetryInterval <= 0) { return(binder.BindConsumer(bindingTarget, Options.GetGroup(name), inputTarget, consumerOptions)); } else { return(DoBindConsumerWithRetry(inputTarget, name, binder, consumerOptions, bindingTarget)); } }
public IBinding DoBindConsumerWithRetry <T>(T inputChan, string name, IBinder binder, IConsumerOptions consumerOptions, string bindingTarget) { // TODO: Java code never stops retrying the bind do { try { return(binder.BindConsumer(bindingTarget, Options.GetGroup(name), inputChan, consumerOptions)); } catch (Exception) { // log Thread.Sleep(Options.BindingRetryInterval * 1000); } }while (true); }