Use a callback to log errors on failure for improved error reporting
This commit is contained in:
parent
8dc9a68c62
commit
d917c72d51
@ -604,19 +604,27 @@ public class DefaultDeviceStateService extends AbstractPartitionBasedService<Dev
|
|||||||
var tenantId = stateData.getTenantId();
|
var tenantId = stateData.getTenantId();
|
||||||
var deviceId = stateData.getDeviceId();
|
var deviceId = stateData.getDeviceId();
|
||||||
|
|
||||||
Futures.whenAllSucceed(save(tenantId, deviceId, ACTIVITY_STATE, active)).run(() -> {
|
Futures.addCallback(save(tenantId, deviceId, ACTIVITY_STATE, active), new FutureCallback<>() {
|
||||||
stateData.getState().setActive(active);
|
@Override
|
||||||
pushRuleEngineMessage(stateData, active ? TbMsgType.ACTIVITY_EVENT : TbMsgType.INACTIVITY_EVENT);
|
public void onSuccess(Void success) {
|
||||||
TbMsgMetaData metaData = stateData.getMetaData();
|
stateData.getState().setActive(active);
|
||||||
notificationRuleProcessor.process(DeviceActivityTrigger.builder()
|
pushRuleEngineMessage(stateData, active ? TbMsgType.ACTIVITY_EVENT : TbMsgType.INACTIVITY_EVENT);
|
||||||
.tenantId(tenantId)
|
TbMsgMetaData metaData = stateData.getMetaData();
|
||||||
.customerId(stateData.getCustomerId())
|
notificationRuleProcessor.process(DeviceActivityTrigger.builder()
|
||||||
.deviceId(deviceId)
|
.tenantId(tenantId)
|
||||||
.active(active)
|
.customerId(stateData.getCustomerId())
|
||||||
.deviceName(metaData.getValue("deviceName"))
|
.deviceId(deviceId)
|
||||||
.deviceType(metaData.getValue("deviceType"))
|
.active(active)
|
||||||
.deviceLabel(metaData.getValue("deviceLabel"))
|
.deviceName(metaData.getValue("deviceName"))
|
||||||
.build());
|
.deviceType(metaData.getValue("deviceType"))
|
||||||
|
.deviceLabel(metaData.getValue("deviceLabel"))
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(@NonNull Throwable t) {
|
||||||
|
log.error("[{}][{}] Failed to change device activity status to '{}'. Device state data: {}", tenantId, deviceId, active, stateData, t);
|
||||||
|
}
|
||||||
}, deviceStateCallbackExecutor);
|
}, deviceStateCallbackExecutor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user