先簡要紀錄,收到這種一大串說 “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.
- Bertrand Meyer
Junior programmers create simple solutions to simple problems. Senior programmers create complex solutions to complex problems. Great programmers find simple solutions to complex problems.
- Charles Connell
註1:本部落格的範例程式碼在 2015 年以前的文章中,大多是以全型空白做縮排。如需服用,請自行用文字編輯器的取代功能把全型空白取代成半型空白。
註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 打包起來會比較好些。