public static void UseIntegrationEventSubscriptions(this IServiceBusSubscriber subscriber) { subscriber.Subscribe <ClanMemberAddedIntegrationEvent, ClanMemberAddedIntegrationEventHandler>(); subscriber.Subscribe <ClanMemberRemovedIntegrationEvent, ClanMemberRemovedIntegrationEventHandler>(); subscriber.Subscribe <UserGameCredentialAddedIntegrationEvent, UserGameCredentialAddedIntegrationEventHandler>(); subscriber.Subscribe <UserGameCredentialRemovedIntegrationEvent, UserGameCredentialRemovedIntegrationEventHandler>(); subscriber.Subscribe <UserStripeCustomerCreatedIntegrationEvent, UserStripeCustomerCreatedIntegrationEventHandler>(); }
public static void UseIntegrationEventSubscriptions(this IServiceBusSubscriber subscriber) { subscriber.Subscribe <UserCreatedIntegrationEvent, UserCreatedIntegrationEventHandler>(); subscriber.Subscribe <UserEmailChangedIntegrationEvent, UserEmailChangedIntegrationEventHandler>(); subscriber.Subscribe <UserPhoneChangedIntegrationEvent, UserPhoneChangedIntegrationEventHandler>(); subscriber.Subscribe <UserAddressChangedIntegrationEvent, UserAddressChangedIntegrationEventHandler>(); subscriber.Subscribe <UserProfileChangedIntegrationEvent, UserProfileChangedIntegrationEventHandler>(); }
public OrderSagaParticipant(IServiceBusSubscriber serviceBusSubscriber, IOrderRepository orderRepository, string queue) { _serviceBusSubscriber = serviceBusSubscriber; _queue = queue; _orderRepository = orderRepository; }
public ApplicationServiceBusClient( IServiceBusPublisher serviceBusPublisher, IServiceBusSubscriber serviceBusSubscriber, IServiceBusSubscriberForDeadLetter serviceBusSubscriberForDeadLetter, ILogger <ApplicationServiceBusClient> logger) { _serviceBusPublisher = serviceBusPublisher; _serviceBusSubscriber = serviceBusSubscriber; _serviceBusSubscriberForDeadLetter = serviceBusSubscriberForDeadLetter; _logger = logger; }
public TalentechAdminServiceBusClient( IServiceBusPublisher serviceBusPublisher, IServiceBusSubscriber serviceBusSubscriber, IServiceBusSubscriberForDeadLetter serviceBusSubscriberForDeadLetter, ILogger <TalentechAdminServiceBusClient> logger) { _serviceBusPublisher = serviceBusPublisher; _serviceBusSubscriber = serviceBusSubscriber; _serviceBusSubscriberForDeadLetter = serviceBusSubscriberForDeadLetter; _logger = logger; }
public static void UseIntegrationEventSubscriptions(this IServiceBusSubscriber subscriber) { subscriber.Subscribe <UserCreatedIntegrationEvent, UserCreatedIntegrationEventHandler>(); subscriber.Subscribe <UserStripePaymentIntentSucceededIntegrationEvent, UserStripePaymentIntentSucceededIntegrationEventHandler>(); subscriber.Subscribe <UserStripePaymentIntentPaymentFailedIntegrationEvent, UserStripePaymentIntentPaymentFailedIntegrationEventHandler>(); subscriber.Subscribe <UserStripePaymentIntentCanceledIntegrationEvent, UserStripePaymentIntentCanceledIntegrationEventHandler>(); subscriber.Subscribe <UserWithdrawSucceededIntegrationEvent, UserWithdrawSucceededIntegrationEventHandler>(); subscriber.Subscribe <UserWithdrawFailedIntegrationEvent, UserWithdrawFailedIntegrationEventHandler>(); subscriber.Subscribe <ChallengeSynchronizedIntegrationEvent, ChallengeSynchronizedIntegrationEventHandler>(); subscriber.Subscribe <ChallengeParticipantRegisteredIntegrationEvent, ChallengeParticipantRegisteredIntegrationEventHandler>(); }
public CreateOrderSagaOrchestrator(ICustomerServiceProxy customerServiceProxy, IServiceBusSubscriber serviceBusSubscriber, IOrderRepository orderRepository) { _customerServiceProxy = customerServiceProxy; _orderRepository = orderRepository; base.AddSagaParticipant(new OrderSagaParticipant( serviceBusSubscriber, _orderRepository, "CustomerServiceReply") ); }
public static void UseIntegrationEventSubscriptions(this IServiceBusSubscriber subscriber) { subscriber.Subscribe <ChallengeClosedIntegrationEvent, ChallengeClosedIntegrationEventHandler>(); subscriber.Subscribe <ClanCandidatureSentIntegrationEvent, ClanCandidatureSentIntegrationEventHandler>(); subscriber.Subscribe <ClanInvitationSentIntegrationEvent, ClanInvitationSentIntegrationEventHandler>(); subscriber.Subscribe <ClanMemberAddedIntegrationEvent, ClanMemberAddedIntegrationEventHandler>(); subscriber.Subscribe <ClanMemberRemovedIntegrationEvent, ClanMemberRemovedIntegrationEventHandler>(); subscriber.Subscribe <UserCreatedIntegrationEvent, UserCreatedIntegrationEventHandler>(); subscriber.Subscribe <UserDepositFailedIntegrationEvent, UserDepositFailedIntegrationEventHandler>(); subscriber.Subscribe <UserDepositSucceededIntegrationEvent, UserDepositSucceededIntegrationEventHandler>(); subscriber.Subscribe <UserGameCredentialAddedIntegrationEvent, UserGameCredentialAddedIntegrationEventHandler>(); subscriber.Subscribe <UserGameCredentialRemovedIntegrationEvent, UserGameCredentialRemovedIntegrationEventHandler>(); subscriber.Subscribe <UserWithdrawFailedIntegrationEvent, UserWithdrawFailedIntegrationEventHandler>(); subscriber.Subscribe <UserWithdrawSucceededIntegrationEvent, UserWithdrawSucceededIntegrationEventHandler>(); subscriber.Subscribe <UserEmailConfirmationTokenGeneratedIntegrationEvent, UserEmailConfirmationTokenGeneratedIntegrationEventHandler>(); subscriber.Subscribe <UserPasswordResetTokenGeneratedIntegrationEvent, UserPasswordResetTokenGeneratedIntegrationEventHandler>(); subscriber.Subscribe <ChallengeParticipantRegisteredIntegrationEvent, ChallengeParticipantRegisteredIntegrationEventHandler>(); subscriber.Subscribe <ChallengeStartedIntegrationEvent, ChallengeStartedntegrationEventHandler>(); }
private static bool TryGetSubscriberTopicSubscriptionNames(IServiceBusSubscriber <TMessage> subscriber, out string topicName, out string subscriptionName) { var consumeMethod = subscriber.GetType().GetMethod(ConsumeMethodName); var subscriptionAttribute = consumeMethod .GetCustomAttributes(typeof(ServiceBusTopicSubscriptionAttribute), false) .SingleOrDefault() as ServiceBusTopicSubscriptionAttribute; if (subscriptionAttribute == null) { topicName = null; subscriptionName = null; return(false); } topicName = subscriptionAttribute.TopicName; subscriptionName = subscriptionAttribute.SubscriptionName; return(true); }
public static IServiceBusSubscriber EnsureTopicSubscriptionEx(this IServiceBusSubscriber serviceBusSubscriber, string topicName, string subscriptionName, CancellationToken cancellationToken) { serviceBusSubscriber.EnsureTopicSubscription(topicName, subscriptionName, cancellationToken).GetAwaiter().GetResult(); return(serviceBusSubscriber); }
private SubscriberInfo SubscribeOne(IServiceBusSubscriber <TMessage> subscriber) { string topicName; string subscriptionName; if (!TryGetSubscriberTopicSubscriptionNames(subscriber, out topicName, out subscriptionName)) { throw new InvalidOperationException(string.Format( "No subscriber topic/subscription attribute specified for type '{0}'", typeof(TMessage).FullName)); } var serviceBusConfiguration = _configurationService.Get <AzureServiceBusConfiguration>(); var subscriptionConfiguration = serviceBusConfiguration.Topics .Where(each => each.TopicName == topicName) .SelectMany(each => each.Subscriptions) .FirstOrDefault(each => each.SubscriptionName == subscriptionName); if (subscriptionConfiguration == null) { _logService.Info( "No subscriber configuration found for topic/subscription \"{0}/{1}\", will use default configuration", topicName, subscriptionName); subscriptionConfiguration = new AzureServiceBusSubscriptionConfiguration(); } //Ensure topic name is correctly formatted after its configuration has been retrieved topicName = _topicNameFormatter.GetTopicName(topicName); var subscriptionPath = string.Format("{0}/{1}", topicName, subscriptionConfiguration.SubscriptionName); _logService.Info("Subscribing to topic/subscription '{0}'", subscriptionPath); var topicClient = _clientFactory.CreateFromConnectionString( serviceBusConfiguration.ConnectionString, topicName); var options = new OnMessageOptions { MaxConcurrentCalls = subscriptionConfiguration.MaxConcurrentMessagesPerNode ?? serviceBusConfiguration.DefaultMaxConcurrentMessagesPerNode, AutoComplete = false }; options.ExceptionReceived += LogSubscriptionClientException; var subscriptionClient = _clientFactory.CreateFromConnectionString( serviceBusConfiguration.ConnectionString, topicName, subscriptionConfiguration.SubscriptionName, ReceiveMode.PeekLock); var subscriberInfo = new SubscriberInfo { SubscriptionPath = subscriptionPath, TopicClient = topicClient, SubscriptionClient = subscriptionClient, Subscriber = subscriber }; subscriptionClient.OnMessage(brokeredMessage => ConsumeMessage(subscriberInfo, brokeredMessage), options); _logService.Info("Subscribed to topic/subscription '{0}' with max of {1} concurrent call(s) per node", subscriptionPath, options.MaxConcurrentCalls); return(subscriberInfo); }
public ReserveCreditEventHandler(IServiceBusPublisher serviceBusPublisher, IServiceBusSubscriber serviceBusSubscriber) { _serviceBusPublisher = serviceBusPublisher; _serviceBusSubscriber = serviceBusSubscriber; }
public static void UseIntegrationEventSubscriptions(this IServiceBusSubscriber subscriber) { subscriber.Subscribe <ChallengeClosedIntegrationEvent, ChallengeClosedIntegrationEventHandler>(); }