public MartenBackedListenerContext()
        {
            theStore = DocumentStore.For(_ =>
            {
                _.Connection(Servers.PostgresConnectionString);
                _.PLV8Enabled = false;
            });


            theSettings = new AdvancedSettings(null);


            EnvelopeStorageAdmin.RebuildSchemaObjects();

            var persistence =
                new PostgresqlEnvelopePersistence(
                    new PostgresqlSettings {
                ConnectionString = Servers.PostgresConnectionString
            }, theSettings);

            thePipeline    = Substitute.For <IHandlerPipeline>();
            theWorkerQueue = new DurableWorkerQueue(new LocalQueueSettings("temp"), thePipeline, theSettings,
                                                    persistence, TransportLogger.Empty());


            var agent = Substitute.For <IListener>();

            theWorkerQueue.StartListening(agent);
        }
Exemplo n.º 2
0
        public void AddListener(IListener listener, Endpoint settings)
        {
            IWorkerQueue worker = null;

            switch (settings.Mode)
            {
            case EndpointMode.Durable:
                worker = new DurableWorkerQueue(settings, _root.Pipeline, _root.Settings, _root.Persistence,
                                                _root.TransportLogger);
                break;

            case EndpointMode.BufferedInMemory:
                worker = new LightweightWorkerQueue(settings, _root.TransportLogger, _root.Pipeline, _root.Settings);
                break;

            case EndpointMode.Inline:
                listener.StartHandlingInline(_root.Pipeline);
                break;
            }

            if (worker != null)
            {
                _listeners.Add(worker);
                worker.StartListening(listener);
            }
        }
Exemplo n.º 3
0
        private async Task startDurabilityAgent()
        {
            // HOKEY, BUT IT WORKS
            if (_container.Model.DefaultTypeFor <IEnvelopePersistence>() != typeof(NulloEnvelopePersistence))
            {
                var durabilityLogger = _container.GetInstance <ILogger <DurabilityAgent> >();

                // TODO -- use the worker queue for Retries?
                var worker = new DurableWorkerQueue(new LocalQueueSettings("scheduled"), Pipeline, Settings, Persistence,
                                                    TransportLogger);
                Durability = new DurabilityAgent(TransportLogger, durabilityLogger, worker, Persistence, Runtime,
                                                 Options.Advanced);

                await Durability.StartAsync(Options.Advanced.Cancellation);
            }
        }
        public SqlServerBackedListenerContext()
        {
            new SqlServerEnvelopeStorageAdmin(new SqlServerSettings{ConnectionString = Servers.SqlServerConnectionString}).RecreateAll();


            theSettings = new AdvancedSettings(null);

            mssqlSettings = new SqlServerSettings
            {
                ConnectionString = Servers.SqlServerConnectionString
            };

            ThePersistence = new SqlServerEnvelopePersistence(mssqlSettings, theSettings);


            thePipeline = Substitute.For<IHandlerPipeline>();
            theWorkerQueue = new DurableWorkerQueue(new LocalQueueSettings("temp"), thePipeline, theSettings, ThePersistence, TransportLogger.Empty());

        }