在下面的此块中,我尝试使用批量写入
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);
}
}
然后下一个块建立了连接,我还添加了一个try catch在中断或发生任何错误时重建连接
@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();
}
}
}
添加重建代码块后,它可以继续运行五天,但今天又发生了异常,与“断管”之前的日子相同。一世 查了查管道破裂的原因,有人博客的回答说,当客户在写入数据时收到第一个软件包时,管道破裂发生了。
总而言之,有人知道该解决方案吗?或者以前曾遇到过这个问题?