我正在构建一个 Web 应用程序,我需要在其中跟踪一些事件,例如 sms 发送、传递或失败。为此,我想使用 Axonframework 。我已经在官方网站和这个网站上关注了 axonframework 教程
但我没有找到任何解决方案来从 Axon 本身创建的 daomainevententry 表中获取事件。我正在使用 Java 语言、Spring 框架和 MySql 数据库来完成我的应用程序的开发。
请告诉我任何好的教程或解决方案。
我正在构建一个 Web 应用程序,我需要在其中跟踪一些事件,例如 sms 发送、传递或失败。为此,我想使用 Axonframework 。我已经在官方网站和这个网站上关注了 axonframework 教程
但我没有找到任何解决方案来从 Axon 本身创建的 daomainevententry 表中获取事件。我正在使用 Java 语言、Spring 框架和 MySql 数据库来完成我的应用程序的开发。
请告诉我任何好的教程或解决方案。
如果您正在使用JpaEventStorageEngine
(例如,您在类路径上使用orspring-data-jpa
配置了 JPA 持久性单元),Axon 正在使用实体来存储事件。在您的数据库中,这些结果会导致表中的条目或类似内容。application.properties
application.yml
DomainEventEntry
DOMAIN_EVENT_ENTRY
要从 Spring 访问它,您可以自己使用 Spring-Data。定义一个 Spring-Data 存储库:
import org.axonframework.eventsourcing.eventstore.jpa.DomainEventEntry;
import org.springframework.data.jpa.repository.JpaRepository;
public interface DomainEventRepository extends JpaRepository<DomainEventEntry, Long> {
}
通过这样做,您将获得从该存储库查询的默认访问方法。对于进一步的定制,您可以编写其他方法。请查阅Spring Data 的文档以了解如何执行此操作。
可能您有兴趣查询某个聚合的事件:
List<DomainEventEntry> findByAggregateIdentifier(String aggregateIdentifier);
或按特定类型:
List<DomainEventEntry> findByType(String type);
要探索更多,只需浏览 的层次结构DomainEventEntry
并寻找有趣的领域。
希望这可以帮助,
西蒙