在使用web服务时,事务类似于逻辑



有几个更新语句可以通过web服务调用来完成。这些陈述应该是事务性的;当且仅当一切都能完成时,它们必须完成。

我无法更改web服务。我能做的就是试着改变所有的,如果其中一个失败了,我就把之前的改回来。这个简单的解很难看。

是否有更优雅的方法来解决这个问题?

注意:我正在使用JavaEE, SOAP, Spring MVC。

我们有一个@TransactionAttribute用于不同的目标(方法和类)。如果你用适当的TransactionAttributeType(Constants)将此注释应用到类中,那么该事务策略将适用于该类中的所有方法,也就是说,你可以在该类中保留对更新语句的所有调用,并在拥有web服务的地方注入该类,因此,即使一个更新调用失败,它也会回滚

您可以编写一个事务性类,使用Apache HTTP utils逐个调用这些web服务。(这个类应该有一个@Transactional注释)

最新更新