0

我们从 spring-integration 应用程序将消息发送到 kinesis 流,但是在通过 kinesis binder 应用程序的 @StreamListener 使用消息时,我们得到了特殊字符,例如“�� t foo”。请在代码片段下方找到并告诉我是否还有其他需要考虑的事项?

向 Kinesis 发送消息

Message<String> message = MessageBuilder.withPayload("foo")
            .setHeader(AwsHeaders.STREAM, TEST_STREAM)
            .setHeader("content-type","text/plain;charset=UTF-8")
            .build();
    kinesisSendChannel.send(message);

接收消息

Charset UTF8 = Charset.forName("UTF-8");
byte[] bytes = (byte[]) message.getPayload();
String reverted = new String(bytes, UTF8);
4

0 回答 0