/// <summary> /// Initializes a new instance of the <see cref="ServiceBusSessionManager"/> class. /// </summary> /// /// <param name="receiver"> /// An abstracted Service Bus transport-specific receiver that is associated with the /// Service Bus gateway; intended to perform delegated operations. /// </param> /// <param name="identifier"></param> internal ServiceBusSessionManager( TransportReceiver receiver, string identifier) { _receiver = receiver; _identifier = identifier; }
public void SetUp() { Builder = new FuncBuilder(); InMemoryFaultManager = new NServiceBus.Faults.InMemory.FaultManager(); FakeReceiver = new FakeReceiver(); var configurationBuilder = new BusConfiguration(); configurationBuilder.EndpointName("xyz"); configurationBuilder.AssembliesToScan(new Assembly[0]); Transport = new TransportReceiver(new TransactionSettings(true, TimeSpan.FromSeconds(30), IsolationLevel.ReadCommitted, 5, false, false), 1, 0, FakeReceiver, InMemoryFaultManager, new SettingsHolder(), configurationBuilder.BuildConfiguration()); RegisterTypes(); Builder.Register<IManageMessageFailures>(() => InMemoryFaultManager); Builder.Register<TransportReceiver>(() => Transport); //var configurer = new SatelliteConfigurer(); //configurer.Customize(configure); var launcher = new SatelliteLauncher(Builder); BeforeRun(); launcher.Start(); }
/// <summary> /// Initializes a new instance of the <see cref="ServiceBusReceiver"/> class. /// </summary> /// /// <param name="connection">The <see cref="ServiceBusConnection" /> connection to use for communication with the Service Bus service.</param> /// <param name="entityPath"></param> /// <param name="isSessionEntity"></param> /// <param name="options">A set of options to apply when configuring the consumer.</param> /// <param name="sessionId"></param> /// internal ServiceBusReceiver( ServiceBusConnection connection, string entityPath, bool isSessionEntity, ServiceBusReceiverOptions options, string sessionId = default) { Argument.AssertNotNull(connection, nameof(connection)); Argument.AssertNotNull(connection.RetryOptions, nameof(connection.RetryOptions)); Argument.AssertNotNullOrWhiteSpace(entityPath, nameof(entityPath)); connection.ThrowIfClosed(); options = options?.Clone() ?? new ServiceBusReceiverOptions(); Identifier = DiagnosticUtilities.GenerateIdentifier(entityPath); _connection = connection; _retryPolicy = connection.RetryOptions.ToRetryPolicy(); ReceiveMode = options.ReceiveMode; PrefetchCount = options.PrefetchCount; EntityPath = entityPath; IsSessionReceiver = isSessionEntity; InnerReceiver = _connection.CreateTransportReceiver( entityPath: EntityPath, retryPolicy: _retryPolicy, receiveMode: ReceiveMode, prefetchCount: (uint)PrefetchCount, identifier: Identifier, sessionId: sessionId, isSessionReceiver: IsSessionReceiver); }
public void SetUp() { Builder = new FuncBuilder(); InMemoryFaultManager = new Faults.InMemory.FaultManager(); FakeReceiver = new FakeReceiver(); Transport = new TransportReceiver { Receiver = FakeReceiver, TransactionSettings = TransactionSettings.Default }; Configure.With(new Assembly[0]) .DefineEndpointName("Test") .DefaultBuilder(); Configure.Instance.Builder = Builder; RegisterTypes(); Builder.Register <IManageMessageFailures>(() => InMemoryFaultManager); Builder.Register <TransportReceiver>(() => Transport); var configurer = new SatelliteConfigurer(); configurer.Init(); var launcher = new SatelliteLauncher { Builder = Builder, }; BeforeRun(); launcher.Start(); }
public void SetUp() { fakeReceiver = new FakeReceiver(); TransportReceiver = new TransportReceiver(new TransactionSettings(true, TimeSpan.FromSeconds(30), IsolationLevel.ReadCommitted, 5, false,false), 1, 0, fakeReceiver, new FakeFailureManager(), new SettingsHolder(), new BusConfiguration().BuildConfiguration()); }
public void SetUp() { Builder = new FuncBuilder(); InMemoryFaultManager = new Faults.InMemory.FaultManager(); FakeReceiver = new FakeReceiver(); var configurationBuilder = new BusConfiguration(); configurationBuilder.EndpointName("xyz"); configurationBuilder.AssembliesToScan(new Assembly[0]); Transport = new TransportReceiver(new TransactionSettings(true, TimeSpan.FromSeconds(30), IsolationLevel.ReadCommitted, 5, false, false), 1, 0, FakeReceiver, InMemoryFaultManager, new SettingsHolder(), configurationBuilder.BuildConfiguration()); RegisterTypes(); Builder.Register <IManageMessageFailures>(() => InMemoryFaultManager); Builder.Register <TransportReceiver>(() => Transport); //var configurer = new SatelliteConfigurer(); //configurer.Customize(configure); var launcher = new SatelliteLauncher(Builder); BeforeRun(); launcher.Start(); }
public void SetUp() { Builder = new FuncBuilder(); InMemoryFaultManager = new Faults.InMemory.FaultManager(); FakeReceiver = new FakeReceiver(); Transport = new TransportReceiver { Receiver = FakeReceiver, TransactionSettings = TransactionSettings.Default }; Configure.With(new Assembly[0]) .DefineEndpointName("Test") .DefaultBuilder(); Configure.Instance.Builder = Builder; RegisterTypes(); Builder.Register<IManageMessageFailures>(() => InMemoryFaultManager); Builder.Register<TransportReceiver>(() => Transport); var configurer = new SatelliteConfigurer(); configurer.Init(); var launcher = new SatelliteLauncher(); BeforeRun(); launcher.Start(); }
/// <summary> /// Initializes a new instance of the <see cref="ServiceBusReceiver"/> class. /// </summary> /// /// <param name="connection">The <see cref="ServiceBusConnection" /> connection to use for communication with the Service Bus service.</param> /// <param name="entityName"></param> /// <param name="isSessionEntity"></param> /// <param name="sessionId"></param> /// <param name="options">A set of options to apply when configuring the consumer.</param> /// private ServiceBusReceiver( ServiceBusConnection connection, string entityName, bool isSessionEntity, string sessionId = default, ServiceBusReceiverOptions options = default) { Argument.AssertNotNull(connection, nameof(connection)); options ??= new ServiceBusReceiverOptions(); IsSessionReceiver = isSessionEntity; _connection = connection; RetryPolicy = options.RetryOptions.ToRetryPolicy(); ReceiveMode = options.ReceiveMode; PrefetchCount = options.PrefetchCount; EntityName = entityName; _innerReceiver = _connection.CreateTransportReceiver( entityName: EntityName, retryPolicy: RetryPolicy, receiveMode: ReceiveMode, prefetchCount: (uint)PrefetchCount, sessionId: sessionId, isSessionReceiver: IsSessionReceiver); SessionManager = new ServiceBusSessionManager(_innerReceiver); }
public void SetUp() { fakeReceiver = new FakeReceiver(); TransportReceiver = new TransportReceiver { FailureManager = new FakeFailureManager(), Receiver = fakeReceiver, TransactionSettings = TransactionSettings.Default }; }
public void Should_limit_the_throughput_to_the_set_limit() { TransportReceiver.ChangeMaximumMessageThroughputPerSecond(ThroughputLimit); TransportReceiver.Start(Address.Parse("mytest")); ThreadPool.QueueUserWorkItem(Receive10); Thread.Sleep(600); Assert.AreEqual(ThroughputLimit, fakeReceiver.NumberOfMessagesReceived); Thread.Sleep(500); Assert.AreEqual(ThroughputLimit * 2, fakeReceiver.NumberOfMessagesReceived); }
public void Should_not_limit_the_throughput() { const int throughputLimit = 0; TransportReceiver.ChangeMaximumMessageThroughputPerSecond(throughputLimit); TransportReceiver.Start(Address.Parse("myTest")); for (var i = 0; i < 100; i++) { fakeReceiver.FakeMessageReceived(); } Assert.AreEqual(100, fakeReceiver.NumberOfMessagesReceived); }
/// <summary> /// Initializes a new instance of the <see cref="ServiceBusReceiver"/> class. /// </summary> /// /// <param name="connection">The <see cref="ServiceBusConnection" /> connection to use for communication with the Service Bus service.</param> /// <param name="entityPath"></param> /// <param name="isSessionEntity"></param> /// <param name="plugins">The plugins to apply to incoming messages.</param> /// <param name="options">A set of options to apply when configuring the consumer.</param> /// <param name="sessionId">An optional session Id to scope the receiver to. If not specified, /// the next available session returned from the service will be used.</param> /// internal ServiceBusReceiver( ServiceBusConnection connection, string entityPath, bool isSessionEntity, IList <ServiceBusPlugin> plugins, ServiceBusReceiverOptions options, string sessionId = default) { Type type = GetType(); Logger.ClientCreateStart(type, connection?.FullyQualifiedNamespace, entityPath); try { Argument.AssertNotNull(connection, nameof(connection)); Argument.AssertNotNull(connection.RetryOptions, nameof(connection.RetryOptions)); Argument.AssertNotNullOrWhiteSpace(entityPath, nameof(entityPath)); connection.ThrowIfClosed(); options = options?.Clone() ?? new ServiceBusReceiverOptions(); Identifier = DiagnosticUtilities.GenerateIdentifier(entityPath); _connection = connection; _retryPolicy = connection.RetryOptions.ToRetryPolicy(); ReceiveMode = options.ReceiveMode; PrefetchCount = options.PrefetchCount; EntityPath = entityPath; IsSessionReceiver = isSessionEntity; _innerReceiver = _connection.CreateTransportReceiver( entityPath: EntityPath, retryPolicy: _retryPolicy, receiveMode: ReceiveMode, prefetchCount: (uint)PrefetchCount, identifier: Identifier, sessionId: sessionId, isSessionReceiver: IsSessionReceiver); _scopeFactory = new EntityScopeFactory(EntityPath, FullyQualifiedNamespace); _plugins = plugins; if (!isSessionEntity) { // don't log client completion for session receiver here as it is not complete until // the link is opened. Logger.ClientCreateComplete(type, Identifier); } } catch (Exception ex) { Logger.ClientCreateException(type, connection?.FullyQualifiedNamespace, entityPath, ex); throw; } }
public void SetUp() { fakeReceiver = new FakeReceiver(); TransportReceiver = new TransportReceiver(new TransactionSettings(true, TimeSpan.FromSeconds(30), IsolationLevel.ReadCommitted, 5, false, false), 1, 0, fakeReceiver, new FakeFailureManager(), new SettingsHolder(), new BusConfiguration().BuildConfiguration()); }
public void SetUp() { pump = new Pump(); receiver = new TransportReceiver("FakeReceiver", pump, new PushSettings("queue", "queue", true, TransportTransactionMode.SendsAtomicWithReceive), new PushRuntimeSettings(), null, null, null); }
internal ServiceBusSessionManager( TransportReceiver receiver) { _receiver = receiver; }