類別路徑上的多個繫結器
當類別路徑上存在多個繫結器時,應用程式必須指出每個目的地繫結要使用哪個繫結器。每個繫結器組態都包含一個 META-INF/spring.binders
檔案,這是一個簡單的屬性檔案,如下例所示
rabbit:\
org.springframework.cloud.stream.binder.rabbit.config.RabbitServiceAutoConfiguration
其他提供的繫結器實作(例如 Kafka)也存在類似的檔案,並且自訂繫結器實作也應提供這些檔案。金鑰代表繫結器實作的識別名稱,而值是以逗號分隔的組態類別清單,每個類別都包含一個且僅一個類型為 org.springframework.cloud.stream.binder.Binder
的 Bean 定義。
繫結器選擇可以全域執行,使用 spring.cloud.stream.defaultBinder
屬性(例如,spring.cloud.stream.defaultBinder=rabbit
),或個別執行,透過在每個繫結上組態繫結器。例如,一個處理器應用程式(具有分別用於讀取和寫入的 input
和 output
名稱的繫結),從 Kafka 讀取並寫入 RabbitMQ,可以指定以下組態
spring.cloud.stream.bindings.input.binder=kafka
spring.cloud.stream.bindings.output.binder=rabbit