Возникновение притока - PullRequest
       14

Возникновение притока

0 голосов
/ 10 декабря 2018

В этом блоке ниже я попытался использовать пакетную запись

private void save() {
    Pong pong = conn.ping();
    if (pong != null && pong.isGood()) {
        LogUtil.info("InfluxDBStreamOutputStep",
                String.format("prepare to write %d line datas", batchPoints.getPoints().size()));
        conn.batchInsert(batchPoints);
    }
}

, и следующий блок устанавливает соединение, и я также добавил попытку перехвата, чтобы восстановить соединение, когда оно прерывается или произошла какая-либо ошибка

@Override
protected void processClose() {
    try {
        if (batchPoints != null && batchPoints.getPoints() != null 
                   && !batchPoints.getPoints().isEmpty()) {
        long start = System.currentTimeMillis();
        try {
            save();
        } catch(InfluxDBException e) {
            if (conn != null) {
                conn.close();
            }
            setupConnection();
            save();
        }
    }
}

После того, как я добавил блок кода перестроения, он может продолжать работать в течение пяти дней, но сегодня возникла исключительная ситуация, аналогичная дням до "сломанной трубы".Я посмотрел на причину сломанного канала и в ответе на чей-то блог сказал, что сломанный канал произошел, когда клиент получил первый пакет во время записи данных.

В заключение, кто-нибудь знает что-нибудь о решении иливстречали этот вопрос раньше?

...