Influx Measurement Java POJO-缺少@TimeColumn装饰器(但具有@Measurement和@Column)

时间:2019-07-15 22:45:41

标签: java gradle intellij-idea influxdb

我可以使用@Measurement@Column装饰器,但是我的IntelliJ / gradle设置找不到@TimeColumn装饰器。

如果我导航到@Measurement的定义(我相信它是由IntelliJ使用gradle插入的jar进行反编译的),则可以看到该文件夹​​(应该镜像this part of the influx client library)没有没有TimeColumn.java

需要注意的一件事,我确实必须在gradle中强制使用两个依赖项,但这是相关的gradle构建文件中的一些代码片段:

resolutionStrategy {
    failOnVersionConflict()
    force 'com.squareup.okhttp3:okhttp:3.13.1'
    force 'com.squareup.okio:okio:1.17.2'
}

dependencies {
    compile(
        [group: 'org.influxdb', name: 'influxdb-java', version: "2.15"]
    )
}

这是我创建的内部类,用于编写Influx单元测试:

@Measurement(name = "TestMeasurement")
class TestMeasurement {
    @TimeColumn
    @Column(name = "time")
    private Instant time;

    @Column(name = "value")
    private int value;
}

3 个答案:

答案 0 :(得分:0)

太奇怪了。该链接是该库的Java类,您可以根据需要将此类手册添加到您的项目中。尽管我获得了查询时间手册,而不是使用映射列。

https://github.com/influxdata/influxdb-java/blob/master/src/main/java/org/influxdb/annotation/TimeColumn.java

答案 1 :(得分:0)

@TimeColumn是尚未发布的master分支中添加的新注释。如果您想测试influxdb Java客户端POJO功能,可以遵循以下自述文件:https://github.com/influxdata/influxdb-java/tree/influxdb-java-2.15,在此自述文件中,只需加上@Column批注。因此,对于您的测试演示,只需删除 @TimeColumn

答案 2 :(得分:0)

@TimeColumn注释已在influxdb-java 2.16中添加,请参见https://github.com/influxdata/influxdb-java/blob/master/CHANGELOG.md