Stratégie personnalisée de présence d'objet : création d'un objet pour l'utiliser
Après avoir créé un nouvel objet de stratégie, l'extension peut être générée et importée tel quel, vous permettant d'appliquer cette stratégie aux objets distants à partir de la table de configuration de reporting sur ces objets dans ThingWorx Platform.
Si vous devez créer des objets, vous pouvez le faire dans l'extension et leur appliquer la nouvelle stratégie. Ce processus est semblable à l'objet de stratégie précédent qui a été créé. Vous aurez besoin d'un nouveau fichier d'objet dans le dossier <Dossier racine>/Entities/Things. Pour cet exemple, nous utiliserons le nom "RemoteThingWithJavaStrategy" afin que le nom de l'objet soit Things_RemoteThingWithJavaStrategy.xml. Le contenu est affiché ci-dessous.
Comme dans l'exemple précédent, vous devez modifier les lignes spécifiant l'application composite d'accueil, le nom d'objet, etc. En outre, vous devez modifier la ligne définissant la stratégie de reporting afin qu'elle corresponde au nom de votre objet de stratégie personnalisée.
L'exemple suivant est un objet mettant en oeuvre la stratégie Java :
<?xml version="1.0" encoding="UTF-8"?>
<Entities
build="latest"
majorVersion="0"
minorVersion="0"
modelPersistenceProviderPackage="H2PersistenceProviderPackage"
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>
Exécution de la stratégie
A partir de ThingWorx 8.4.0, l'état "isReporting" d'un objet distant est réévalué à chaque liaison ou annulation de liaison de l'objet avec ThingWorx Platform. L'état "isReporting" d'un objet distant peut également être réévalué à tout moment (par exemple, au moyen d'un timer) en exécutant le service EvaluateReporting disponible sur les objets distants.