使用Apache Kafka Java客户端(0.9),我试图使用Kafka
Producer类
将一连串的记录发送到代理。
异步发送方法会立即返回一会儿,然后在很短的时间内开始阻塞每个调用。大约三十秒钟后,客户端开始引发异常(TimeoutException),并显示消息
“批处理已过期” 。
在什么情况下会引发此异常?
此异常表示您正在以比发送记录更快的速率对记录进行排队。
调用
send
方法时,ProducerRecord将存储在内部缓冲区中,以发送给代理。一旦ProducerRecord被缓冲,该方法将立即返回,而不管其是否已发送。
记录被分成 批次 发送到代理,以减少每封邮件偷听运输和提高吞吐量。
将记录添加到批处理中之后,发送该批处理有一个时间限制,以确保已在指定的持续时间内发送了该批处理。这由生产者配置参数
request.timeout.ms
控制,该参数默认为三十秒。
如果批处理的排队时间超过了超时限制,则将引发异常。该批次中的记录将从发送队列中删除。
使用配置参数来增加超时限制,将使客户端可以在过期之前将批处理排队更长的时间。
使用Apache KafkaJava客户端(0.9),我试图使用Kafka Producer类向代理发送一长串记录。 异步发送方法立即返回一段时间,然后在短时间内开始阻塞每个调用。大约30秒后,客户端开始抛出异常(TimeoutException),并显示消息“Batch expired”。 什么情况导致抛出此异常?
我们在生产方面面临以下问题: 是因为无效的配置,如批量大小、请求超时或其他原因吗?
我有一个使用RESTEasy的简单客户端,如下所示: 服务器配置为在以及一条有用的信息。正在抛出一个。除了包装在中之外,我如何使捕获异常并以字符串形式返回响应的有用消息。我尝试了各种实现,但似乎都是正确的。上述代码从未调用。我错过了什么? 我目前的解决方法是使用,然后执行并将原始状态填充到响应实体中。这样我就避免了异常抛出。
那么如何提取错误代码呢?我想提取错误代码并构建一个responseEntity 我得到了这段代码,但不知道如何在函数中使用。
我最近从Ruby的Net:HTTP类切换到rest-client 1.6.7。
我使用Apache Ignite 2.7.5作为.NET核心中服务器和瘦客户机。当我做与缓存相关的操作时,put、get和load等.net核心应用程序会自动崩溃。 因此,我想处理for循环内部的异常,例如、、等,然后从catch块抛出for循环,否则如果只有异常块,则继续循环迭代。