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");
}
}
場合、私私のテストがすぐに通過するジャーナルを切り捨てます。ジャーナルにデータがある場合は、各項目の型のコンストラクタにヒットします。
私は単体テストであるため、設定は毎回akkaを再起動しているので、すべてのデータがメモリストアに戻されます。 – KenL