为什么在第一次发送消息时出现FailedToSendMessageException异常

时间:2019-08-13 04:59:03

标签: apache-kafka

第一次发送消息时出现异常。但是第二条消息发送正确。 这是我的生产者配置:

public void Init()
{
    _logger.info("Initializing KAFKA server context...");
    Properties ProducerProperties = new Properties();
    ProducerProperties.put("metadata.broker.list", "localhost:9092");
    ProducerProperties.put("serializer.class", "kafka.serializer.StringEncoder");
    ProducerProperties.put("producer.type", "async");
    _kafkaProducerConfig = new ProducerConfig(ProducerProperties);
    _logger.info("KAFKA configuration done ...!!");
}`

我正在使用此方法发送消息:

public Event Send(WSSession ws, JSONObject obj) throws JSONException
{
    String roomId = obj.getString("RoomId");
    Room room = _roomList.get(roomId);
    String message = "";
    if (_hmRooms.containsKey(room.getRoomId()))
    {
        String msg = new KafkaMessage(obj.getString("ReqId"), obj.getString("ReqType"), ws.getUser().getTaskName(), obj.getString("Message")).toString();
        kafka.javaapi.producer.Producer<String, String> producer = new kafka.javaapi.producer.Producer<String, String>(_kafkaProducerConfig);
        KeyedMessage<String, String> km = new KeyedMessage<String, String>(room.getRoomId(), msg);
        producer.send(km);
        producer.close();
        message = "sent";
    }
    else
    {
        message = "failled";
    }
    EventSuccess evt = new EventSuccess(obj);
    evt.setMessage(message);
    return evt;
}

0 个答案:

没有答案