2017-02-23 4 views
0

Akka.NET에서 새 개체 유형을 만들 때마다. 해당 유형의 전체 저널은 생성자에서로드되는Akka.net - 새 개체를 만들 때마다 모든 저널 데이터를로드합니다.

내 시험이 저널

public sealed class CreateContactCommand : AuditCommandBase<Contact, CreateContactEvent>, ICommand<Contact, CreateContactEvent> 
    { 
     private readonly ILogger _logger = LogManager.GetCurrentClassLogger(); 
     public CreateContactCommand(Contact obj, string auditUser, DateTime auditTime) : base(obj, auditUser, auditTime) 
     { 
      // This gets hit for everything in the journal db 
      _logger.Debug("Create Contact Command Ctor"); 
     } 
    } 

의 모든 항목 내가 만약을 위해 한 번 타격을 받고 계속 생성자가

[Test, Category("Integration")] 
     public async Task Should_Persist_Actor() 
     { 
      var model = Mocks.Fake.Contact(); 

      await Actors.ContactActor.Ask(new CreateContactCommand(model, "unit test", DateTime.Now)); 
      var context = new MyTestContext("xxx"); 
      using (context) 
      { 
       var found = context.Set<Contact>().FirstOrDefault(x => x.Id == model.Id); 
       Assert.IsNotNull(found); 
      } 
     } 

내 시험이 곧바로 통과하는 저널을 자르십시오. 저널에 데이터가있는 경우 각 항목의 유형 생성자를 방문합니다 ...

답변

0

의도 한대로 작동합니다. akka 배우를 온라인으로 가져 오면 이벤트 일지를 재생하여 상태를 복원합니다.

+0

유닛 테스트 중이므로 설정이 매번 akka를 다시 시작하므로 모든 데이터가 메모리 저장소에 다시 저장되어야한다는 말입니까? – KenL