[JAVA] spring 非同步事件

spring 加上 Fire and forget,非同步處理,發出處理後就不用等待回復繼續做其他事情

1.找到@Configuration 的地方加上@EnableAsync

1
2
3
4
@Configuration
@EnableAsync
public class XxxConfig {
}

2.找到想要執行非同步的方法上方加上 @Async

1
2
3
4
5
6
7
@Component
public class MyComponent {
@Async
void doSomething() {
// this will be executed asynchronously
}
}

如果想要拿到回傳的地方可以在 Future拿到結果。

1
2
3
4
5
6
7
8
@Component
public class MyComponent {
@Async
Future<String> doSomething(String s, int i, long l, Object o) {
// this will be executed asynchronously
return new AsyncResult<>("result");
}
}

3.異常處理 TBD
這塊自己是用 restTamplate 發出訊息,但無奈可以 catch 到錯誤,卻無法做錯誤輸出整理。
留下文章待做研究。


網路參考文章

作者

Mini Lab Memo

發表於

2021-01-30

更新於

2023-04-24

許可協議

評論