springcloudStream集成Kafka遇到的问题
作者:互联网
最近做kafka存储文件类型的信息的项目,遇到两个问题一个是springcloudstream的版本问题,这个问题只需要注意在引入maven依赖的时候不添加version就可以避免,把版本管理问题交给
springcloud来管理,比如我用的是--<spring.cloud.version>Hoxton.SR12</spring.cloud.version>
<spring.cloud.alibaba.version>2.2.7.RELEASE</spring.cloud.alibaba.version>。
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-stream-binder-kafka</artifactId> </dependency>
引入依赖之后就需要配置配置文件:
spring.cloud==这里省去上两层 stream: kafka: binder: producerProperties: max: request: size: 209715200 brokers: 127.0.0.1:9092 auto-create-topics: true bindings: input-in-0: destination: testquickstart group: myinput1 output: destination: testquickstart consu-in-0: destination: testquickstart2 group: consu echo-in-0: destination: testquickstart group: echo echo-out-0: destination: testquickstart2 function: definition: echo;input;consu
这里遇到一个
---大文件报错:
org.apache.kafka.common.errors.RecordTooLargeException: The message is 17108616 bytes when serialized which is larger than 1048576, which is the value of the max.request.size configuration.
实际就是添加上下面的配置就可以了。
producerProperties: max: request: size: 209715200
在kafka中存放文件类型的消息,是将文件二进制流进行base64编码,来传送的。
参见spring官网。
标签:集成,springcloudStream,group,consu,destination,testquickstart,kafka,echo,Kafka 来源: https://www.cnblogs.com/zhangdanyang95/p/16378619.html