Speichern von Snapshots oder Checkpoints von Algorithmen während des EMS-Laufs

Hallo Laksh,

die Variable timedata hat eine Reference-Annotation:

@Reference(policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY, cardinality = ReferenceCardinality.OPTIONAL)
private volatile Timedata timedata = null;

Diese Declarative Services Annotation sorgt dafür, dass das OSGi Framework zur Laufzeit einen Service injiziert, der das Timedata-Interface implementiert.

Declarative Services werden an sehr vielen Stellen in OpenEMS verwendet, um die Komponenten miteinander zu verbinden. Es lohnt sich hier auf jeden Fall, sich etwas tiefer einzulesen:

http://blog.vogella.com/2016/06/21/getting-started-with-osgi-declarative-services/

http://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.component.html

Gruß,
Stefan

1 Like