我目前正在评估在新项目中使用 spring cloud stream kinesis binder 的可能性,但我遇到了一些问题。
当我启用 kcl-kpl-enabled: false 时,一切正常。但是,当我启用 kcl-kop 时,我不断收到以下错误:
org.springframework.core.serializer.support.SerializationFailedException: Failed to deserialize payload. Is the byte array a result of corresponding serialization for DefaultDeserializer?; nested exception is java.io.StreamCorruptedException: invalid stream header: 61686868
这是我目前的配置:
spring:
cloud:
stream:
kinesis:
binder:
checkpoint:
create-delay: 0
table: feeder_mycollection_changes_table
kpl-kcl-enabled: true
bindings:
processEvent-in-0:
consumer:
shardIteratorType: TRIM_HORIZON
bindings:
processEvent-in-0:
destination: mycollection_changes_stream
content-type: application/json
consumer:
headerMode: none
我在测试中使用的依赖项的版本是:
<spring-cloud.version>Hoxton.RC2</spring-cloud.version>
<spring-cloud-stream.version>Horsham.RC2</spring-cloud-stream.version>
<spring-cloud-stream-kinesis.version>2.0.0.BUILD-SNAPSHOT</spring-cloud-stream-kinesis.version>