protected override void apply(Type pluginType, IConfiguredInstance instance) { var messagePublisher = GetMessagePublisherParameter(instance); if (messagePublisher == null) { return; } var environment = GetEnvironmentName(); var messageQueueConnectionString = GetMessageQueueConnectionString(environment); if (string.IsNullOrEmpty(messageQueueConnectionString)) { _logger.Info("Using FileSystemMessagePublisher (messageQueueConnectionString not found)"); var groupFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + $"/{_serviceName}/"; var publisher = new FileSystemMessagePublisher(groupFolder); instance.Dependencies.AddForConstructorParameter(messagePublisher, publisher); } else { _logger.Info("Using TopicMessagePublisher"); var publisher = new TopicMessagePublisher(messageQueueConnectionString, _logger); instance.Dependencies.AddForConstructorParameter(messagePublisher, publisher); } }
public FileSystemSubSystem(string storageDir = null) { var publisher = new FileSystemMessagePublisher(storageDir ?? GetDefaultStorageDir()); var subscriberFactory = new FileSystemMessageSubscriberFactory(storageDir ?? GetDefaultStorageDir()); Init(publisher, subscriberFactory); }
protected override void apply(Type pluginType, IConfiguredInstance instance) { var messagePublisher = GetMessagePublisherParameter(instance); if (messagePublisher == null) { return; } var environment = GetEnvironmentName(); var connectionStringName = GetConnectionStringName(instance); var messageQueueConnectionString = GetMessageQueueConnectionString(environment, connectionStringName); if (string.IsNullOrEmpty(messageQueueConnectionString)) { var groupFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/EAS_Queues/"; var publisher = new FileSystemMessagePublisher(groupFolder); instance.Dependencies.AddForConstructorParameter(messagePublisher, publisher); } else { var publisher = new TopicMessagePublisher(messageQueueConnectionString, new NLogLogger(typeof(TopicMessagePublisher))); instance.Dependencies.AddForConstructorParameter(messagePublisher, publisher); } }
private static void LoadFileSystem <T>( out IMessagePublisher publisher, out IMessageSubscriber <T> subscriber) where T : new() { WriteColoredText("Storage dir (%temp%/[Guid]): "); var dir = Console.ReadLine(); if (string.IsNullOrWhiteSpace(dir)) { dir = Path.Combine(Environment.GetEnvironmentVariable("TEMP"), Guid.NewGuid().ToString()); } publisher = new FileSystemMessagePublisher(dir); var subscriberFactory = new FileSystemMessageSubscriberFactory(dir); subscriber = subscriberFactory.GetSubscriber <T>(); }