public static IMessageBus AddMessageBus(this IServiceCollection services, IMessageBusAdminClient messageBusAdmin, IMessageBusClient messageBusClient, MessageBusOptions?options = null) { var messageBus = (IMessageBus) new Abstractions.MessageBus(new MessageHandlerResolver(services), messageBusAdmin, messageBusClient, new MessageProcessorResolver(services), options); services.AddSingleton(messageBus); return(messageBus); }
public MessageBus(IMessageHandlerResolver messageHandlerResolver, IMessageBusAdminClient messageBusAdmin, IMessageBusClient messageBusClient, IMessageProcessorResolver messageProcessorResolver, MessageBusOptions?messageBusOptions = null) { _messageHandlerResolver = messageHandlerResolver; _messageBusAdminClient = messageBusAdmin; _messageBusClient = messageBusClient; _messageProcessorResolver = messageProcessorResolver; _messageBusOptions = messageBusOptions ?? new MessageBusOptions(); _messageTypePropertyName = _messageBusOptions.MessageTypePropertyName; }