예제 #1
0
        public override void Configure(IConfigurationContext context, ProcessableAttribute attribute, Type typeWithAttribute)
        {
            var boundedContext  = ((OutboxAttribute)attribute).BoundedContext;
            var outboxProcessor = D.P.GetRequiredInstance <IOutboxProcessor>();

            GenericsHelper.RegisterOutboxToOutboxProcessor(outboxProcessor, typeWithAttribute, boundedContext,
                                                           OutboxPublicationType);
        }
        public override void Configure(IConfigurationContext context, ProcessableAttribute attribute, Type typeWithAttribute)
        {
            var attributeTyped = (MessageForExchangeCommandQueueTargetAttribute)attribute;

            var messageBus          = D.P.GetRequiredInstance <IMessageBus>();
            var messageListenerType = attributeTyped.MessageListenerType;

            var targetBoundedContext = attributeTyped.TargetBoundedContext;
            var exchangeName         = Exchange.CommandsFor(targetBoundedContext);
            var queueName            = Queue.For(targetBoundedContext);

            GenericsHelper.RegisterMessageToMessageBus(messageBus, typeWithAttribute, messageListenerType, exchangeName, queueName);
        }