コード例 #1
0
 internal MessagePump(IOperateTopologyInternal defaultOperator, MessageReceiverCreator messageReceiverCreator, BrokeredMessagesToIncomingMessagesConverter brokeredMessageConverter, ITopologySectionManagerInternal topologySectionManager, ReadOnlySettings settings, string localAddress, TimeSpan timeToWaitBeforeTriggeringTheCircuitBreaker)
 {
     this.defaultOperator          = defaultOperator;
     this.messageReceiverCreator   = messageReceiverCreator;
     this.brokeredMessageConverter = brokeredMessageConverter;
     this.topologySectionManager   = topologySectionManager;
     this.settings              = settings;
     this.localAddress          = localAddress;
     timeToWaitBeforeTriggering = timeToWaitBeforeTriggeringTheCircuitBreaker;
 }
コード例 #2
0
        public TopologyOperator(MessageReceiverCreator messageReceiverCreator, BrokeredMessagesToIncomingMessagesConverter brokeredMessageConverter, ReadOnlySettings settings)
        {
            this.brokeredMessageConverter = brokeredMessageConverter;
            this.messageReceiverCreator   = messageReceiverCreator;

            messageReceiverNotifierSettings = new MessageReceiverNotifierSettings(
                settings.Get <ReceiveMode>(WellKnownConfigurationKeys.Connectivity.MessageReceivers.ReceiveMode),
                settings.HasExplicitValue <TransportTransactionMode>() ? settings.Get <TransportTransactionMode>() : settings.SupportedTransactionMode(),
                settings.Get <TimeSpan>(WellKnownConfigurationKeys.Connectivity.MessageReceivers.AutoRenewTimeout),
                settings.Get <int>(WellKnownConfigurationKeys.Connectivity.NumberOfClientsPerEntity));
        }
コード例 #3
0
        void InitializeIfNecessary()
        {
            if (Interlocked.Exchange(ref initializeSignaled, 1) != 0)
            {
                return;
            }

            Guard.AgainstUnsetSerializerSetting(Settings);

            var sendOnly = Settings.GetOrDefault <bool>("Endpoint.SendOnly");
            var localAddressForSendOnlyEndpoint = ToTransportAddress(LogicalAddress.CreateLocalAddress(Settings.EndpointName(), new Dictionary <string, string>()));

            try
            {
                localAddress = sendOnly ? localAddressForSendOnlyEndpoint : Settings.LocalAddress();
            }
            catch
            {
                // For tests other than Acceptance tests, LocalAddress() will throw
                localAddress = localAddressForSendOnlyEndpoint;
            }

            defaultNamespaceAlias        = Settings.Get <string>(WellKnownConfigurationKeys.Topology.Addressing.DefaultNamespaceAlias);
            namespaceConfigurations      = Settings.Get <NamespaceConfigurations>(WellKnownConfigurationKeys.Topology.Addressing.Namespaces);
            messageSizePaddingPercentage = Settings.Get <int>(WellKnownConfigurationKeys.Connectivity.MessageSenders.MessageSizePaddingPercentage);

            var partitioningStrategyType = (Type)Settings.Get(WellKnownConfigurationKeys.Topology.Addressing.Partitioning.Strategy);

            partitioningStrategy = partitioningStrategyType.CreateInstance <INamespacePartitioningStrategy>(Settings);

            namespaceManager = new NamespaceManagerLifeCycleManagerInternal(new NamespaceManagerCreator(Settings));
            messagingFactoryLifeCycleManager = new MessagingFactoryLifeCycleManager(new MessagingFactoryCreator(namespaceManager, Settings), Settings);

            senderLifeCycleManager = new MessageSenderLifeCycleManager(new MessageSenderCreator(messagingFactoryLifeCycleManager, Settings), Settings);

            oversizedMessageHandler = (IHandleOversizedBrokeredMessages)Settings.Get(WellKnownConfigurationKeys.Connectivity.MessageSenders.OversizedBrokeredMessageHandlerInstance);

            topologyManager        = CreateTopologySectionManager(defaultNamespaceAlias, namespaceConfigurations, partitioningStrategy, addressingLogic);
            topologyCreator        = new TopologyCreator(CreateSubscriptionCreator(), new AzureServiceBusQueueCreator(TopologySettings.QueueSettings, Settings), new AzureServiceBusTopicCreator(TopologySettings.TopicSettings), namespaceManager, Settings);
            messageReceiverCreator = new MessageReceiverCreator(messagingFactoryLifeCycleManager, Settings);
            topologyOperator       = new TopologyOperator(messageReceiverCreator, new BrokeredMessagesToIncomingMessagesConverter(Settings, new DefaultConnectionStringToNamespaceAliasMapper(Settings)), Settings);
        }
コード例 #4
0
 public MessagePump(IOperateTopologyInternal defaultOperator, MessageReceiverCreator messageReceiverCreator, BrokeredMessagesToIncomingMessagesConverter brokeredMessageConverter, ITopologySectionManagerInternal topologySectionManager, ReadOnlySettings settings, string localAddress) : this(defaultOperator, messageReceiverCreator, brokeredMessageConverter, topologySectionManager, settings, localAddress, TimeSpan.FromSeconds(30))
 {
 }
 public MessageReceiverNotifier(MessageReceiverCreator receiverCreator, BrokeredMessagesToIncomingMessagesConverter brokeredMessageConverter, MessageReceiverNotifierSettings settings)
 {
     messageReceiverCreator        = receiverCreator;
     this.brokeredMessageConverter = brokeredMessageConverter;
     this.settings = settings;
 }