在我当前正在处理的项目中,我需要解压缩文本文件(解压缩后大约500Mb +),并将其所有行(不带过滤器)发送给kafka主题。我正在使用以下方法来做到这一点:
Files.lines(file.toPath()).forEach(this::sendLineToTopic);
方法sendLineToTopic
基本上是这样做的:
MessageChannel messageChannel = outputStream.outboundRawLinesChannel();
messageChannel.send(MessageBuilder
.withPayload(line)
.setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN)
.build());
是否有更好的方法将所有行发送到主题以提高性能?也许以其他策略读取文件或以其他方式将行发送到主题?
任何建议都将受到欢迎!