在Spring Rest CompletableFuture结果上使用@Transactional

时间:2016-02-09 10:50:03

标签: spring spring-data-jpa spring-transactions spring-web

在我当前的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进行交易?

0 个答案:

没有答案