事物存在自定义策略:创建事物并使用
创建新的策略事物后,按原样构建和导入扩展,即可将此策略应用至 ThingWorx Platform 内报告配置表中的远程事物。
或者,如果您需要创建事物,可以先在扩展内创建这些事物,然后预先对其应用新策略。此过程与先前创建策略事物的过程相似。您将需要使用 <项目根>/Entities/Things 文件夹中的新建事物文件。在本示例中,名称为 "RemoteThingWithJavaStrategy",因此文件名称为 Things_RemoteThingWithJavaStrategy.xml,内容如下。
如以上示例所示,您应该编辑用于指定主混搭、事物名称等的行。此外,您还应该对设置报告策略的行进行编辑以反映您的自定义策略事物的名称。
以下示例为实现 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>
执行策略
自 ThingWorx 8.4.0 版本起,只要事物与 ThingWorx Platform 绑定或解除绑定,就会重新评估远程事物的 "isReporting" 状态。也可通过执行远程事物上的 EvaluateReporting 服务,随时 (例如,通过计时器) 对远程事物的 "isReporting" 状态进行重新评估。