2016-08-04 61 views
0

我們得到了與Spring @async annotation註釋一些代碼 - 這是指運行在一個新線程的方法。理論上 - 這種方法應該在啓動時運行。Spring @async註釋失敗的原因是什麼?

實際上 - 它不是在所有運行。

package ... 
... 
import org.springframework.scheduling.annotation.Async; 
... 
@Component 
public class MyClass { 
... 
    @Async 
    public void mymethod() { 
    ... 
    } 
} 

我想嘗試所有可能的原因,這可能是:

  • 類沒有Spring組件掃描路徑(在此情況下 - 選中)

我問題是:Spring @async註釋失敗的原因是什麼?

(有一類我可以登錄的情況下異步執行的嘗試和失敗?)

+1

何必'@ ASync'在啓動時運行。這裏沒有任何內容可以說清楚。另外,當一些東西應該在啓動時運行時,通常使用init方法是錯誤的方法。爲什麼?因爲AOP可能還沒有被應用,所以'@Async'或'@ Transactional'無用。 –

回答

3

這些是@Async不是爲我

  1. @EnableAsync失蹤
  2. 工作情況
  3. @Async方法是不公開的
  4. @Async標註的方法是從同一類的其他方法調用。也許繞過異步代理代碼,只是簡單的調用方法。
相關問題