2014-08-31 10:05 "@banq"的内容
如果保存的是事件,需要顺序的,按照时间戳先后追加队列或文件或关系数据库中就可以了,这个时间戳是事件发生的时间。这种保存是肯定能完成的,是一个事件流,但是不需要通常锁或JTA的概念。 ...
banq大神,你好!
其实我所想问的是保存的是订单的状态信息的时候,而不是保存事件本身。
假如队列中保存的是顺序发生的事件,有另外的一个线程专门来处理这些事件。例如一个订单保存事件。那么在处理这个保存事件的时候可能需要多次操作数据库,这种是否需要JTA事务呢?
如果按照你上面的回复,我是不是可以这么理解:一个订单保存事件我可以拆分成多个子事件?(保存订单项、保存商品价格和数量信息)然后按照先后顺序放入事件队列,等待处理器来处理?而每个事件的处理都是一个数据库的原子操作?
某个事件处理失败,再通过手动硬编码确定重试几次,若还是失败则将该事件重新放回到事件队列?
不知道以上我所理解的是否正确。