/// <summary> /// Initializes a new instance of the <see cref="AzureTopicPublisher{T}"/> class. /// </summary> /// <param name="context">The context</param> /// <param name="topicClientProvider">The topic client provider</param> public AzureTopicPublisher(Context context, ITopicClientProvider topicClientProvider) { _context = context ?? throw new ArgumentNullException(nameof(context)); if (topicClientProvider == null) { throw new ArgumentNullException(nameof(topicClientProvider)); } var attribute = typeof(T).GetCustomAttribute <TopicAttribute>(); if (attribute == null) { throw new MessagingException($"Topic message should be decorated with the {nameof(TopicAttribute)}."); } _topicClient = topicClientProvider.Get(attribute.TopicName); _timeToLive = attribute.TimeToLive; }
public AzureServiceBusMessageProducer(IManagementClientWrapper managementClientWrapper, ITopicClientProvider topicClientProvider) { _managementClientWrapper = managementClientWrapper; _topicClientProvider = topicClientProvider; }
public AzureServiceBusMessageProducer(IManagementClientWrapper managementClientWrapper, ITopicClientProvider topicClientProvider, OnMissingChannel makeChannel = OnMissingChannel.Create) { _managementClientWrapper = managementClientWrapper; _topicClientProvider = topicClientProvider; _makeChannel = makeChannel; }