如何解决SCDF 流管道 geode sink 有效负载存储字节数组而不是 java 对象
我创建了 SCDF 流管道以将 java 对象作为有效负载传递。现在的问题与 geode sink 有关,geode sink 总是在区域中存储 byte[] 而不是 java 对象。
我为处理器编写的代码:
@Transformer(inputChannel = Processor.INPUT,outputChannel = Processor.OUTPUT) 公共消息转换(消息>日期){
Employee dd=new Employee();
dd.setEmployeeId("123");
dd.SetEmplyeeName("xyz");
Message<Employee> result= MessageBuilder.withPayload(dd).
setHeaderIfAbsent("testKey","testvalue").build();
return result;
}
在调试 geode sink 日志时。它将有效负载打印为字节数组,而不是从处理器传递的 Employee 对象。我还通过测地脉冲检查了区域数据。它存储在字节类型字符串而不是java对象中
o.s.c.s.m.DirectWithAttributesChannel : preSend on channel 'bean 'input'',message: Genericmessage [payload=byte[31],headers=
Kafka Message Handler:根据 kafka 主题,它正在存储 Employee 对象。
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic foo.custom-processor --from-beginning
com.model.Employee@420a7c92
com.model.Employee@78c60301
com.model.Employee@2afd5fc9
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。