Java 当XDB重新启动时,我的所有数据点都会丢失

Java 当XDB重新启动时,我的所有数据点都会丢失,java,influxdb,Java,Influxdb,正在使用cron作业每天触发一次此脚本。当脚本运行时,它似乎按预期工作。代码构建一个映射,在该映射上迭代,创建添加到批处理的点,最后将这些批处理的点写入XDB。我可以连接到XDB,我可以查询我的数据库并查看添加的点。我正在使用2.2 我遇到的问题是,当XDB重新启动时,我的所有数据都将被删除。数据库仍然存在,序列仍然存在,但是,所有的点/行都消失了(每个表都是空的)。我的数据库不是唯一的数据库,还有其他几个数据库,这些数据库已正确还原。我的猜测是,这笔交易尚未敲定。我不知道有什么方法可以让它刷新

正在使用cron作业每天触发一次此脚本。当脚本运行时,它似乎按预期工作。代码构建一个映射,在该映射上迭代,创建添加到批处理的点,最后将这些批处理的点写入XDB。我可以连接到XDB,我可以查询我的数据库并查看添加的点。我正在使用2.2

我遇到的问题是,当XDB重新启动时,我的所有数据都将被删除。数据库仍然存在,序列仍然存在,但是,所有的点/行都消失了(每个表都是空的)。我的数据库不是唯一的数据库,还有其他几个数据库,这些数据库已正确还原。我的猜测是,这笔交易尚未敲定。我不知道有什么方法可以让它刷新并确保我的观点得到坚持。我试图补充:

influxDB.write(batchPoints);
influxDB.disableBatch();  // calls this.batchProcessor.flush() in InfluxDBImpl.java 
这是一次强行冲水的尝试,但没有达到预期效果。我正在使用XDB 0.13.X

    InfluxDB influxDB = InfluxDBFactory.connect(host, user, pass);

    String dbName = "dataName";
    influxDB.createDatabase(dbName);

    BatchPoints batchPoints = BatchPoints
            .database(dbName)
            .tag("async", "true")
            .retentionPolicy("default")
            .consistency(ConsistencyLevel.ALL)
            .build();

    for (Tags type: Tags.values()) {
        List<LinkedHashMap<String, Object>> myList = this.trendsMap.get(type.getDisplay());

        if (myList != null) {
            for (LinkedHashMap<String, Object> data : myList) {
                Point point = null;
                long time = (long) data.get("time");
                if (data.get("date").equals(this.sdf.format(new Date()))) { 
                    time = System.currentTimeMillis();
                }

                point = Point.measurement(type.getDisplay())
                .time(time, TimeUnit.MILLISECONDS)
                .field("count", data.get("count"))
                .field("date", data.get("date"))
                .field("day_of_week", data.get("day_of_week"))
                .field("day_of_month", data.get("day_of_month"))
                .build();

                batchPoints.point(point);
            }
        }
    }

    influxDB.write(batchPoints);
InfluxDB InfluxDB=InfluxDBFactory.connect(主机、用户、密码);
字符串dbName=“dataName”;
influxDB.createDatabase(dbName);
BatchPoints BatchPoints=BatchPoints
.database(dbName)
.tag(“异步”、“真”)
.保留政策(“默认”)
.一致性(一致性级别全部)
.build();
对于(标记类型:Tags.values()){
List myList=this.trendsMap.get(type.getDisplay());
如果(myList!=null){
for(LinkedHashMap数据:myList){
点=空;
longtime=(long)data.get(“time”);
如果(data.get(“date”).equals(this.sdf.format(new date()))){
时间=System.currentTimeMillis();
}
point=point.measurement(type.getDisplay())
.time(时间,时间单位。毫秒)
.field(“count”,data.get(“count”))
.field(“日期”,data.get(“日期”))
.field(“每周的第几天”,data.get(“每周的第几天”))
.field(“每月的第几天”,data.get(“每月的第几天”))
.build();
点(点);
}
}
}
influxDB.write(批处理点);

能否将XDB升级到0.11.0?从那时起,已经发生了许多重要的变化,最好是针对这些变化进行测试。

这被搁置,但现在又回到了聚光灯下。我目前使用的是influxDB版本0.13.0,现在使用的是influxDB java 2.2。