Estrategia personalizada de presencia de cosa: creación de una cosa para utilizarla
Después de crear una nueva cosa de estrategia, la extensión se puede crear e importar tal cual, lo que permite aplicar esta estrategia a cosas remotas desde la tabla de configuración de informes en dichas cosas dentro de ThingWorx Platform.
Como alternativa, si se dispone de cosas para crear, estas se pueden crear dentro de la extensión y se les puede aplicar previamente la nueva estrategia. Este proceso es similar a la cosa de estrategia anterior que se ha creado. Se necesitará un fichero de nueva cosa en la carpeta <Raíz de proyecto>/Entidades/Cosas. Para este ejemplo, el nombre es "RemoteThingWithJavaStrategy", de modo que el nombre del fichero será Things_RemoteThingWithJavaStrategy.xml y el contenido se muestra a continuación.
Como en el ejemplo anterior, se deben editar las líneas que especifican el mashup de inicio, el nombre de la cosa, etc. Además, se debe editar la línea en la que se define la estrategia de informes para reflejar el nombre de la cosa de estrategia personalizada.
El siguiente ejemplo es una cosa que permite implementar la estrategia de 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>
Ejecución de la estrategia
A partir de ThingWorx 8.4.0, el estado "isReporting" de una cosa remota se vuelve a evaluar cuando la cosa se enlaza o se desenlaza desde ThingWorx Platform. El estado "isReporting" de una cosa remota también se puede volver a evaluar en cualquier momento (por ejemplo, mediante un temporizador) ejecutando el servicio EvaluateReporting disponible en cosas remotas.