Wird in der Konfigurationsdatei einer beliebigen OpenEMS-Komponente keine Komponenten-ID angegeben, so wird in AbstractOpenemsComponent eine automatisch generierte Komponenten-ID erzeugt:
Das erscheint mir auf den ersten Blick kontraproduktiv. Ich hätte erwartet das die Komponente während der Aktivierung eine Exception schmeißt und mich über die fehlerhafte Konfiguration informiert. Ich würde diesen Mechanismus gerne deaktivieren, vertstehe den Hintergrund aber noch nicht. Gibt es einen Grund warum die Komponenten-ID automatisch erzeugt wird?
Hintergrund meiner Frage:
Dieser Mechanismus hat bei uns dazu geführt, dass eine Edge gute 10.000 Komponenten-IDs erzeugt hat. Alle Daten wurden im Backend in die Influx-DB geschrieben und nun sehen wir uns mit einer Influx-Datenbank konfrontiert, welche gut 80.000 fields hat und nicht mehr wartbar ist. Das Problem gehört aber in ein anderes Forum ;-).
Hallo Stefan,
Code Review ist durch. Die Änderung sieht gut aus. Habe dabei gleich noch was über JUnit Tests gelernt. Ich kannte die Annotation @Test(expected = IllegalArgumentException.class) noch gar nicht. Habe Exceptions bisher immer im Test abgefangen und behandelt…