Strategia personalizzata con presenza di oggetto: creazione di un oggetto per l'uso
Dopo aver creato un nuovo oggetto strategia, l'estensione può essere costruita e importata così com'è, il che consentirebbe di applicare questa strategia a oggetti remoti dalla tabella di configurazione report sugli oggetti all'interno di ThingWorx Platform.
In alternativa, è possibile creare oggetti all'interno dell'estensione e applicare preventivamente a essi la nuova strategia. Questo processo è analogo all'oggetto strategia precedente che è stato creato. Sarà necessario un nuovo file oggetto nella cartella <radice progetto>/Entities/Things. Per questo esempio il nome è "RemoteThingWithJavaStrategy", quindi il nome del file sarà Things_RemoteThingWithJavaStrategy.xml e il contenuto è mostrato sotto.
Come nell'esempio precedente, è necessario modificare le righe che specificano il mashup di default, il nome dell'oggetto e così via. Inoltre, è necessario modificare la riga che imposta la strategia di report in modo che rifletta il nome dell'oggetto strategia personalizzata.
Di seguito è riportato un esempio di oggetto che implementa la strategia Java.
<?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>
Esecuzione della strategia
A partire da ThingWorx 8.4.0, lo stato "isReporting" di un oggetto remoto verrà rivalutato ogni volta che l'oggetto viene associato a ThingWorx Platform o ne viene annullata l'associazione. Lo stato "isReporting" di un oggetto remoto può essere rivalutato anche in qualsiasi altro momento (ad esempio, da un timer) mediante l'esecuzione del servizio EvaluateReporting disponibile su oggetti remoti.
È stato utile?