Hallo!
Ich möchte Daten auf in eine Cloud DB schreiben. Für Java gibts dafür eine Vorlage.
Jedoch blockiert beim hochladen die Methode und das soll nicht sein.
Ich habe mir folgendes geschrieben:
und die Thread Klasse:
Ich möchte die client Variable in der Haupt Klasse belassen, damit ich diesen stoppen und wieder starten kann.
Ich denk es ist performanter die Verbindung offen zu lassen, anstatt jedesmal zu öffnen und schließen?
Ich möchte Daten auf in eine Cloud DB schreiben. Für Java gibts dafür eine Vorlage.
Jedoch blockiert beim hochladen die Methode und das soll nicht sein.
Ich habe mir folgendes geschrieben:
Java:
InfluxDBClient client = null;
...
client = InfluxDBClientFactory.create(url, getPropertyToken().toCharArray());
...
Point point1 = Point.measurement("PV").addTags(tag)
.addField("Tagesertrag", inverter1.getDailyEnergyYield())
.time(Instant.now(), WritePrecision.S);
List<Point> points = new ArrayList<Point>();
points.add(point1);
Runnable r = new Upload(client, getPropertyBucket(), getPropertyOrganisation(), points);
new Thread(r).start();
und die Thread Klasse:
Java:
public class Upload implements Runnable {
private InfluxDBClient client = null;
private String bucket;
private String org;
private List<Point> points;
public Upload(InfluxDBClient client, String bucket, String org, List<Point> points) {
this.bucket = bucket;
this.org = org;
this.client = client;
this.points = points;
}
public void run() {
WriteApiBlocking writeApi = client.getWriteApiBlocking();
writeApi.writePoints(bucket, org, points);
}
}
Ich möchte die client Variable in der Haupt Klasse belassen, damit ich diesen stoppen und wieder starten kann.
Ich denk es ist performanter die Verbindung offen zu lassen, anstatt jedesmal zu öffnen und schließen?