我必须将记录保存到数据库,然后将一些数据发送到一个安静的Web服务。我需要它们一起发生。如果一个失败,那么另一个也不应该发生。例如,请考虑以下代码:
saveRecords(records);
sendToRestService(records);
如果saveRecords因数据库约束违规而失败,那么我不希望其余的调用发生。我可以让saveRecords在它自己的事务中发生并在调用sendToRestService之前提交它,但是仍有可能停止其余的服务。我可以跟上休息服务是否成功,如果不成功则尝试稍后发送。我只是想知道是否有更好的策略,因为这似乎是一种常见的情况。
感谢您的任何建议。
答案 0 :(得分:0)
为什么不试试Observer设计模式?
我假设saveRecords(记录)和sendToRestService(记录)方法分为两个不同的类。
如果使用Observer设计模式,则可以在调用类对象发生更改时通知包含sendToRestService()方法的类。