如何使用postgressql处理wso2esb或wso2dss中的事务

如何使用postgressql处理wso2esb或wso2dss中的事务,wso2,wso2esb,wso2dss,Wso2,Wso2esb,Wso2dss,我想更多地了解DSS事务处理。我一直在阅读boxcarring和分布式事务,但这不是我想要的。Boxcarring是状态完整的(客户端需要维护一个会话),我的事务在同一个数据库中,而不是分布式的 我正在寻找以下问题/挑战的解决方案:-我有一套相关表格。它们由主键/外键关系关联。我需要更新/插入相关表中的对象。我可以在一组嵌套的更新查询中执行此操作吗?如果是这样,当其中一个更新失败时会发生什么?是否会回滚所有插入/更新的对象?(我正在使用postgres数据库) 我插入到第一个表中,得到一个返回的

我想更多地了解DSS事务处理。我一直在阅读boxcarring和分布式事务,但这不是我想要的。Boxcarring是状态完整的(客户端需要维护一个会话),我的事务在同一个数据库中,而不是分布式的

我正在寻找以下问题/挑战的解决方案:-我有一套相关表格。它们由主键/外键关系关联。我需要更新/插入相关表中的对象。我可以在一组嵌套的更新查询中执行此操作吗?如果是这样,当其中一个更新失败时会发生什么?是否会回滚所有插入/更新的对象?(我正在使用postgres数据库)

我插入到第一个表中,得到一个返回的键值,这是wso2dss的未来之一,使用该键值,我也插入到第二个表中,并使用该键值,再插入一次,在插入时,我的插入是正确的 我的问题是,如果我在第二个表中插入重复的数据,那么将出现彻底的错误,在这种情况下,我的第一个表行可能会回滚..我们如何在wso2dss或wso2esb中做到这一点


谢谢,

您可以使用存储过程代替嵌套查询。您可以通过[1]了解如何在dss中执行存储过程

[1]

谢谢,,
达尔沙纳

为了重播,我选择了thanx。我希望你能澄清我的疑问我的问题是如何回滚wso2esb或wso2dss中的事务我在你的场景中使用POSTGRES当DSS中的更新失败时,它将向ESB发回SOAP错误。由于ESB,这仍然只是另一个消息响应,它不会转到错误序列,除非您显式地检查消息并执行必要的操作。所以您必须声明提交消息是SOAP错误,所以您必须说它是SOAP错误,并强制它出错。[1]对此进行了解释。[1] thanx很多..我可以再次使用dbreport mediator在错误序列中写入删除操作。如果esb或dss中发生错误,则错误序列将得到响应,因为只有我可以基于返回的genrated键写入删除操作。我有4个序列,它们插入到不同的4个表中。因此,我可以在每个序列中定义此属性,其他仅在INSESQUENCE中定义。这适用于您希望调用到将执行查询的DSS服务的每个服务调用。如果有4个DSS操作引用4个表,并由ESB中的4个序列调用,那么需要为所有4个序列添加。