protected IActorRef CreateWriter(IEventStoreWriter writer = null, ISerializer serializer = null, IActorRef dispatcher = null)
        {
            writer = writer ?? MockEventStore.SuccessfulWriter();
            serializer = serializer ?? new MockSerializer();
            dispatcher = dispatcher ?? CreateTestProbe();

            var props = SerialEventStreamWriter.CreateProps(writer, serializer, dispatcher, new GlobalOptions());
            return Sys.ActorOf(props);
        }
Exemple #2
0
        public SerialEventStreamWriter(IEventStoreWriter writer, ISerializer serializer, IActorRef dispatcher, GlobalOptions options)
        {
            this._writer     = writer;
            this._serializer = serializer;
            this._dispatcher = dispatcher;
            this._options    = options;

            Receive <PersistenceRequest>(r => HandleRequest(r));
        }
Exemple #3
0
        public static Props CreateProps(IEventStoreWriter writer, ISerializer serializer, IActorRef dispatcher, GlobalOptions options)
        {
            Argument.RequiresNotNull(writer, nameof(writer));
            Argument.RequiresNotNull(serializer, nameof(serializer));
            Argument.RequiresNotNull(dispatcher, nameof(dispatcher));
            Argument.RequiresNotNull(options, nameof(options));

            return(Props.Create <BufferedEventWriter>(writer, serializer, dispatcher, options));
        }
        public SerialEventStreamWriter(IEventStoreWriter writer, ISerializer serializer, IActorRef dispatcher, GlobalOptions options)
        {
            this._writer = writer;
            this._serializer = serializer;
            this._dispatcher = dispatcher;
            this._options = options;

            Receive<PersistenceRequest>(r => HandleRequest(r));
        }
        public static Props CreateProps(IEventStoreWriter writer, ISerializer serializer, IActorRef dispatcher, GlobalOptions options)
        {
            Argument.RequiresNotNull(writer, nameof(writer));
            Argument.RequiresNotNull(serializer, nameof(serializer));
            Argument.RequiresNotNull(dispatcher, nameof(dispatcher));
            Argument.RequiresNotNull(options, nameof(options));

            return Props.Create<SerialEventStreamWriter>(writer, serializer, dispatcher, options);
        }
Exemple #6
0
        public BufferedEventWriter(IEventStoreWriter writer, ISerializer serializer, IActorRef dispatcher, GlobalOptions options)
        {
            _writer     = writer;
            _serializer = serializer;
            _dispatcher = dispatcher;
            _options    = options;

            Receive <PersistenceRequest>(r => Enqueue(r));
            Receive <FlushBufferCommand>(_ => FlushBuffer());
        }
Exemple #7
0
        protected IActorRef CreateWriter(IEventStoreWriter writer = null, ISerializer serializer = null, IActorRef dispatcher = null)
        {
            writer     = writer ?? MockEventStore.SuccessfulWriter();
            serializer = serializer ?? new MockSerializer();
            dispatcher = dispatcher ?? CreateTestProbe();

            var props = BufferedEventWriter.CreateProps(writer, serializer, dispatcher, new GlobalOptions());

            return(Sys.ActorOf(props));
        }
        public BufferedEventWriter(IEventStoreWriter writer, ISerializer serializer, IActorRef dispatcher, GlobalOptions options)
        {
            _writer = writer;
            _serializer = serializer;
            _dispatcher = dispatcher;
            _options = options;

            Receive<PersistenceRequest>(r => Enqueue(r));
            Receive<FlushBufferCommand>(_ => FlushBuffer());
        }
        public TaskReminderSentEventIndexer(IEventStoreConnection eventStoreConnection, IEventStoreWriter<TaskReminderSentEvent> eventStoreWriter)
        {
            _eventStoreWriter = eventStoreWriter;

            if (!_eventStoreWriter.Initialized)
            {
                _eventStoreWriter.Initialize(
                    connection: eventStoreConnection,
                    stream: e => string.Format("Task-{0}", e.TaskId),
                    eventStoreId: e => e.Id,
                    eventType: e => e.GetType().ToString(),
                    metaData: e => new { IndexedCreatedDate = DateTime.UtcNow },
                    eventData: e => e);
            }
        }
Exemple #10
0
        public TaskReminderSentEventIndexer(IEventStoreConnection eventStoreConnection, IEventStoreWriter <TaskReminderSentEvent> eventStoreWriter)
        {
            _eventStoreWriter = eventStoreWriter;

            if (!_eventStoreWriter.Initialized)
            {
                _eventStoreWriter.Initialize(
                    connection: eventStoreConnection,
                    stream: e => string.Format("Task-{0}", e.TaskId),
                    eventStoreId: e => e.Id,
                    eventType: e => e.GetType().ToString(),
                    metaData: e => new { IndexedCreatedDate = DateTime.UtcNow },
                    eventData: e => e);
            }
        }
Exemple #11
0
        public GenericEventIndexer(IEventStoreConnection eventStoreConnection, IEventStoreWriter <T> eventStoreWriter)
        {
            _eventStoreWriter = eventStoreWriter;

            if (!_eventStoreWriter.Initialized)
            {
                _eventStoreWriter.Initialize(
                    connection: eventStoreConnection,
                    stream: _stream,
                    eventStoreId: e => e.Id,
                    eventType: e => e.GetType().FullName,
                    metaData: e => e.MetaData,
                    eventData: e => e.JsonData);

                //// Alternative we could control the write action to do custom operations
                //// at point of writing, such as set stream metadata should the stream not
                //// already exist.
                //
                //_eventStoreWriter.Initialize(
                //    eventStoreAction: (e, writeAction) =>
                //    {
                //        eventStoreConnection.SetStreamMetadataAsync(
                //            _stream.Invoke(e),
                //            ExpectedVersion.Any,
                //            StreamMetadata.Build()
                //                .SetReadRole("$all")
                //                .SetWriteRole("$all")
                //                .SetDeleteRole("$all")
                //                .SetMetadataReadRole("$all")
                //                .SetMetadataWriteRole("$all")).Wait();

                //        writeAction.Invoke(eventStoreConnection);
                //    },
                //    stream: _stream,
                //    eventStoreId: e => e.Id,
                //    eventType: e => e.GetType().FullName,
                //    metaData: e => e.MetaData,
                //    eventData: e => e.JsonData);
            }
        }
Exemple #12
0
 public EventBus(IEventPublisher dispatcher, IEventStoreWriter storeWriter)
 {
     _publisher   = dispatcher;
     _storeWriter = storeWriter;
 }