EventStoreReadJournal
をAPIとして使用しakka-persistence
て、永続的なビューを構築しています。
直面している問題は、イベントが永続化された後、EventStore GUI にタグが表示されないことです。したがって、正しいタグ付きイベントがイベントストアに保持されているかどうかはわかりません。
http://pkaczor.blogspot.in/2015/12/akka-ddd-integrating-eventstore.htmlと小さなテストを行ったところcurrentEventsByTag
、 akka 永続化 APIを介してイベントストアのタグによって永続化されたイベントを読み取ることができないことがわかりました.
私の書き込みイベントアダプターは以下に記載されています。
public class ViewEventAdapter implements WriteEventAdapter {
@Override
public String manifest(Object event) {
return "";
}
@Override
public Object toJournal(Object event) {
if (event instanceof DomainEvent) {
DomainEvent domainEvent = (DomainEvent) event;
return tagged(domainEvent , "ViewRelated");
}
return event;
}
private Tagged tagged(Object event, String tag) {
Set<String> tags = new HashSet<String>();
tags.add(tag);
return new Tagged(event, tags);
}
}
以下が構成です。
akka.persistence {
journal {
plugin = "eventstore.persistence.journal"
event-adapters {
tagger = "com.wt.domain.write.events.ViewEventAdapter"
}
event-adapter-bindings {
"com.wt.domain.write.events.DomainEvent" = tagger
}
}
}
そして最後に、eventByTag を永続化する関連コードです。
private void handle(DomainEvent event) {
ViewEventAdapter viewAdapter = new ViewEventAdapter();
persist(viewAdapter.toJournal(event), evt -> {
domainObject.update(evt);
sender().tell("Done"), self());
});
}
}
この問題に関するヘルプは大歓迎です。
同様の行に別の質問があります: Akka Persisence Query Read Journal がイベントを取得しないのはなぜですか?