7
我是DDD的新手,現在我正在閱讀文章以獲取更多信息。其中一個articles側重於域事件(DE)。例如,發送電子郵件是在執行一段代碼時滿足一些條件後引發的域事件。域驅動設計和域事件
代碼示例顯示的處理域事件中的一種方式,並遵循本款
請注意,上面的代碼將在同一個線程在同一事務中的常規域工作,讓你運行應避免執行任何阻止活動,例如使用SMTP或Web服務。相反,更喜歡使用單向消息傳遞給其他阻止活動的其他人。
我的問題是
- 這是在處理DE的一個普遍問題?或者只是關心上述文章中的解決方案?
- 如果在事務中引發域事件並且系統不會同步處理它們,那麼應如何處理它們?
- 當我決定序列化這些事件並讓調度程序(或任何其他機制)執行它們時,事務回滾時會發生什麼? (在文章中的事件是在事務中執行的代碼中引發的)誰將取消它們(當它們沒有被持久化到數據庫時)?
感謝