微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SCDF 流管道 geode sink 有效负载存储字节数组而不是 java 对象

如何解决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 举报,一经查实,本站将立刻删除。