AppSettingsBusConfiguration.cs 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. using System;
  2. using Abc.Zebus.Util;
  3. namespace Abc.Zebus.Directory.Configuration
  4. {
  5. public class AppSettingsBusConfiguration : IBusConfiguration
  6. {
  7. public AppSettingsBusConfiguration()
  8. : this(new AppSettings())
  9. {
  10. }
  11. internal AppSettingsBusConfiguration(AppSettings appSettings)
  12. {
  13. RegistrationTimeout = appSettings.Get("Bus.Directory.RegistrationTimeout", 30.Seconds());
  14. StartReplayTimeout = appSettings.Get("Bus.Persistence.StartReplayTimeout", 30.Seconds());
  15. IsDirectoryPickedRandomly = appSettings.Get("Bus.Directory.PickRandom", true);
  16. IsErrorPublicationEnabled = appSettings.Get("Bus.IsErrorPublicationEnabled", true);
  17. MessagesBatchSize = appSettings.Get("Bus.MessagesBatchSize", 100);
  18. }
  19. public string[] DirectoryServiceEndPoints { get { return new string[0]; } }
  20. public bool IsPersistent { get { return false; } }
  21. public TimeSpan RegistrationTimeout { get; private set; }
  22. public TimeSpan StartReplayTimeout { get; private set; }
  23. public bool IsDirectoryPickedRandomly { get; private set; }
  24. public bool IsErrorPublicationEnabled { get; private set; }
  25. public int MessagesBatchSize { get; private set; }
  26. }
  27. }