先簡要紀錄,收到這種一大串說 “it did not come from this stream” 的錯誤訊息
根本原因在於,使用 Kinesis 的 Consumer 時
設定 group ID 後 Consumer 會去 DynamoDB 建立一張 table,table 名稱會完全跟 group ID 一樣
因此如果有兩個在監聽不同 Stream 的 Consumer 用了相同的 group ID,晚建立的那個 Consumer 就會噴出標題的錯誤。
參考資料
Software entities (class, modules, functions, etc.) should be open for extension, but closed for modification. Junior programmers create simple solutions to simple problems. Senior programmers create complex solutions to complex problems. Great programmers find simple solutions to complex problems. 註1:本部落格的範例程式碼在 2015 年以前的文章中,大多是以全型空白做縮排。如需服用,請自行用文字編輯器的取代功能把全型空白取代成半型空白。
- Bertrand Meyer
- Charles Connell
註2:本部落格的內容授權請參閱部落格底部的授權宣告。
先簡要紀錄,收到這種一大串說 “it did not come from this stream” 的錯誤訊息
根本原因在於,使用 Kinesis 的 Consumer 時
設定 group ID 後 Consumer 會去 DynamoDB 建立一張 table,table 名稱會完全跟 group ID 一樣
因此如果有兩個在監聽不同 Stream 的 Consumer 用了相同的 group ID,晚建立的那個 Consumer 就會噴出標題的錯誤。
參考資料
一般在 pom 檔沒有特別設定時,使用 mvn deploy 指令只會把函式庫打包後的 jar 送上 Maven Repository Server
但這樣會造成其他使用者在使用這個函式庫時,沒有 javadoc 可以即時查閱。
因此改成以下的指令 [1],讓 Maven 打包時順便一起把 javadoc 打包起來會比較好些。