2017-02-23 54 views
0

每次我在Akka.NET中创建一个新类型的对象时。这种类型的全部期刊被加载在构造Akka.net - 每次创建新对象时加载所有日志数据

我的测试:

[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); 
      } 
     } 

这是一个不断击中,一次在杂志

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"); 
     } 
    } 

每个条目如果我的构造截断我的测试马上传出的日志。如果日志中有数据,它会打印每个项目的类型构造函数...

回答

0

这是按预期工作的。当你把一个阿卡人演员在线时,它会通过重播事件日志来恢复它的状态。

+0

所以你说的是因为我在单元测试中,设置每次都重新启动akka,因此所有数据都必须返回到内存存储中? – KenL

相关问题