Java 弹簧靴卡夫卡制作人发送大mex

Java 弹簧靴卡夫卡制作人发送大mex,java,spring-boot,apache-kafka,spring-kafka,Java,Spring Boot,Apache Kafka,Spring Kafka,在一些关于StackOverflow的解决方案中,我们被告知增加MAX\u REQUEST\u SIZE\u CONFIG。在我的情况下,它没有帮助,因为代理无法更改:它被设置为接收1MB消息 我们可以发送大一点的邮件吗?我们尝试了多次按压,但没有成功。下面是我们的配置和一些代码片段 生产配置 props.put(ProducerConfig.BOOTSTRAP\u SERVERS\u CONFIG,SERVERS); props.put(ProducerConfig.CLIENT\u ID\u

在一些关于StackOverflow的解决方案中,我们被告知增加
MAX\u REQUEST\u SIZE\u CONFIG
。在我的情况下,它没有帮助,因为代理无法更改:它被设置为接收1MB消息

我们可以发送大一点的邮件吗?我们尝试了多次按压,但没有成功。下面是我们的配置和一些代码片段

生产配置

props.put(ProducerConfig.BOOTSTRAP\u SERVERS\u CONFIG,SERVERS);
props.put(ProducerConfig.CLIENT\u ID\u CONFIG,clientID);
props.put(ProducerConfig.ACKS\u CONFIG,ACKS);
props.put(ProducerConfig.BATCH\u SIZE\u CONFIG,batchSize);
props.put(ProducerConfig.RETRIES\u配置,RETRIES);
props.put(ProducerConfig.COMPRESSION\u TYPE\u CONFIG,COMPRESSION);
put(ProducerConfig.REQUEST\u TIMEOUT\u MS\u CONFIG,requestTimeout);
put(ProducerConfig.TRANSACTION\u TIMEOUT\u CONFIG,transactionTimeout);
props.put(ProducerConfig.MAX\u BLOCK\u MS\u CONFIG,maxBlock);
put(ProducerConfig.KEY\u SERIALIZER\u CLASS\u CONFIG,StringSerializer.CLASS);
put(ProducerConfig.VALUE\u SERIALIZER\u CLASS\u CONFIG,JsonSerializer.CLASS);
我们以以下格式发送消息:

公共类测试{
私人一级信息;
专用3类有效载荷;
}
我尝试使用此库:

生产者正确地发送数据,但监听器没有收到,因为我使用的是批处理监听器

ConcurrentKafkListenerContainerFactory=new ConcurrentKafkListenerContainerFactory();
setConsumerFactory(consumerFactory());
factory.getContainerProperties().setAckoneError(false);
factory.setBatchListener(true);
setBatchErrorHandler(新的SeekToCurrentBatchErrorHandler());
factory.getContainerProperties().setAckMode(AckMode.MANUAL_IMMEDIATE);

关于如何解决这个问题有什么想法吗?

如果您的负载是文本,请尝试首先使用LZ4Payload是另一个类JavaI压缩它。我看到您将对象序列化为JSON。然后在发布之前尝试使用LZ4压缩JSON。为此,您必须创建自己的序列化程序/反序列化程序,这非常重要simple@OctavianR. 谢谢你能给我举个例子吗?因为我尝试了一个实现序列化器/反序列化器类但不起作用的类,如果负载是文本,请尝试首先使用LZ4Payload对其进行压缩,因为它是另一个类JavaI,我看到您将对象序列化为JSON。然后在发布之前尝试使用LZ4压缩JSON。为此,您必须创建自己的序列化程序/反序列化程序,这非常重要simple@OctavianR. 谢谢你能给我举个例子吗?因为我尝试了一个实现序列化器/反序列化器类但不起作用的类