Я пытаюсь связать два канала с помощью Spring Binding
public interface Binding{
String INPUT = "request";
String OUTPUT = "response";
@Input(INPUT)
KStream<?, ?> request();
@Output(OUTPUT)
KStream<?, ?> response();
}
application.properties is as;spring.kafka.client-id = h-repo
# ===============================
# = STREAM APPLICATION PROPERTIES
# ===============================
spring.cloud.stream.kafka.streams.binder.application-id=h-repository
spring.cloud.stream.kafka.streams.binder.configuration.commit.interval.ms=1000
spring.cloud.stream.kafka.streams.binder.configuration.spring.json.trusted.packages=org.packages.model
# ===============================
# = REQUEST STREAM(S) PROCESSOR
# ============================= ==
spring.cloud.stream.bindings.request.destination=request
spring.cloud.stream.bindings.request.group=h-request
spring.cloud.stream.bindings.request.contentType=application/java-serialized-object
spring.cloud.stream.bindings.request.consumer.use-native-decoding=true
spring.cloud.stream.bindings.request.consumer.partitioned=true
spring.cloud.stream.bindings.request.consumer.instance-count=1
spring.cloud.stream.bindings.request.consumer.instance-index=0
spring.cloud.stream.kafka.bindings.request.consumer.auto-rebalance-enabled=false
spring.cloud.stream.kafka.bindings.request.consumer.auto-commit-offset=true
spring.cloud.stream.kafka.bindings.request.consumer.ack-each-record=true
spring.cloud.stream.kafka.bindings.request.consumer.configuration.max.poll.records=30
spring.cloud.stream.kafka.streams.bindings.request.consumer.keySerde=org.springframework.kafka.support.serializer.JsonSerde
spring.cloud.stream.kafka.streams.bindings.request.consumer.valueSerde=org.springframework.kafka.support.serializer.JsonSerde
spring.cloud.stream.bindings.response.destination=response
spring.cloud.stream.bindings.response.group=h-response
spring.cloud.stream.bindings.response.contentType=application/java-serialized-object
spring.cloud.stream.bindings.response.producer.use-native-encoding=true
spring.cloud.stream.bindings.response.producer.partition-count=20
spring.cloud.stream.bindings.response.producer.partition-key-extractor-name=kafkaPartitionKeyExtractor
spring.cloud.stream.kafka.streams.bindings.response.producer.keySerde=org.springframework.kafka.support.serializer.JsonSerde
spring.cloud.stream.kafka.streams.bindings.response.producer.valueSerde=org.springframework.kafka.support.serializer.JsonSerde
Сначала я попробовал вышеуказанную конфигурацию, которая не работала, поскольку я неправильно понял потоки разделения, теперь я пытаюсь настроить потоки Производить / Потреблять, используя
spring.cloud.stream.kafka.bindings.<channel>.consumer/producer.configuration.
моя первая попытка настроить любое свойство, которое я выбрал из одного примера, который я нашел здесь https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/240
, и это не сработало, конечная цель - иметь возможность настроить разделы потребитель / производитель.