1

我使用EventStore作为ReadJournalakka-persistenceAPI 来构建持久视图。

面临的问题是事件持续存在后,我在 EventStore GUI 中看不到标签。因此,不确定正确的标记事件是否在事件存储中持续存在。

通过http://pkaczor.blogspot.in/2015/12/akka-ddd-integrating-eventstore.html和一个小测试,我看到我无法通过currentEventsByTagakka 持久性 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 不检索我的事件?

4

0 回答 0