如何同步多个API调用?

时间:2018-12-03 13:31:56

标签: spring spring-boot transactions synchronization spring-data

一个对象具有多个属性,每个对象都属于某个模块。一个模块可以有多个对象。

使用REST API添加属性时,如果缺少该属性的对象,则会将一个对象添加到存储库。 创建对象后,也会为该对象创建相应的模块并将其添加到存储库中。

许多创建属性或对象的查询都到达服务器,服务器上查询的顺序可能与发送的顺序不同。

如何同步这种情况?

我尝试使用const inventors = [ { first: 'Albert', last: 'Einstein', year: 1879, passed: 1955 }, { first: 'Isaac', last: 'Newton', year: 1643, passed: 1711}, { first: 'Galileo', last: 'Galilei', year: 1564, passed: 1642 }, { first: 'Marie', last: 'Curie', year: 1867, passed: 1934 }, { first: 'Johannes', last: 'Kepler', year: 1571, passed: 1630 }, { first: 'Nicolaus', last: 'Copernicus', year: 1473, passed: 1543 }, { first: 'Max', last: 'Planck', year: 1858, passed: 1947 }, { first: 'Katherine', last: 'Blodgett', year: 1898, passed: 1979 }, { first: 'Ada', last: 'Lovelace', year: 1815, passed: 1852 }, { first: 'Sarah E.', last: 'Goode', year: 1855, passed: 1905 }, { first: 'Lise', last: 'Meitner', year: 1878, passed: 1968 }, { first: 'Hanna', last: 'Hammarström', year: 1829, passed: 1909 } ]; const firstSort = inventors.sort((a,b) => a.year - b.year); // exactly the same as a.year > b.year ? 1 : -1; console.log(firstSort); const secondSort = inventors.sort((a,b) => (a.passed - a.year) - (b.passed - b.year)); console.log(secondSort);@Transactional进行多种组合,但无济于事-检测到死锁或服务器试图向数据库中添加模块/对象两次(违反了约束)因为可能只有一个模块/对象)。

0 个答案:

没有答案