private ITopicClientWrapper InstantiateTopic(TopicConfiguration config, IVeStatsDClient statsDClient, string topicId) { _creator.SetTopic(config.ConnectionString, config.TopicName, config.Update); var messagingFactory = GetMessagingFactory(config.ConnectionString, config.BatchFlushInterval); var client = messagingFactory.CreateTopicClient(config.TopicName); var topic = new TopicClientWrapper(client, statsDClient); _topics.Add(topicId, topic); return(topic); }
public ITopicClientWrapper CreateTopicClient(TopicConfiguration config, IVeStatsDClient statsDClient) { lock (_lock) { string topicId = GetHash(config.ConnectionString, config.TopicName); if (_topics.ContainsKey(topicId)) { return(_topics[topicId]); } return(InstantiateTopic(config, statsDClient, topicId)); } }
public ITopicClientWrapper CreateTopicClient(TopicConfiguration config) { return(CreateTopicClient(config, null)); }