コード例 #1
0
        public static string GetConnectionString(ReadOnlySettings settings)
        {
            Contract.Requires(settings != null);
            Contract.Ensures(!string.IsNullOrWhiteSpace(Contract.Result<string>()));

            if (settings.HasSetting(MongoPersistenceConstants.ConnectionStringKey))
            {
                var connectionString =
                    settings.Get<string>(MongoPersistenceConstants.ConnectionStringKey).AssumedNotNullOrWhiteSpace();

                return connectionString;
            }

            if (ConfigurationManager.ConnectionStrings[MongoPersistenceConstants.DefaultConnectionStringName] != null)
            {
                Logger.InfoFormat(
                    "Using connection string from {0}",
                    MongoPersistenceConstants.DefaultConnectionStringName);
                return GetConnectionStringFromConfig(MongoPersistenceConstants.DefaultConnectionStringName);    
            }

            Logger.InfoFormat("Using connection string from {0}", MongoPersistenceConstants.FallbackConnectionStringName);

            return GetConnectionStringFromConfig(MongoPersistenceConstants.FallbackConnectionStringName);
        }
コード例 #2
0
        /// <summary>
        /// Provides a factory method for building a message serializer.
        /// </summary>
        public override Func<IMessageMapper, IMessageSerializer> Configure(ReadOnlySettings settings)
        {
            return mapper =>
            {
                var conventions = settings.Get<Conventions>();
                var serializer = new XmlMessageSerializer(mapper, conventions);

                string customNamespace;
                if (settings.TryGet(CustomNamespaceConfigurationKey, out customNamespace))
                {
                    serializer.Namespace = customNamespace;
                }

                bool skipWrappingRawXml;
                if (settings.TryGet(SkipWrappingRawXml, out skipWrappingRawXml))
                {
                    serializer.SkipWrappingRawXml = skipWrappingRawXml;
                }

                bool sanitizeInput;
                if (settings.TryGet(SanitizeInput, out sanitizeInput))
                {
                    serializer.SanitizeInput = sanitizeInput;
                }

                var registry = settings.Get<MessageMetadataRegistry>();
                var messageTypes = registry.GetAllMessages().Select(m => m.MessageType);

                serializer.Initialize(messageTypes);
                return serializer;
            };
        }
コード例 #3
0
        void ApplyConventions(ReadOnlySettings settings)
        {
            docStore.Conventions.FindTypeTagName = BackwardsCompatibilityHelper.LegacyFindTypeTagName;

            var store = docStore as DocumentStore;
            if (store == null)
            {
                return;
            }

            // Source: https://github.com/ravendb/ravendb/blob/f56963f23f54b5535eba4f043fb84d5145b11b1d/Raven.Client.Lightweight/Document/DocumentStore.cs#L129
            var ravenDefaultResourceManagerId = new Guid("e749baa6-6f76-4eef-a069-40a4378954f8");

            if (store.ResourceManagerId != ravenDefaultResourceManagerId)
            {
                Logger.Warn("Overriding user-specified documentStore.ResourceManagerId. It's no longer necessary to set this value while using NServiceBus.RavenDB persistence. Consider using busConfiguration.CustomizeDocumentStore(Action<IDocumentStore customize) if this is absolutely necessary, but it is not recommended.");
            }
            if (!(store.TransactionRecoveryStorage is VolatileOnlyTransactionRecoveryStorage))
            {
                Logger.Warn("Overriding user-specified documentStore.TransactionRecoveryStorage. It's no longer necessary to set this value while using NServiceBus.RavenDB persistence. Consider using busConfiguration.CustomizeDocumentStore(Action<IDocumentStore customize) if this is absolutely necessary, but it is not recommended.");
            }

            var resourceManagerId = settings.Get<string>("NServiceBus.LocalAddress") + "-" + settings.Get<string>("EndpointVersion");
            store.ResourceManagerId = DeterministicGuidBuilder(resourceManagerId);

            string path = $@"%LOCALAPPDATA%\NServiceBus.RavenDB\{store.ResourceManagerId}";
            store.TransactionRecoveryStorage = new LocalDirectoryTransactionRecoveryStorage(path);

            bool suppressDistributedTransactions;
            if (settings.TryGet("Transactions.SuppressDistributedTransactions", out suppressDistributedTransactions) && suppressDistributedTransactions)
            {
                store.EnlistInDistributedTransactions = false;
            }
        }
コード例 #4
0
            public HeartbeatStartup(IDispatchMessages messageDispatcher, ReadOnlySettings settings)
            {
                backend = new ServiceControlBackend(messageDispatcher, settings);
                endpointName = settings.EndpointName();
                HostId = settings.Get<Guid>("NServiceBus.HostInformation.HostId");
                Host = settings.Get<string>("NServiceBus.HostInformation.DisplayName");
                Properties = settings.Get<Dictionary<string, string>>("NServiceBus.HostInformation.Properties");

                var interval = ConfigurationManager.AppSettings["Heartbeat/Interval"];
                if (!string.IsNullOrEmpty(interval))
                {
                    heartbeatInterval = TimeSpan.Parse(interval);
                }
                else if (settings.HasSetting("ServiceControl.Heartbeat.Interval"))
                {
                    heartbeatInterval = settings.Get<TimeSpan>("ServiceControl.Heartbeat.Interval");
                }

                ttlTimeSpan = TimeSpan.FromTicks(heartbeatInterval.Ticks*4); // Default ttl

                var ttl = ConfigurationManager.AppSettings["Heartbeat/TTL"];
                if (!string.IsNullOrEmpty(ttl))
                {
                    ttlTimeSpan = TimeSpan.Parse(ttl);
                }
                else if (settings.HasSetting("ServiceControl.Heartbeat.Ttl"))
                {
                    ttlTimeSpan = settings.Get<TimeSpan>("ServiceControl.Heartbeat.Ttl");
                }
            }
 public HandledMessageInfoSubscriber(IDataBackplaneClient dataBackplane, ReadOnlySettings settings, TimeSpan sweepPeriod, TimeSpan heartbeatTimeout)
 {
     this.dataBackplane = dataBackplane;
     this.settings = settings;
     this.sweepPeriod = sweepPeriod;
     this.heartbeatTimeout = heartbeatTimeout;
 }
コード例 #6
0
 public SerializationMapper(IMessageMapper mapper,Conventions conventions, ReadOnlySettings settings)
 {
     jsonSerializer = new JsonMessageSerializer(mapper);
     xmlSerializer = new XmlMessageSerializer(mapper, conventions);
     List<Type> messageTypes = settings.GetAvailableTypes().Where(conventions.IsMessageType).ToList();
     xmlSerializer.Initialize(messageTypes);
 }
 public CustomChecksStartup(IEnumerable<ICustomCheck> customChecks, ReadOnlySettings settings, CriticalError criticalError, IDispatchMessages dispatcher)
 {
     dispatchMessages = dispatcher;
     this.criticalError = criticalError;
     this.settings = settings;
     this.customChecks = customChecks.ToList();
 }
コード例 #8
0
 internal void EnsureDocStoreCreated(ReadOnlySettings settings)
 {
     if (docStore == null)
     {
         docStore = storeCreator(settings);
     }
 }
コード例 #9
0
        static IEnumerable<Type> ISpecifyMessageHandlerOrdering(ReadOnlySettings settings)
        {
            var types = new List<Type>();

            settings.GetAvailableTypes().Where(TypeSpecifiesMessageHandlerOrdering)
                .ToList().ForEach(t =>
                {
                    Logger.DebugFormat("Going to ask for message handler ordering from '{0}'.", t);

                    var order = new Order();
                    ((ISpecifyMessageHandlerOrdering) Activator.CreateInstance(t)).SpecifyOrder(order);

                    order.Types.ToList().ForEach(ht =>
                    {
                        if (types.Contains(ht))
                        {
                            throw new ConfigurationErrorsException(string.Format("The order in which the type '{0}' should be invoked was already specified by a previous implementor of ISpecifyMessageHandlerOrdering. Check the debug logs to see which other specifiers have been invoked.", ht));
                        }
                    });

                    types.AddRange(order.Types);
                });

            return types;
        }
コード例 #10
0
 private static List<Type> GetSagaTypes(ReadOnlySettings settings)
 {
     var sagaDataTypes =
         settings.GetAvailableTypes()
             .Where(t => typeof (IContainSagaData).IsAssignableFrom(t) && !t.IsInterface)
             .ToList();
     return sagaDataTypes;
 }
コード例 #11
0
        void IsTransactional(ReadOnlySettings readOnlySettings)
        {
            #region 5to6IsTransactional

            bool isTransactional = readOnlySettings.GetRequiredTransactionModeForReceives() != TransportTransactionMode.None;

            #endregion
        }
コード例 #12
0
        void SuppressDistributedTransactions(ReadOnlySettings readOnlySettings)
        {
            #region 5to6SuppressDistributedTransactions

            bool suppressDistributedTransactions = readOnlySettings.GetRequiredTransactionModeForReceives() != TransportTransactionMode.TransactionScope;

            #endregion
        }
コード例 #13
0
 public static Func<IDbConnection> GetConnectionFactory(ReadOnlySettings settings)
 {
     
     var holder = settings.Get<ConnectionFactoryHolder>();
     if (holder.ConnectionFactory != null) return holder.ConnectionFactory;
     var connectionFactory = CreateConnectionFactory();
     holder.ConnectionFactory = connectionFactory;
     return holder.ConnectionFactory;
 }
コード例 #14
0
 /// <summary>
 /// <see cref="SerializationDefinition.Configure"/>
 /// </summary>
 public override Func<IMessageMapper, IMessageSerializer> Configure(ReadOnlySettings settings)
 {
     return mapper =>
     {
         var options = settings.GetOptions();
         var contentTypeKey = settings.GetContentTypeKey();
         return new WireMessageSerializer(contentTypeKey, options);
     };
 }
コード例 #15
0
        internal void ApplyContainerRegistration(ReadOnlySettings settings, IConfigureComponents container)
        {
            if (!IsEnabled(settings) || factoryMethod != null)
            {
                return;
            }

            container.ConfigureComponent(BehaviorType, DependencyLifecycle.InstancePerCall);
        }
コード例 #16
0
 internal static bool GetDurableMessagesEnabled(ReadOnlySettings settings)
 {
     bool durableMessagesEnabled;
     if (settings.TryGet("Endpoint.DurableMessages", out durableMessagesEnabled))
     {
         return durableMessagesEnabled;
     }
     return true;
 }
コード例 #17
0
 internal TransactionSettings(ReadOnlySettings settings)
 {
     MaxRetries = 5;
     IsTransactional = settings.Get<bool>("Transactions.Enabled");
     TransactionTimeout = settings.Get<TimeSpan>("Transactions.DefaultTimeout");
     IsolationLevel = settings.Get<IsolationLevel>("Transactions.IsolationLevel");
     SuppressDistributedTransactions = settings.Get<bool>("Transactions.SuppressDistributedTransactions");
     DoNotWrapHandlersExecutionInATransactionScope = settings.Get<bool>("Transactions.DoNotWrapHandlersExecutionInATransactionScope");
 }
コード例 #18
0
            string GetInstallationUserName(ReadOnlySettings settings)
            {
                string username;
                if (settings.TryGet(UsernameKey, out username))
                {
                    return username;
                }

                return WindowsIdentity.GetCurrent().Name;
            }
コード例 #19
0
 /// <summary>
 /// Creates an instance of <see cref="TransportReceiver"/>
 /// </summary>
 /// <param name="transactionSettings">The transaction settings to use for this <see cref="TransportReceiver"/>.</param>
 /// <param name="maximumConcurrencyLevel">The maximum number of messages to process in parallel.</param>
 /// <param name="maximumThroughput">The maximum throughput per second, 0 means unlimited.</param>
 /// <param name="receiver">The <see cref="IDequeueMessages"/> instance to use.</param>
 /// <param name="manageMessageFailures">The <see cref="IManageMessageFailures"/> instance to use.</param>
 /// <param name="settings">The current settings</param>
 /// <param name="config">Configure instance</param>
 public TransportReceiver(TransactionSettings transactionSettings, int maximumConcurrencyLevel, int maximumThroughput, IDequeueMessages receiver, IManageMessageFailures manageMessageFailures, ReadOnlySettings settings, Configure config)
 {
     this.settings = settings;
     this.config = config;
     TransactionSettings = transactionSettings;
     MaximumConcurrencyLevel = maximumConcurrencyLevel;
     MaximumMessageThroughputPerSecond = maximumThroughput;
     FailureManager = manageMessageFailures;
     Receiver = receiver;
 }
コード例 #20
0
 public HostIdFixer(UnicastBus bus, ReadOnlySettings settings)
 {
     Guid hostId = CreateGuid(Environment.MachineName, settings.EndpointName());
     string location = Assembly.GetExecutingAssembly().Location;
     Dictionary<string, string> properties = new Dictionary<string, string>
     {
         {"Location", location}
     };
     bus.HostInformation = new HostInformation(hostId, Environment.MachineName, properties);
 }
コード例 #21
0
        /// <summary>
        ///     Implementers need to new up a new container.
        /// </summary>
        /// <param name="settings">The settings to check if an existing container exists.</param>
        /// <returns>The new container wrapper.</returns>
        public override ObjectBuilder.Common.IContainer CreateContainer(ReadOnlySettings settings)
        {
            IContainer existingContainer;
            if (settings.TryGet("ExistingContainer", out existingContainer))
            {
                return new StructureMapObjectBuilder(existingContainer);
            }

            return new StructureMapObjectBuilder();
        }
 public HandledMessageInfoPublisher(
     IDataBackplaneClient dataBackplane, 
     IReadOnlyCollection<Type> hanledMessageTypes,
     ReadOnlySettings settings, 
     TimeSpan heartbeatPeriod)
 {
     this.dataBackplane = dataBackplane;
     this.hanledMessageTypes = hanledMessageTypes;
     this.settings = settings;
     this.heartbeatPeriod = heartbeatPeriod;
 }
コード例 #23
0
        /// <summary>
        ///     Implementers need to new up a new container.
        /// </summary>
        /// <param name="settings">The settings to check if an existing container exists.</param>
        /// <returns>The new container wrapper.</returns>
        public override ObjectBuilder.Common.IContainer CreateContainer(ReadOnlySettings settings)
        {
            ILifetimeScope existingLifetimeScope;

            if (settings.TryGet("ExistingLifetimeScope", out existingLifetimeScope))
            {
                return new AutofacObjectBuilder(existingLifetimeScope);
            }

            return new AutofacObjectBuilder();
        }
コード例 #24
0
        /// <summary>
        ///     Implementers need to new up a new container.
        /// </summary>
        /// <param name="settings">The settings to check if an existing container exists.</param>
        /// <returns>The new container wrapper.</returns>
        public override ObjectBuilder.Common.IContainer CreateContainer(ReadOnlySettings settings)
        {
            LifetimeScopeHolder scopeHolder;

            if (settings.TryGet(out scopeHolder))
            {
                return new AutofacObjectBuilder(scopeHolder.ExistingLifetimeScope);
            }

            return new AutofacObjectBuilder();
        }
コード例 #25
0
        static IMessageSerializer CreateMessageSerializer(Tuple<SerializationDefinition, SettingsHolder> definitionAndSettings, IMessageMapper mapper, ReadOnlySettings mainSettings)
        {
            var definition = definitionAndSettings.Item1;
            var deserializerSettings = definitionAndSettings.Item2;
            deserializerSettings.Merge(mainSettings);
            deserializerSettings.PreventChanges();

            var serializerFactory = definition.Configure(deserializerSettings);
            var serializer = serializerFactory(mapper);
            return serializer;
        }
        public DistributorReadyMessageProcessor(IBuilder builder, ReadOnlySettings settings)
        {
            disable = !settings.GetOrDefault<bool>("Distributor.Enabled");

            if (disable)
            {
                return;
            }

            workerAvailabilityManager = builder.Build<IWorkerAvailabilityManager>();
            address = MasterNodeConfiguration.GetMasterNodeAddress(settings).SubScope("distributor.control");
        }
 public string Determine(ReadOnlySettings settings, Address replyToAddress)
 {
     if (IsPotentialServiceBusConnectionString(replyToAddress.Machine))
     {
         return replyToAddress.ToString();
     }
     else
     {
         var replyQueue = replyToAddress.Queue;
         var @namespace = Determine(settings); //todo: inject
         return replyQueue + "@" + @namespace;
     }
 }
コード例 #28
0
        public DistributorSatellite(IBuilder builder, ReadOnlySettings settings)
        {
            disable = !settings.GetOrDefault<bool>("Distributor.Enabled");

            if (disable)
            {
                return;
            }

            messageSender = builder.Build<ISendMessages>();
            workerManager = builder.Build<IWorkerAvailabilityManager>();
            address = MasterNodeConfiguration.GetMasterNodeAddress(settings);
        }
コード例 #29
0
        internal IDocumentStore Init(ReadOnlySettings settings)
        {
            if (!isInitialized)
            {
                EnsureDocStoreCreated(settings);
                ApplyConventions(settings);
                BackwardsCompatibilityHelper.SupportOlderClrTypes(docStore);

                docStore.Initialize();
                StorageEngineVerifier.VerifyStorageEngineSupportsDtcIfRequired(docStore, settings);
            }
            isInitialized = true;
            return docStore;
        }
コード例 #30
0
        static string GetDefaultEndpointAddress(ReadOnlySettings settings)
        {
            if (!settings.GetOrDefault<bool>("IndividualizeEndpointAddress"))
            {
                return settings.EndpointName();
            }

            if (!settings.HasSetting("EndpointInstanceDiscriminator"))
            {
                throw new Exception("No endpoint instance discriminator found. This value is usually provided by your transport so please make sure you're on the lastest version of your specific transport or set the discriminator using 'configuration.ScaleOut().UniqueQueuePerEndpointInstance(myDiscriminator)'");
            }

            return settings.EndpointName() + settings.Get<string>("EndpointInstanceDiscriminator");
        }
コード例 #31
0
 internal static bool HasSupportFor(ReadOnlySettings settings, Storage storages)
 {
     return(settings.Get <List <Storage> >("ResultingSupportedStorages")
            .Contains(storages));
 }
コード例 #32
0
        static IMessageSerializer CreateMessageSerializer(Tuple <SerializationDefinition, SettingsHolder> definitionAndSettings, IMessageMapper mapper, ReadOnlySettings mainSettings)
        {
            var definition           = definitionAndSettings.Item1;
            var deserializerSettings = definitionAndSettings.Item2;

            deserializerSettings.Merge(mainSettings);
            deserializerSettings.PreventChanges();

            var serializerFactory = definition.Configure(deserializerSettings);
            var serializer        = serializerFactory(mapper);

            return(serializer);
        }
コード例 #33
0
 public MyMessageHandler(ReadOnlySettings settings)
 {
     this.settings = settings;
 }
コード例 #34
0
 internal static SerializerOptions GetOptions(this ReadOnlySettings settings)
 {
     return(settings.GetOrDefault <SerializerOptions>());
 }
コード例 #35
0
 public MyNamespacePartitioningStrategy(ReadOnlySettings settings)
 {
     this.settings = settings;
 }
コード例 #36
0
 public Batcher(ITopologySectionManager topologySectionManager, ReadOnlySettings settings)
 {
     this.topologySectionManager  = topologySectionManager;
     messageSizePaddingPercentage = settings.Get <int>(WellKnownConfigurationKeys.Connectivity.MessageSenders.MessageSizePaddingPercentage);
 }
 public MessageHandler(Context testContext, ReadOnlySettings settings)
 {
     this.testContext = testContext;
     this.settings    = settings;
 }
コード例 #38
0
 public static bool IsMigrationModeEnabled(ReadOnlySettings settings)
 {
     // this key can be set by transports once they provide native support for pub/sub.
     return(settings.TryGet("NServiceBus.Subscriptions.EnableMigrationMode", out bool enabled) && enabled);
 }
コード例 #39
0
 public override EndpointInstance BindToLocalEndpoint(EndpointInstance instance, ReadOnlySettings settings)
 {
     throw new NotImplementedException();
 }
コード例 #40
0
    public static string FindScriptDirectory(ReadOnlySettings settings)
    {
        var currentDirectory = GetCurrentDirectory(settings);

        return(Path.Combine(currentDirectory, ScriptFolder, settings.GetSqlDialect().Name));
    }
コード例 #41
0
        public MessagingFactoryCreator(IManageNamespaceManagerLifeCycleInternal namespaceManagers, ReadOnlySettings settings)
        {
            this.namespaceManagers = namespaceManagers;
            var transportType      = settings.Get <TransportType>(WellKnownConfigurationKeys.Connectivity.TransportType);
            var batchFlushInterval = settings.Get <TimeSpan>(WellKnownConfigurationKeys.Connectivity.MessagingFactories.BatchFlushInterval);

            if (settings.HasExplicitValue(WellKnownConfigurationKeys.Connectivity.MessagingFactories.RetryPolicy))
            {
                retryPolicy = settings.Get <RetryPolicy>(WellKnownConfigurationKeys.Connectivity.MessagingFactories.RetryPolicy);
            }

            if (settings.HasExplicitValue(WellKnownConfigurationKeys.Connectivity.MessagingFactories.MessagingFactorySettingsFactory))
            {
                settingsFactory = settings.Get <Func <string, MessagingFactorySettings> >(WellKnownConfigurationKeys.Connectivity.MessagingFactories.MessagingFactorySettingsFactory);
            }
            else
            {
                settingsFactory = namespaceName =>
                {
                    var factorySettings = new MessagingFactorySettings
                    {
                        TransportType = transportType
                    };

                    switch (transportType)
                    {
                    case TransportType.NetMessaging:
                        factorySettings.NetMessagingTransportSettings = new NetMessagingTransportSettings
                        {
                            BatchFlushInterval = batchFlushInterval
                        };
                        break;

                    case TransportType.Amqp:
                        factorySettings.AmqpTransportSettings = new AmqpTransportSettings
                        {
                            BatchFlushInterval = batchFlushInterval
                        };
                        break;
                    }

                    return(factorySettings);
                };
            }
        }
コード例 #42
0
 internal static bool DoesTransportSupportConstraint <T>(this ReadOnlySettings settings) where T : DeliveryConstraint
 {
     return(settings.Get <TransportInfrastructure>()
            .DeliveryConstraints.Any(t => typeof(T).IsAssignableFrom(t)));
 }
コード例 #43
0
        internal static DocumentStoreInitializer GetUninitializedDocumentStore <TStorageType>(ReadOnlySettings settings)
            where TStorageType : StorageType
        {
            // First try to get a document store specific to a storage type (Subscriptions, Gateway, etc.)
            var docStoreInitializer = settings.GetOrDefault <DocumentStoreInitializer>(featureSettingsKeys[typeof(TStorageType)]);

            // Next try finding a shared DocumentStore
            if (docStoreInitializer == null)
            {
                docStoreInitializer = settings.GetOrDefault <DocumentStoreInitializer>(defaultDocStoreSettingsKey);
            }

            if (docStoreInitializer == null)
            {
                throw new Exception($"In order to use RavenDB as persistence for {typeof(TStorageType).Name}, a DocumentStore instance or builder must be set using persistence.{nameof(RavenDbSettingsExtensions.SetDefaultDocumentStore)}(...).");
            }

            return(docStoreInitializer);
        }
コード例 #44
0
 public OutboxCleaner(OutboxRecordsCleaner cleaner, ReadOnlySettings settings)
 {
     this.cleaner  = cleaner;
     this.settings = settings;
     logger        = LogManager.GetLogger <OutboxCleaner>();
 }
コード例 #45
0
 public static IDocumentStore GetDocumentStore <TStorageType>(ReadOnlySettings settings, IServiceProvider builder)
     where TStorageType : StorageType
 {
     return(GetUninitializedDocumentStore <TStorageType>(settings).Init(settings, builder));
 }
コード例 #46
0
 public override OutboundRoutingPolicy GetOutboundRoutingPolicy(ReadOnlySettings settings)
 {
     throw new NotImplementedException();
 }
コード例 #47
0
 internal static string GetContentTypeKey(this ReadOnlySettings settings)
 {
     return(settings.GetOrDefault <string>("NServiceBus.Wire.ContentTypeKey"));
 }
コード例 #48
0
 public MyCompositionStrategy(ReadOnlySettings settings)
 {
     this.settings = settings;
 }
コード例 #49
0
 public Installer(ReadOnlySettings settings)
 {
     this.settings     = settings;
     installerSettings = settings.GetOrDefault <InstallerSettings>();
 }
コード例 #50
0
 public ConfigTransportConfig(ReadOnlySettings settings)
 {
     this.settings = settings.Get <Settings>("ServiceControl.Settings");
 }
コード例 #51
0
 public HierarchyComposition(ReadOnlySettings settings)
 {
     this.settings = settings;
 }
コード例 #52
0
        /// <summary>
        ///  Allows the transport to control the local address of the endpoint if needed
        /// </summary>
        /// <param name="settings">The current settings in read only mode</param>
// ReSharper disable once UnusedParameter.Global
        protected virtual string GetLocalAddress(ReadOnlySettings settings)
        {
            return(null);
        }
コード例 #53
0
 public MyNamespacePartitioningStrategyWithControlledCaching(ReadOnlySettings settings)
 {
     this.settings = settings;
 }
コード例 #54
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))
 {
 }
コード例 #55
0
 public override Func <IMessageMapper, IMessageSerializer> Configure(ReadOnlySettings settings)
 {
     return(mapper => new MyCustomMessageSerializer(settings.GetOrDefault <string>("MyCustomSerializer.Settings"), settings.Get <Context>()));
 }
コード例 #56
0
 public VolatileSubscriber(IBuilder builder, IEventStoreConnection client, IDispatcher dispatcher, ReadOnlySettings settings, IMessageMapper mapper)
 {
     _builder      = builder;
     _client       = client;
     _dispatcher   = dispatcher;
     _settings     = settings;
     _jsonSettings = new JsonSerializerSettings
     {
         TypeNameHandling = TypeNameHandling.All,
         Binder           = new EventSerializationBinder(mapper),
         ContractResolver = new EventContractResolver(mapper)
     };
 }
コード例 #57
0
 /// <summary>
 /// Gets whether or not queues should be created.
 /// </summary>
 public static bool CreateQueues(this ReadOnlySettings settings)
 {
     Guard.AgainstNull(nameof(settings), settings);
     return(settings.Get <ReceiveComponent.Configuration>().CreateQueues);
 }
コード例 #58
0
        internal static Func <IIncomingPhysicalMessageContext, bool> GetSubscriptionAuthorizer(this ReadOnlySettings settings)
        {
            Func <IIncomingPhysicalMessageContext, bool> authorizer;

            settings.TryGet("SubscriptionAuthorizer", out authorizer);
            return(authorizer);
        }
コード例 #59
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;
 }
 public SendMessage(ISendMessages sendMessages, MyContext context, ReadOnlySettings settings)
 {
     this.sendMessages = sendMessages;
     this.context      = context;
     this.settings     = settings;
 }