Benutzerdefinierte Dingpräsenz-Strategie: Ding zur Verwendung erstellen
Nach der Erstellung eines neuen Strategie-Dings kann die Erweiterung ohne weitere Änderung erstellt und importiert werden; dies erlaubt es Ihnen, diese Strategie auf Remote-Dinge aus der Konfigurationstabelle der Berichterstattung auf diese Dinge innerhalb von ThingWorx Platform anzuwenden.
Wenn Sie Dinge erstellen müssen, können Sie sie alternativ innerhalb der Erweiterung erstellen und die neue Strategie vorab auf sie anwenden. Dieser Prozess ähnelt dem vorherigen Strategie-Ding, das erstellt wurde. Sie benötigen eine neue Dingdatei im Ordner <Projektstamm>/Entities/Things. In diesem Beispiel lautet der Name "RemoteThingWithJavaStrategy", der Dateiname also Things_RemoteThingWithJavaStrategy.xml, und der Inhalt wird unten angezeigt.
Wie im vorigen Beispiel sollten Sie die Zeilen bearbeiten, die das Start-Mashup, den Dingnamen usw. angeben. Außerdem sollten Sie die Zeile bearbeiten, die die Berichterstattungsstrategie festlegt, um den Namen Ihres benutzerdefinierten Strategie-Dings zu übernehmen.
Das folgende Beispiel zeigt ein Ding, das die Java-Strategie implementiert:
<?xml version="1.0" encoding="UTF-8"?>
<Entities
build="latest"
majorVersion="0"
minorVersion="0"
modelPersistenceProviderPackage="PostgresPersistenceProviderPackage"
revision="0"
schemaVersion="1040"
universal="">
<Things>
<Thing
description=""
documentationContent=""
effectiveThingPackage="RemoteThing"
enabled="true"
homeMashup=""
identifier=""
lastModifiedDate="2018-08-17T15:35:54.051Z"
name="RemoteThingWithJavaStrategy"
projectName=""
published="false"
tags=""
thingTemplate="RemoteThing"
valueStream="">
<ConfigurationTables>
<ConfigurationTable
description="Reporting Settings"
isMultiRow="false"
name="ReportingConfiguration"
ordinal="0">
<DataShape>
<FieldDefinitions>
<FieldDefinition
aspect.defaultValue="AlwaysOnReporting"
aspect.isPrimaryKey="true"
aspect.isReadOnly="false"
aspect.thingTemplate="ReportingStrategy"
baseType="THINGNAME"
description="Strategy to determine health"
name="reportingStrategy"
ordinal="0"/>
</FieldDefinitions>
</DataShape>
<Rows>
<Row>
<reportingStrategy><![CDATA[CustomStrategyJava]]>
</reportingStrategy>
</Row>
</Rows>
</ConfigurationTable>
</ConfigurationTables>
</Thing>
</Things>
</Entities>
Strategien ausführen
Ab ThingWorx 8.4.0 wird der Status "isReporting" eines Remote-Dings erneut ausgewertet, wenn das Ding gebunden oder seine Bindung an ThingWorx Platform aufgehoben wird. Der Status "isReporting" eines Remote-Dings kann auch jederzeit neu ausgewertet werden (z.B. durch einen Zeitgeber), indem der für Remote-Dinge verfügbare Dienst EvaluateReporting ausgeführt wird.
War dies hilfreich?