spring:
  cloud:
    stream:
      function:
        definition: sendTestData;process;receive;concatFn
      bindings:
        process-in-0:
          destination: dataIn
          binder: kafka1
        process-out-0:
          destination: dataOut
          binder: kafka2
        #Test source binding (used for testing)
        sendTestData-out-0:
          destination: dataIn
          binder: kafka1
        concatFn-in-0:
          destination: dataOut
          binder: kafka3
        concatFn-out-0:
          destination: concatOut
          binder: kafka3
        #Test sink binding (used for testing)
        receive-in-0:
          destination: concatOut
          binder: kafka2
      binders:
        kafka1:
          type: kafka
          environment:
            spring:
              cloud:
                stream:
                  kafka:
                    binder:
                      brokers: ${kafkaBroker1}
        kafka2:
          type: kafka
          environment:
            spring:
              cloud:
                stream:
                  kafka:
                    binder:
                      brokers: ${kafkaBroker2}
        kafka3:
          type: kstream
          environment:
            spring:
              cloud:
                stream:
                  kafka:
                    streams:
                      binder:
                        brokers: ${kafkaBroker2}
                        applicationId: multi-binder-kafka-streams
                        configuration:
                          default.key.serde: org.apache.kafka.common.serialization.Serdes$StringSerde
                          default.value.serde: org.apache.kafka.common.serialization.Serdes$BytesSerde
                          commit.interval.ms: 1000



