2017-05-22 82 views
0

我正在構建一個Web應用程序,我需要跟蹤某些事件,例如短信發送,發送或失敗。爲此我想使用Axonframework。我在官方網站上跟着axonframework教程,也從this website使用Axonframework基於特定事件檢索domainevententry表中的數據

但我沒有找到任何解決方案來從Axon本身創建的daomainevententry表中獲取事件。我正在使用Java語言,Spring框架和MySql數據庫來完成我的應用程序的開發。

請告訴我任何好的教程或解決方案。

回答

1

如果你正在使用JpaEventStorageEngine(例如,你有你的classpath spring-data-jpa和利用application.propertiesapplication.yml一個JPA持久性單元),軸突使用實體DomainEventEntry存儲的事件。在你的數據庫中,這些結果在表DOMAIN_EVENT_ENTRY或類似的東西中。

要從Spring訪問它,你可以自己使用Spring-Data。定義一個Spring的數據存儲庫:

import org.axonframework.eventsourcing.eventstore.jpa.DomainEventEntry; 
import org.springframework.data.jpa.repository.JpaRepository; 

public interface DomainEventRepository extends JpaRepository<DomainEventEntry, Long> { 

} 

通過這樣做,你會得到默認的訪問方法,由該存儲庫查詢。要進一步定製,您可以編寫其他方法。請參考documentation of Spring Data瞭解如何操作。

也許你有興趣查詢事件一定骨料:

List<DomainEventEntry> findByAggregateIdentifier(String aggregateIdentifier); 

或特定類型:

List<DomainEventEntry> findByType(String type); 

探索更多,只是導航DomainEventEntry的層次結構,尋找有趣的領域。

希望這有助於

西蒙