簡體   English   中英

我們正在使用微服務。 如何增加特定springboot api的超時?

[英]We are using microservices . How to increase timeout of a particular springboot api?

我想在控制器級別增加 API 的超時時間。 對於所有 API,我們可以通過在我的 yml 文件中提及以下內容來完成:

ribbon:
  ReadTimeout: 30000
  ConnectTimeout: 30000

但我想超時增加特定 API 的超時時間。 因為它是一個長流程 API。 我們怎樣才能做到這一點?

@GetMapping(value = { "", "/" })
    public ResponseEntity<Page<DBInventoryMasterEntity>> fetch() {
        Page<DBInventoryMasterEntity> returnList = null;
            returnList = inventoryService.findByCustomerCode();
        return ResponseEntity.ok(returnList);
    }

你可以試試這兩種方法:

  1. 返回一個Callable<> 看到這個答案。
  2. 使用帶有超時(以秒為單位)參數的@Transactional 注釋
    @GetMapping(value = { "", "/" })
    @Timed
    @Transactional(timeout = 120)  // 2 minutes
    public ResponseEntity<Page<DBInventoryMasterEntity>> fetch() {
        // your code
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM