Esempio n. 1
0
 private RetryMessageQueue GetRetryMessageQueue(IServiceAddress serviceAddress)
 {
     lock (queueMap) {
         RetryMessageQueue queue;
         if (!queueMap.TryGetValue(serviceAddress, out queue)) {
             queue = new RetryMessageQueue(serviceAddress);
             queueMap[serviceAddress] = queue;
         }
         return queue;
     }
 }
Esempio n. 2
0
 private RetryMessageQueue GetRetryMessageQueue(IServiceAddress serviceAddress)
 {
     lock (queueMap) {
         RetryMessageQueue queue;
         if (!queueMap.TryGetValue(serviceAddress, out queue))
         {
             queue = new RetryMessageQueue(serviceAddress);
             queueMap[serviceAddress] = queue;
         }
         return(queue);
     }
 }
Esempio n. 3
0
        public static void AddMessageQueue(this IServiceCollection services, IConfiguration configuration)
        {
            // TODO: использовать конфиг
            var retry        = new PeriodicRetryStrategy(1000);
            var httpService  = new HttpMessageSender <StringMessage>(@"https://localhost:44342/api/secure/incomingmessages");
            var retryService = new RetryMessageQueue <StringMessage>(retry, httpService);

            var backup = new FileSystemFileStorage <StringMessage>();

            services.Add(ServiceDescriptor.Singleton(typeof(IMessageQueue <StringMessage>),
                                                     new BackedUpMessageQueue <StringMessage>(backup, retryService)));
        }