在@RabbitHandler註解的方法中拋出任何異常,都會造成當條消息無法被消費,下一次仍然消費上一條異常的消息,而如果每次消費這條消息都拋出了異常,那麼這條消息的消費將會進入死循環
在方法內加入try catch即可避免此種狀況
還有一種情況是try catch沒有捕獲到異常也會進入死循環的
我因爲業務需要在接收消息的類裏面注入了一個service,然後接收方法調用了service的方法,在這個service方法中有一個try catch,沒有將異常拋出,然後有一次我發現service方法報錯了,@RabbitHandler一直在消費同一條消息,顯然也是進入了死循環
這種情況將捕獲到的異常拋出即可
錯誤是出現在SQL語句執行時的
MySQL5.5.30應該可以使用UTF8MB4編碼吧,這個編碼應該夠存入EMOJI表情
去掉表情?
content = content.replaceAll("[\\x{10000}-\\x{10FFFF}]", "")