public async Task PublishAsync(object message) { _logger.Trace("Getting message group name from message"); var messageGroupName = MessageGroupHelper.GetMessageGroupName(message); TopicClient client = null; try { _logger.Debug($"Adding message to message group {messageGroupName}"); client = TopicClient.CreateFromConnectionString(_connectionString, messageGroupName); await client.SendAsync(new BrokeredMessage(message){ MessageId = Guid.NewGuid().ToString() }); _logger.Debug($"Message has been added to message group {messageGroupName}"); } finally { if (client != null && !client.IsClosed) { _logger.Debug("Closing topic message publisher"); await client.CloseAsync(); } } }
public async Task PublishAsync(object message) { var messageGroupName = MessageGroupHelper.GetMessageGroupName(message); var content = JsonConvert.SerializeObject(message); var queue = GetQueue(messageGroupName); await queue.AddMessageAsync(new CloudQueueMessage(content)); }
public IMessageSubscriber <T> GetSubscriber <T>() where T : new() { _logger.Debug($"Getting subscriber of message type {typeof(T).FullName} from factory"); var messageGroupName = MessageGroupHelper.GetMessageGroupName <T>(); _logger.Debug($"Obtained message group name {messageGroupName} for subscriber of message type {typeof(T).FullName}"); return(new TopicMessageSubscriber <T>(_connectionString, messageGroupName, _subscriptionName, _executionPolicy, _logger, _keepConnectionAlive)); }
public async Task PublishAsync(object message) { var topicName = MessageGroupHelper.GetMessageGroupName(message); var connectionString = GetConnectionString(message); TopicClient client = null; try { client = TopicClient.CreateFromConnectionString(connectionString, topicName); await client.SendAsync(new BrokeredMessage(message)); } finally { if (client != null && !client.IsClosed) { await client.CloseAsync(); } } }
public async Task PublishAsync(object message) { var messageGroupName = MessageGroupHelper.GetMessageGroupName(message); var json = JsonConvert.SerializeObject(message); var directoryName = Path.Combine(_storageDirectory, messageGroupName); if (!Directory.Exists(directoryName)) { Directory.CreateDirectory(directoryName); } var path = Path.Combine(directoryName, Guid.NewGuid() + ".json"); using (var stream = new FileStream(path, FileMode.CreateNew, FileAccess.Write)) using (var writer = new StreamWriter(stream)) { await writer.WriteAsync(json); writer.Close(); } }
public async Task <BrokeredMessage> PeekAsync(object message) { var messageGroupName = MessageGroupHelper.GetMessageGroupName(message); var connectionString = GetConnectionString(message); TopicClient client = null; try { client = TopicClient.CreateFromConnectionString(connectionString, messageGroupName); return(await client.PeekAsync()); } catch (System.Exception ex) { throw ex; } finally { if (client != null && !client.IsClosed) { await client.CloseAsync(); } } }
public async Task PublishAsync(object message) { var messageGroupName = MessageGroupHelper.GetMessageGroupName(message); await PublishAsync(message, messageGroupName); }
public void ShouldGetGroupNameIfOneExists() { var groupName = MessageGroupHelper.GetMessageGroupName(new TestClassWithGroupName()); Assert.AreEqual("Test", groupName); }
public void ShouldReturnClassNameIfGroupNameIsEmpty() { var groupName = MessageGroupHelper.GetMessageGroupName(new TestClassWithEmptyGroupName()); Assert.AreEqual(nameof(TestClassWithEmptyGroupName), groupName); }
private SubscriptionClient GetClient(string subscriptionName) { var topicName = MessageGroupHelper.GetMessageGroupName <T>(); return(SubscriptionClient.CreateFromConnectionString(_connectionString, topicName, subscriptionName)); }
public void ShouldReturnClassNameIfGroupNameNotFound() { var groupName = MessageGroupHelper.GetMessageGroupName <TestClassWithoutGroupName>(); Assert.AreEqual(nameof(TestClassWithoutGroupName), groupName); }
public IMessageSubscriber <T> GetSubscriber <T>() where T : new() { var messageGroupName = MessageGroupHelper.GetMessageGroupName <T>(); return(new FileSystemMessageSubscriber <T>(_storageDirectory, messageGroupName)); }
public IMessageSubscriber <T> GetSubscriber <T>() where T : new() { var messageGroupName = MessageGroupHelper.GetMessageGroupName <T>(); return(new QueueMessageSubscriber <T>(_connectionString, messageGroupName)); }