我有一個帶有抽象方法的抽象類@Asynchronous
public abstract void runAsync();我@Async在 Spring Async not work oncontroller's Abstract super class method中找到了這個答案問題是,runAsync如果我在實現中重寫這個方法,它會是異步的嗎?或者我@Asynchronous只需要在實現時進行注釋?
1 回答

元芳怎么了
TA貢獻1798條經驗 獲得超7個贊
默認情況下,注釋不會被繼承。@Inherited僅當注釋在注釋定義中具有屬性時,注釋才會被繼承?,F在看一下@Async注釋定義:
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Async?
Async
注解沒有屬性?@Inherited
,因此不會被子類繼承。在這種情況下,您需要@Async
在子類重寫方法中顯式指定以使其起作用。
編輯:javax.ejb.Asynchronous
也沒有@Inherited
屬性
@Target(value={METHOD,TYPE})
?@Retention(value=RUNTIME)
public @interface Asynchronous
因此,在 的情況下@Asynchronous,方法重寫情況下的行為@Asynchronous將與上面提到的相同。
添加回答
舉報
0/150
提交
取消