Merge branch 'master' of github.com:thingsboard/thingsboard
This commit is contained in:
commit
e563939c66
@ -93,6 +93,7 @@ public class BaseRuleChainTransactionService implements RuleChainTransactionServ
|
||||
TbTransactionTask transactionTask = new TbTransactionTask(msg, onStart, onEnd, onFailure, System.currentTimeMillis() + duration);
|
||||
int queueSize = queue.size();
|
||||
if (queueSize >= finalQueueSize) {
|
||||
log.trace("Queue has no space: {}", transactionTask);
|
||||
executeOnFailure(transactionTask.getOnFailure(), "Queue has no space!");
|
||||
} else {
|
||||
addMsgToQueues(queue, transactionTask);
|
||||
|
||||
@ -250,9 +250,9 @@ actors:
|
||||
error_persist_frequency: "${ACTORS_RULE_NODE_ERROR_FREQUENCY:3000}"
|
||||
transaction:
|
||||
# Size of queues which store messages for transaction rule nodes
|
||||
queue_size: "${ACTORS_RULE_TRANSACTION_QUEUE_SIZE:20}"
|
||||
queue_size: "${ACTORS_RULE_TRANSACTION_QUEUE_SIZE:15000}"
|
||||
# Time in milliseconds for transaction to complete
|
||||
duration: "${ACTORS_RULE_TRANSACTION_DURATION:15000}"
|
||||
duration: "${ACTORS_RULE_TRANSACTION_DURATION:60000}"
|
||||
statistics:
|
||||
# Enable/disable actor statistics
|
||||
enabled: "${ACTORS_STATISTICS_ENABLED:true}"
|
||||
|
||||
@ -22,6 +22,7 @@ import org.thingsboard.server.common.data.kv.BaseAttributeKvEntry;
|
||||
import org.thingsboard.server.common.data.kv.BasicTsKvEntry;
|
||||
import org.thingsboard.server.common.data.kv.BooleanDataEntry;
|
||||
import org.thingsboard.server.common.data.kv.DoubleDataEntry;
|
||||
import org.thingsboard.server.common.data.kv.JsonDataEntry;
|
||||
import org.thingsboard.server.common.data.kv.KvEntry;
|
||||
import org.thingsboard.server.common.data.kv.LongDataEntry;
|
||||
import org.thingsboard.server.common.data.kv.StringDataEntry;
|
||||
@ -73,15 +74,28 @@ public class RestJsonConverter {
|
||||
if (!value.isObject()) {
|
||||
if (value.isBoolean()) {
|
||||
return new BooleanDataEntry(key, value.asBoolean());
|
||||
} else if (value.isDouble()) {
|
||||
return new DoubleDataEntry(key, value.asDouble());
|
||||
} else if (value.isLong()) {
|
||||
return new LongDataEntry(key, value.asLong());
|
||||
} else {
|
||||
} else if (value.isNumber()) {
|
||||
return parseNumericValue(key, value);
|
||||
} else if (value.isTextual()) {
|
||||
return new StringDataEntry(key, value.asText());
|
||||
} else {
|
||||
throw new RuntimeException(CAN_T_PARSE_VALUE + value);
|
||||
}
|
||||
} else {
|
||||
throw new RuntimeException(CAN_T_PARSE_VALUE + value);
|
||||
return new JsonDataEntry(key, value.toString());
|
||||
}
|
||||
}
|
||||
|
||||
private static KvEntry parseNumericValue(String key, JsonNode value) {
|
||||
if (value.isFloatingPointNumber()) {
|
||||
return new DoubleDataEntry(key, value.asDouble());
|
||||
} else {
|
||||
try {
|
||||
long longValue = Long.parseLong(value.toString());
|
||||
return new LongDataEntry(key, longValue);
|
||||
} catch (NumberFormatException e) {
|
||||
throw new IllegalArgumentException("Big integer values are not supported!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user