物件存在自訂策略:建立物件以使用此物件
建立新策略物件後,可以建構延伸功能並依原樣匯入,如此您便可在 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" 狀態 (例如,透過計時器)。