Ejemplo n.º 1
0
        public void ConfigureServices(IServiceCollection services)
        {
            PrometheusMetrics.TryConfigure(Environment.ApplicationName);
            EventMapping.Map();

            var esConnection = ConfigureEsConnection(
                Configuration["EventStore:ConnectionString"],
                Environment.ApplicationName);
            var documentStore = ConfigureRavenDb(
                Configuration["RavenDb:Server"],
                Configuration["RavenDb:Database"]
                );

            var ravenDbStore = new RavenDBProvider(documentStore);

            services.AddSingleton(c => (Func <IAsyncDocumentSession>)GetSession);
            services.AddSingleton <IHostedService>(
                new EventStoreService(
                    esConnection,
                    Props.FromProducer(() =>
                                       new SubscriptionActor(
                                           esConnection,
                                           new RavenDbCheckpointStore(GetSession, "readmodels"),
                                           "ravenDbSubscription",
                                           (Props.FromProducer(
                                                () => new CustomerVehiclesProjection(ravenDbStore)), "customerVehicles"),
                                           (Props.FromProducer(
                                                () => new VehicleItemProjection(ravenDbStore)), "vehicleItems")
                                           )
                                       )
                    )
                );

            IAsyncDocumentSession GetSession() => documentStore.OpenAsyncSession();
        }
Ejemplo n.º 2
0
 private static IWorkflowBuilder GetDefaultBuilder(RavenDBProvider provider)
 {
     var builder = new WorkflowBuilder<XElement>(provider,
         new XmlWorkflowParser(),
         provider
         ).WithDefaultCache();
     return builder;
 }
Ejemplo n.º 3
0
        private static IWorkflowBuilder GetDefaultBuilder(RavenDBProvider provider)
        {
            var builder = new WorkflowBuilder <XElement>(provider,
                                                         new XmlWorkflowParser(),
                                                         provider
                                                         ).WithDefaultCache();

            return(builder);
        }
Ejemplo n.º 4
0
        private WorkflowRuntime CreateRuntimeRavenDB()
        {
            var provider = new RavenDBProvider(new Raven.Client.Document.DocumentStore()
            {
                Url             = Parameters.DBUrl,
                DefaultDatabase = Parameters.Database
            });

            callbackProvider = new WorkflowCallbackProvider(Parameters, provider);

            var builder = new WorkflowBuilder <XElement>(callbackProvider, new XmlWorkflowParser(), provider).WithDefaultCache();

            return(new WorkflowRuntime(Parameters.RuntimeId)
                   .WithBuilder(builder)
                   .WithPersistenceProvider(provider));
        }
        public PersistenceProviderContainer()
        {
            _provider =
                new RavenDBProvider(new DocumentStore()
            {
                Url             = ConfigurationManager.AppSettings["Url"],
                DefaultDatabase = ConfigurationManager.AppSettings["Database"]
            });

            using (var session = _provider.Store.OpenSession())
            {
                if (session.Query <Business.Model.Role>().Count() == 0)
                {
                    GenereateDate(session);
                }
            }
        }
Ejemplo n.º 6
0
        private WorkflowRuntime CreateRuntimeRavenDB()
        {
            var provider = new RavenDBProvider(new Raven.Client.Document.DocumentStore()
            {
                Url = Parameters.DBUrl,
                DefaultDatabase = Parameters.Database
            });

            callbackProvider = new WorkflowCallbackProvider(Parameters, provider);

            var builder = new WorkflowBuilder<XElement>(callbackProvider, new XmlWorkflowParser(), provider).WithDefaultCache();
            return new WorkflowRuntime(Parameters.RuntimeId)
                .WithBuilder(builder)
                .WithPersistenceProvider(provider);
        }