我正在開發使用代碼here的自定義初學者應用程序,因爲我想將TcpSSLContextSupport
添加到它。我設法做到了這一點,並且它在我的本地SCDF服務器上運行良好,但現在我想通過Google Cloud將它部署到KCDernetes的SCDF上。我爲它創建了一個image,它確實有效,但行爲有點意外。自定義SCDF初學者應用程序寫入「輸出」主題
我創建了一個流,如:stream create stream-name --definition "app-name | log"
。
首先,它按照慣例創建了一個主題stream-name.app-name
,我期待它向我顯示那裏的消息,但它實際寫入「輸出」主題,這很奇怪。我沒有提供任何額外的配置。我用SCDF最新版本以及1.2.0.RELEASE來試用它,結果相同。
我知道我可以添加的配置,但我試圖理解爲什麼Spring使用我的自定義應用程序專門做這件事,但不是當我使用'tcp |日誌「選項,特別是當我沒有改變我能想到的任何東西時。而且當你說Spring創建'stream-name.app-name'時正確設置出站頻道時,我也不知道你的意思,因爲儘管如此,它清楚地將出站頻道設置爲'output'。 – ystark
所有開箱即用的應用都會將出站和入站通道名稱命名爲「輸出」和「輸入」。這就是SCDF使用該頻道名稱設置目的地名稱的原因。如果您在自定義應用中使用不同的頻道名稱,則需要按照上述進行配置。 –
此外,Spring Cloud Stream將出站目標名稱(主題)設置爲「輸出」,它發生在這裏:https://github.com/spring-cloud/spring-cloud-stream/blob/master/spring- cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java#L207 –