removed unnecessary lazy
This commit is contained in:
parent
b20c33cd1d
commit
edd9a6a552
@ -81,6 +81,7 @@ import org.thingsboard.server.dao.edge.EdgeService;
|
||||
import org.thingsboard.server.dao.entity.EntityService;
|
||||
import org.thingsboard.server.dao.entityview.EntityViewService;
|
||||
import org.thingsboard.server.dao.event.EventService;
|
||||
import org.thingsboard.server.dao.job.JobService;
|
||||
import org.thingsboard.server.dao.mobile.MobileAppBundleService;
|
||||
import org.thingsboard.server.dao.mobile.MobileAppService;
|
||||
import org.thingsboard.server.dao.nosql.CassandraBufferedRateReadExecutor;
|
||||
@ -97,7 +98,6 @@ import org.thingsboard.server.dao.relation.RelationService;
|
||||
import org.thingsboard.server.dao.resource.ResourceService;
|
||||
import org.thingsboard.server.dao.rule.RuleChainService;
|
||||
import org.thingsboard.server.dao.rule.RuleNodeStateService;
|
||||
import org.thingsboard.server.dao.job.JobService;
|
||||
import org.thingsboard.server.dao.tenant.TbTenantProfileCache;
|
||||
import org.thingsboard.server.dao.tenant.TenantProfileService;
|
||||
import org.thingsboard.server.dao.tenant.TenantService;
|
||||
@ -452,12 +452,10 @@ public class ActorSystemContext {
|
||||
@Getter
|
||||
private ApiLimitService apiLimitService;
|
||||
|
||||
@Lazy
|
||||
@Autowired(required = false)
|
||||
@Getter
|
||||
private RateLimitService rateLimitService;
|
||||
|
||||
@Lazy
|
||||
@Autowired(required = false)
|
||||
@Getter
|
||||
private DebugModeRateLimitsConfig debugModeRateLimitsConfig;
|
||||
|
||||
@ -40,7 +40,6 @@ import org.thingsboard.server.gen.transport.TransportProtos.AttributeScopeProto;
|
||||
import org.thingsboard.server.gen.transport.TransportProtos.AttributeValueProto;
|
||||
import org.thingsboard.server.gen.transport.TransportProtos.CalculatedFieldTelemetryMsgProto;
|
||||
import org.thingsboard.server.gen.transport.TransportProtos.ToCalculatedFieldMsg;
|
||||
import org.thingsboard.server.gen.transport.TransportProtos.TsKvProto;
|
||||
import org.thingsboard.server.queue.TbQueueCallback;
|
||||
import org.thingsboard.server.queue.TbQueueMsgMetadata;
|
||||
import org.thingsboard.server.service.cf.ctx.state.CalculatedFieldCtx;
|
||||
@ -86,7 +85,10 @@ public class DefaultCalculatedFieldQueueService implements CalculatedFieldQueueS
|
||||
public void pushRequestToQueue(TimeseriesSaveRequest request, TimeseriesSaveResult result, FutureCallback<Void> callback) {
|
||||
var tenantId = request.getTenantId();
|
||||
var entityId = request.getEntityId();
|
||||
checkEntityAndPushToQueue(tenantId, entityId, cf -> cf.matches(request.getEntries()), cf -> cf.linkMatches(entityId, request.getEntries()),
|
||||
var entries = request.getEntries();
|
||||
checkEntityAndPushToQueue(tenantId, entityId,
|
||||
cf -> cf.matches(entries),
|
||||
cf -> cf.linkMatches(entityId, entries),
|
||||
() -> toCalculatedFieldTelemetryMsgProto(request, result), callback);
|
||||
}
|
||||
|
||||
@ -99,7 +101,11 @@ public class DefaultCalculatedFieldQueueService implements CalculatedFieldQueueS
|
||||
public void pushRequestToQueue(AttributesSaveRequest request, List<Long> result, FutureCallback<Void> callback) {
|
||||
var tenantId = request.getTenantId();
|
||||
var entityId = request.getEntityId();
|
||||
checkEntityAndPushToQueue(tenantId, entityId, cf -> cf.matches(request.getEntries(), request.getScope()), cf -> cf.linkMatches(entityId, request.getEntries(), request.getScope()),
|
||||
var entries = request.getEntries();
|
||||
var scope = request.getScope();
|
||||
checkEntityAndPushToQueue(tenantId, entityId,
|
||||
cf -> cf.matches(entries, scope),
|
||||
cf -> cf.linkMatches(entityId, entries, scope),
|
||||
() -> toCalculatedFieldTelemetryMsgProto(request, result), callback);
|
||||
}
|
||||
|
||||
@ -112,7 +118,10 @@ public class DefaultCalculatedFieldQueueService implements CalculatedFieldQueueS
|
||||
public void pushRequestToQueue(AttributesDeleteRequest request, List<String> result, FutureCallback<Void> callback) {
|
||||
var tenantId = request.getTenantId();
|
||||
var entityId = request.getEntityId();
|
||||
checkEntityAndPushToQueue(tenantId, entityId, cf -> cf.matchesKeys(result, request.getScope()), cf -> cf.linkMatchesAttrKeys(entityId, result, request.getScope()),
|
||||
var scope = request.getScope();
|
||||
checkEntityAndPushToQueue(tenantId, entityId,
|
||||
cf -> cf.matchesKeys(result, scope),
|
||||
cf -> cf.linkMatchesAttrKeys(entityId, result, scope),
|
||||
() -> toCalculatedFieldTelemetryMsgProto(request, result), callback);
|
||||
}
|
||||
|
||||
@ -120,8 +129,9 @@ public class DefaultCalculatedFieldQueueService implements CalculatedFieldQueueS
|
||||
public void pushRequestToQueue(TimeseriesDeleteRequest request, List<String> result, FutureCallback<Void> callback) {
|
||||
var tenantId = request.getTenantId();
|
||||
var entityId = request.getEntityId();
|
||||
|
||||
checkEntityAndPushToQueue(tenantId, entityId, cf -> cf.matchesKeys(result), cf -> cf.linkMatchesTsKeys(entityId, result),
|
||||
checkEntityAndPushToQueue(tenantId, entityId,
|
||||
cf -> cf.matchesKeys(result),
|
||||
cf -> cf.linkMatchesTsKeys(entityId, result),
|
||||
() -> toCalculatedFieldTelemetryMsgProto(request, result), callback);
|
||||
}
|
||||
|
||||
@ -183,23 +193,20 @@ public class DefaultCalculatedFieldQueueService implements CalculatedFieldQueueS
|
||||
}
|
||||
|
||||
private ToCalculatedFieldMsg toCalculatedFieldTelemetryMsgProto(TimeseriesSaveRequest request, TimeseriesSaveResult result) {
|
||||
ToCalculatedFieldMsg.Builder msg = ToCalculatedFieldMsg.newBuilder();
|
||||
|
||||
CalculatedFieldTelemetryMsgProto.Builder telemetryMsg = buildTelemetryMsgProto(request.getTenantId(), request.getEntityId(), request.getPreviousCalculatedFieldIds(), request.getTbMsgId(), request.getTbMsgType());
|
||||
|
||||
List<TsKvEntry> entries = request.getEntries();
|
||||
List<Long> versions = result != null ? result.getVersions() : Collections.emptyList();
|
||||
|
||||
for (int i = 0; i < entries.size(); i++) {
|
||||
TsKvProto.Builder tsProtoBuilder = toTsKvProto(entries.get(i)).toBuilder();
|
||||
TsKvEntry tsKvEntry = entries.get(i);
|
||||
if (result != null) {
|
||||
tsProtoBuilder.setVersion(versions.get(i));
|
||||
tsKvEntry.setVersion(versions.get(i));
|
||||
}
|
||||
telemetryMsg.addTsData(tsProtoBuilder.build());
|
||||
telemetryMsg.addTsData(toTsKvProto(tsKvEntry));
|
||||
}
|
||||
|
||||
msg.setTelemetryMsg(telemetryMsg.build());
|
||||
return msg.build();
|
||||
return ToCalculatedFieldMsg.newBuilder().setTelemetryMsg(telemetryMsg).build();
|
||||
}
|
||||
|
||||
private ToCalculatedFieldMsg toCalculatedFieldTelemetryMsgProto(AttributesSaveRequest request, List<Long> versions) {
|
||||
|
||||
@ -185,12 +185,14 @@ public class CalculatedFieldCtx {
|
||||
return false;
|
||||
}
|
||||
|
||||
var lookupKey = new ReferencedEntityKey(null, ArgumentType.ATTRIBUTE, scope);
|
||||
for (AttributeKvEntry attrKv : values) {
|
||||
ReferencedEntityKey attrKey = new ReferencedEntityKey(attrKv.getKey(), ArgumentType.ATTRIBUTE, scope);
|
||||
if (argMap.containsKey(attrKey)) {
|
||||
lookupKey.setKey(attrKv.getKey());
|
||||
if (argMap.containsKey(lookupKey)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -199,13 +201,21 @@ public class CalculatedFieldCtx {
|
||||
return false;
|
||||
}
|
||||
|
||||
var lookupKey = new ReferencedEntityKey(null, null, null);
|
||||
for (TsKvEntry tsKv : values) {
|
||||
String key = tsKv.getKey();
|
||||
if (argMap.containsKey(new ReferencedEntityKey(key, ArgumentType.TS_LATEST, null)) ||
|
||||
argMap.containsKey(new ReferencedEntityKey(key, ArgumentType.TS_ROLLING, null))) {
|
||||
lookupKey.setKey(tsKv.getKey());
|
||||
|
||||
lookupKey.setType(ArgumentType.TS_LATEST);
|
||||
if (argMap.containsKey(lookupKey)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
lookupKey.setType(ArgumentType.TS_ROLLING);
|
||||
if (argMap.containsKey(lookupKey)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -222,12 +232,14 @@ public class CalculatedFieldCtx {
|
||||
return false;
|
||||
}
|
||||
|
||||
var lookupKey = new ReferencedEntityKey(null, ArgumentType.ATTRIBUTE, scope);
|
||||
for (String key : keys) {
|
||||
ReferencedEntityKey attrKey = new ReferencedEntityKey(key, ArgumentType.ATTRIBUTE, scope);
|
||||
if (argMap.containsKey(attrKey)) {
|
||||
lookupKey.setKey(key);
|
||||
if (argMap.containsKey(lookupKey)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -236,12 +248,21 @@ public class CalculatedFieldCtx {
|
||||
return false;
|
||||
}
|
||||
|
||||
var lookupKey = new ReferencedEntityKey(null, null, null);
|
||||
for (String key : keys) {
|
||||
if (argMap.containsKey(new ReferencedEntityKey(key, ArgumentType.TS_LATEST, null)) ||
|
||||
argMap.containsKey(new ReferencedEntityKey(key, ArgumentType.TS_ROLLING, null))) {
|
||||
lookupKey.setKey(key);
|
||||
|
||||
lookupKey.setType(ArgumentType.TS_LATEST);
|
||||
if (argMap.containsKey(lookupKey)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
lookupKey.setType(ArgumentType.TS_ROLLING);
|
||||
if (argMap.containsKey(lookupKey)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -16,10 +16,8 @@
|
||||
package org.thingsboard.server.dao.sql.attributes;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.thingsboard.server.dao.AbstractVersionedInsertRepository;
|
||||
import org.thingsboard.server.dao.model.sql.AttributeKvEntity;
|
||||
import org.thingsboard.server.dao.util.SqlDao;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.SQLException;
|
||||
@ -27,8 +25,6 @@ import java.sql.Types;
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
@Transactional
|
||||
@SqlDao
|
||||
public class AttributeKvInsertRepository extends AbstractVersionedInsertRepository<AttributeKvEntity> {
|
||||
|
||||
private static final String BATCH_UPDATE = "UPDATE attribute_kv SET str_v = ?, long_v = ?, dbl_v = ?, bool_v = ?, json_v = cast(? AS json), last_update_ts = ?, version = nextval('attribute_kv_version_seq') " +
|
||||
|
||||
@ -18,7 +18,6 @@ package org.thingsboard.server.dao.sqlts.insert.latest.sql;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.thingsboard.server.dao.AbstractVersionedInsertRepository;
|
||||
import org.thingsboard.server.dao.model.sqlts.latest.TsKvLatestEntity;
|
||||
import org.thingsboard.server.dao.sqlts.insert.latest.InsertLatestTsRepository;
|
||||
@ -31,7 +30,6 @@ import java.util.List;
|
||||
|
||||
@SqlTsLatestAnyDao
|
||||
@Repository
|
||||
@Transactional
|
||||
public class SqlLatestInsertTsRepository extends AbstractVersionedInsertRepository<TsKvLatestEntity> implements InsertLatestTsRepository {
|
||||
|
||||
@Value("${sql.ts_latest.update_by_latest_ts:true}")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user