当我使用spring boot 2.0时,我想发送一条消息。当我只使用一个bootstrap-servers时它可以成功,但是当我使用集群时,无法发送消息,当我使用callable时,我得到一些错误信息,如下所示。
java.util.concurrent.ExecutionException: org.springframework.kafka.core.KafkaProducerException: Failed to send; nested exception is org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
这是我的代码和配置
代码:
@Slf4j
@Component
public class Producer {
@Resource
private KafkaTemplate<String, String> kafkaTemplate;
public void send(String topic, String message) {
log.info("send message: topic: " + topic + " message: " + message);
kafkaTemplate.send(topic, message);
}
public void send(String topic, String key, String message) {
log.info("send message: topic: " + topic + " key: " + key + " message: " + message);
kafkaTemplate.send(topic, key, message);
}
}
配置:
spring.kafka.bootstrap-servers=ns016:9092,ns016:9093
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer