2012-01-13 3 views
0

CQRS/EventStore : 전달되지 않은 이벤트를 전달하는 방법? 놀라운 라이브러리와

store.Advanced.GetUnDispatchedCommits(); 

이 파견하는 가장 좋은 방법/패턴은 무엇인가가 3.0 EventStore?

디스패처를 반복하고 호출 한 다음 커밋을 업데이트하여 디스패치되었음을 나타냅니다 (그렇다면 어떻게해야합니까?).

또한 EventStore의 배선 중 시작시 디스패치되지 않은 커밋에 대한 디스패치가 시도됩니다. 이 일을 피하려면 어떻게해야합니까?

이 질문은 프로젝트의 문제점보다는 EventStore의 작동 방법을 배우는 것과 관련이 있습니다.

TIA

JD

답변

1

은 "파견 스케줄러는"시작시 모든 디스패치 커밋을로드하기 위해 시도하는 것입니다. 당신은 당신 자신의 것을 만들 수 있고 시작시 호출되는 메소드를 오버라이드 할 수있다. 동시에, 나는 그것을 추천하지 않을 것이다. EventStore의 모델은 내결함성과 오류 복구에 관한 것입니다. 특히, 커밋이 지속 된 직후 머신이 죽었고 디스패처가 아직 메시지를 와이어로 푸시하지 않은 경우 EventStore가 시작될 때 중단되지 않은 커밋을 발송하여 중단 한 상태로 만들려고합니다.