領域事件中涉及的實體可能還沒有持久化呀?
Domain event 乍看起來好像解決了一切問題, 用起來也很簡單, 就像Udi Dahan什麼的演示的那樣。
但是現在有一個具體問題,不知道如何解決了:在ctor或者工廠方法中引發事件,由於涉及到的聚合當時還沒有被持久化,handler中就沒法訪問相應的聚合了;甚至,如果是自動生成id的話,那時候id還不存在,連傳遞id也不行。
但是現在有一個具體問題,不知道如何解決了:在ctor或者工廠方法中引發事件,由於涉及到的聚合當時還沒有被持久化,handler中就沒法訪問相應的聚合了;甚至,如果是自動生成id的話,那時候id還不存在,連傳遞id也不行。
一些`hack`思路:
* 手動生成id
* (在app層)使用aop在事務結束的時候統一Dispatch所有在domain中收集到的事件
但是感覺比較猥瑣,不知道各位大神有沒有比較“權威”的做法?(No CQRS & EventSourcing)
class User { private String id //xxoo.... public Message postMessageToUser(String toWhom_id, String what) { def msg = new Message(toWhom_id, what) //Q: 在這裡引發事件,但是此時msg還沒有被持久化 EventBus.instance.fire([msgId: msg.id, what: what, from:this.id] as MessagePostedEvent) } } //============================ class MessagePostedEventHandler { @Inject private UserRepository userRepo @Inject private MessageRepository msgRepo //假定我們需要在handler裡面獲取相關聚合根的詳細資訊(只讀) //Q:不管handler是同步還是非同步,都不能保證相關的實體已經持久化了,就可能無法載入了 public void handle(@Observes @Sync MessagePostedEvent e) { def sender = userRepo.load(e.from) def msg = msgRepo.load(e.id) println "user $sender posted a message: $msg" } } <p class="indent"> |
相關文章
- 領域實體有沒有繼承性?繼承
- 領域模型中的實體與ORM中的實體模型ORM
- 領域事件和整合事件沒那麼高大上事件
- 想到J道培訓,banq怎麼還沒有回覆我的Email呀AI
- 領域物件裡有個屬性的型別是介面,如何用hibernate持久化物件型別持久化
- 事件處理器中對領域的操作事件
- 小程式沒有入口?這些“場景”你可能還沒用上
- 領域驅動模型DDD(二)——領域事件的訂閱/釋出實踐模型事件
- DDD領域驅動設計:領域事件事件
- VR除了被用在色情行業中 vr運用領域還有哪些VR行業
- 結合領域事件和微服務的實現領域驅動設計 - Alagarsamy事件微服務
- 沒有防毒軟體的iOS,還安全麼?防毒iOS
- 事件風暴 - 分解問題領域的最佳實踐事件
- 還有智慧床墊?來看看小米還準備進入哪些領域
- Python主要涉及哪些領域?你都知道嗎?Python
- 什麼是Python?Python涉及哪些領域?Python
- 領域驅動設計戰術模式--領域事件模式事件
- 戲說領域驅動設計(廿五)——領域事件事件
- 領域服務和領域事件如何取捨?或共存?事件
- 程式化廣告還有未來麼?(4/5)——程式化領域變化的底層邏輯和反思
- [翻譯]-領域事件-Martin Fowler事件
- 使用Spring Data JPA在更改實體時釋出DDD領域事件 - thorbenSpring事件ORB
- 使用Datomic實現沒有麻煩的事件溯源事件
- 迷惑,求解--ORM實體於領域實體之間的關係ORM
- 事件風暴與領域故事的比較事件
- 有沒有大佬知道這種資料應該怎麼抓取呀?
- Abp領域事件(EventBus)原始碼解析事件原始碼
- Java反應式事件溯源:領域Java事件
- 在微服務中使用領域事件微服務事件
- 有沒有面過西安騰訊雲的小夥伴分享一下經驗呀。
- 你可能沒有細究過的TCP/IPTCP
- 有沒有cqrs的具體實現可供參考?
- 請問沒有複雜邏輯的領域模型和貧血模型有什麼區別?模型
- iOS中的資料持久化iOS持久化
- Hibernate註解(一)之持久化實體持久化
- 靜態成員函式-this指標沒有指的是沒有給,而不是不能擁有,可以自己給呀函式指標
- 領域事件命名的壞氣味 - Tomasz Jaskuela事件
- 領域框架事件驅動的時序問題框架事件