我基本上有2个事件:
UserCreatedEvent.class 和 UserUpdatedEvent.class
我有一个流程可以同时生成这两个事件(请记住这只是一个例子) 是否有可能确保(通过某些配置)仅在第一个事件被消耗后才会消耗第二个事件? (我不希望在处理创建事件之前处理更新事件。)
P.S这两个事件正在产生于不同的队列。
最后,我想指出我正在使用JMSTemplate(spring)进行事件。 with activemq。
答案 0 :(得分:0)
您可以将相关ID添加到UpdateEvent,其ID为CreateEvent。如果设置了相关标识,则消费者不应使用UpdateEvent,但尚未使用具有该标识的CreateEvent。
如果您有多个使用者,则应添加新事件CreateEventProcessingFinished [id],该事件将被UpdateEvent使用者捕获并被视为使用具有给定相关ID的事件的权限。
但我认为通过改变架构来避免消息同步要好得多(如果可能的话)。