在我当前的Web应用程序中,我使用带有CompletableFuture结果的@RestController进行所有服务。
数据库操作是异步的(CompletableFuture方法),但我想在发送结果之前提交操作
我想在--save--异步结束后提交数据库修改(--save--是未来业务列表)
POST /category/20/posts
POST /posts/recently-created-post-id/tags >> Add tags one by one?
- >我已尝试使用@Transactional,但它不起作用(在方法结束时提交,但部分或不执行异步方法
- >程序化的其他方式:
@RestController
public class MyController {
...
@RequestMappping(...)
public CompletableFuture<ResponseEntity<AnyResource>> service(...){
CompletableFuture ...
.thenCompose(--check--)
.thenAsync(--save--)
...ect
.thenApply(
return ResponseEntity.ok().body(theResource);
);
}
}
发生错误&#34;无法停用事务同步 - 未激活&#34;,因为不是同一个线程而假定。
有没有正确的方法,使用CompletableFuture进行交易?