目錄
(1)創建接口:
創建一個自定義生產者的binding對應的接口,在接口中寫一個out()方法,返回值爲MessageChannel,並在方法上添加註解Output,指定一個自定義的binding常量值,這個常量值是與配置文件中寫的那個自定義binding值保持一致。
(2)修改啓動類:
在啓動類上,綁定剛剛創建的自定義binding對應的那個接口。
(3)修改配置文件:
在配置文件中,添加一個自定義的binding的信息,注意binding綁定的名字要與對應接口中定義的常量字符串保持一致。
(4)編寫代碼:
首先通過Autowired創建自定義的接口對象,然後在方法體中,通過自定義接口對象調用output()方法發送消息。
(5)啓動測試:
啓動消息生產者,訪問接口,然後就會顯示發送消息成功。在rocketmq的控制檯中可以看到該topic下有剛剛發送的消息。這就表明stream自定義生產者接口成功了,按照這種模式,可以根據自己實際業務需要,配置若干個不同的自定義接口來完成各種業務數據的發送了。
(6)常見異常:
A、ibatis.binding異常:
如果項目中使用了mybatis,那麼可能會在使用消息隊列的時候,應該會報一個異常:org.apache.ibatis.binding.BindingException,它會因爲寫mq自定義的接口爲mybatis的接口,結果因爲找不到對應的xml而報錯。
解決方法:我們只需要精確mybatis的接口掃描路徑,不讓它掃描到我們寫的mq的接口即可。