2017-02-23 8 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

関連する問題