異常被拋出(不被catch)會導致flink任務掛掉

背景:

實時效果數據中map的每條數據處理都需要一個單例的對象,這個單例對象的初始化在open方法中

在map每次計算前都會判斷此單例對象是否存在,如果不存在希望flink任務掛掉

 

思路:

如果發現對象爲null,拋出異常,不catch

空指針異常是運行時異常的子集,拋出哪個都可以,只是空指針異常語義更明確

 

代碼如下

 

線上測試

線上部署之後,在task日誌,jobManager日誌,Exception日誌中均發現了空指針異常

flink任務在反覆重試幾次之後失敗(這需要幾分鐘時間),符合預期