Fix gateway extension resource usage in widgets
This commit is contained in:
parent
f1ec5bdace
commit
5998e60565
@ -18,6 +18,7 @@ package org.thingsboard.server.service.entitiy.dashboard;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.thingsboard.server.common.data.ResourceType;
|
import org.thingsboard.server.common.data.ResourceType;
|
||||||
import org.thingsboard.server.common.data.id.TenantId;
|
import org.thingsboard.server.common.data.id.TenantId;
|
||||||
@ -39,6 +40,7 @@ import java.util.stream.Stream;
|
|||||||
@TbCoreComponent
|
@TbCoreComponent
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
@ConditionalOnProperty(value = "transport.gateway.dashboard.sync.enabled", havingValue = "true")
|
||||||
public class DashboardSyncService {
|
public class DashboardSyncService {
|
||||||
|
|
||||||
private final GitSyncService gitSyncService;
|
private final GitSyncService gitSyncService;
|
||||||
@ -46,8 +48,6 @@ public class DashboardSyncService {
|
|||||||
private final WidgetsBundleService widgetsBundleService;
|
private final WidgetsBundleService widgetsBundleService;
|
||||||
private final PartitionService partitionService;
|
private final PartitionService partitionService;
|
||||||
|
|
||||||
@Value("${transport.gateway.dashboard.sync.enabled:true}")
|
|
||||||
private boolean enabled;
|
|
||||||
@Value("${transport.gateway.dashboard.sync.repository_url:}")
|
@Value("${transport.gateway.dashboard.sync.repository_url:}")
|
||||||
private String repoUrl;
|
private String repoUrl;
|
||||||
@Value("${transport.gateway.dashboard.sync.branch:main}")
|
@Value("${transport.gateway.dashboard.sync.branch:main}")
|
||||||
@ -60,9 +60,6 @@ public class DashboardSyncService {
|
|||||||
|
|
||||||
@AfterStartUp(order = AfterStartUp.REGULAR_SERVICE)
|
@AfterStartUp(order = AfterStartUp.REGULAR_SERVICE)
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
if (!enabled) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
gitSyncService.registerSync(REPO_KEY, repoUrl, branch, TimeUnit.HOURS.toMillis(fetchFrequencyHours), this::update);
|
gitSyncService.registerSync(REPO_KEY, repoUrl, branch, TimeUnit.HOURS.toMillis(fetchFrequencyHours), this::update);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -247,8 +247,10 @@ public class InstallScripts {
|
|||||||
dirStream.forEach(
|
dirStream.forEach(
|
||||||
path -> {
|
path -> {
|
||||||
try {
|
try {
|
||||||
JsonNode widgetTypeJson = JacksonUtil.toJsonNode(path.toFile());
|
String widgetTypeJson = Files.readString(path);
|
||||||
WidgetTypeDetails widgetTypeDetails = JacksonUtil.treeToValue(widgetTypeJson, WidgetTypeDetails.class);
|
widgetTypeJson = resourceService.checkSystemResourcesUsage(widgetTypeJson, ResourceType.JS_MODULE);
|
||||||
|
|
||||||
|
WidgetTypeDetails widgetTypeDetails = JacksonUtil.fromString(widgetTypeJson, WidgetTypeDetails.class);
|
||||||
widgetTypeService.saveWidgetType(widgetTypeDetails);
|
widgetTypeService.saveWidgetType(widgetTypeDetails);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Unable to load widget type from json: [{}]", path.toString());
|
log.error("Unable to load widget type from json: [{}]", path.toString());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user