Update service and TBEL version improvement
This commit is contained in:
parent
d520be1ae3
commit
b1884f675a
@ -44,7 +44,7 @@ public class NewPlatformVersionTriggerProcessor implements NotificationRuleTrigg
|
|||||||
@Override
|
@Override
|
||||||
public NotificationInfo constructNotificationInfo(NewPlatformVersionTrigger trigger, NewPlatformVersionNotificationRuleTriggerConfig triggerConfig) {
|
public NotificationInfo constructNotificationInfo(NewPlatformVersionTrigger trigger, NewPlatformVersionNotificationRuleTriggerConfig triggerConfig) {
|
||||||
return NewPlatformVersionNotificationInfo.builder()
|
return NewPlatformVersionNotificationInfo.builder()
|
||||||
.message(trigger.getMessage().getMessage())
|
.message("New version available - " + trigger.getMessage().getLatestVersion())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.boot.info.BuildProperties;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
import org.thingsboard.common.util.ThingsBoardThreadFactory;
|
import org.thingsboard.common.util.ThingsBoardThreadFactory;
|
||||||
@ -57,6 +58,9 @@ public class DefaultUpdateService implements UpdateService {
|
|||||||
@Value("${updates.enabled}")
|
@Value("${updates.enabled}")
|
||||||
private boolean updatesEnabled;
|
private boolean updatesEnabled;
|
||||||
|
|
||||||
|
@Autowired(required = false)
|
||||||
|
private BuildProperties buildProperties;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private NotificationRuleProcessingService notificationRuleProcessingService;
|
private NotificationRuleProcessingService notificationRuleProcessingService;
|
||||||
|
|
||||||
@ -73,14 +77,11 @@ public class DefaultUpdateService implements UpdateService {
|
|||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
private void init() {
|
private void init() {
|
||||||
updateMessage = new UpdateMessage("", false, "");
|
version = buildProperties != null ? buildProperties.getVersion() : "unknown";
|
||||||
|
updateMessage = new UpdateMessage(false, version, "", "");
|
||||||
if (updatesEnabled) {
|
if (updatesEnabled) {
|
||||||
try {
|
try {
|
||||||
platform = System.getProperty("platform", "unknown");
|
platform = System.getProperty("platform", "unknown");
|
||||||
version = getClass().getPackage().getImplementationVersion();
|
|
||||||
if (version == null) {
|
|
||||||
version = "unknown";
|
|
||||||
}
|
|
||||||
instanceId = parseInstanceId();
|
instanceId = parseInstanceId();
|
||||||
checkUpdatesFuture = scheduler.scheduleAtFixedRate(checkUpdatesRunnable, 0, 1, TimeUnit.HOURS);
|
checkUpdatesFuture = scheduler.scheduleAtFixedRate(checkUpdatesRunnable, 0, 1, TimeUnit.HOURS);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -131,9 +132,10 @@ public class DefaultUpdateService implements UpdateService {
|
|||||||
JsonNode response = restClient.postForObject(UPDATE_SERVER_BASE_URL + "/api/thingsboard/updates", request, JsonNode.class);
|
JsonNode response = restClient.postForObject(UPDATE_SERVER_BASE_URL + "/api/thingsboard/updates", request, JsonNode.class);
|
||||||
UpdateMessage prevUpdateMessage = updateMessage;
|
UpdateMessage prevUpdateMessage = updateMessage;
|
||||||
updateMessage = new UpdateMessage(
|
updateMessage = new UpdateMessage(
|
||||||
response.get("message").asText(),
|
|
||||||
response.get("updateAvailable").asBoolean(),
|
response.get("updateAvailable").asBoolean(),
|
||||||
version
|
version,
|
||||||
|
"3.5.0",
|
||||||
|
"https://thingsboard.io/docs/user-guide/install/pe/upgrade-instructions"
|
||||||
);
|
);
|
||||||
if (updateMessage.isUpdateAvailable() && !updateMessage.equals(prevUpdateMessage)) {
|
if (updateMessage.isUpdateAvailable() && !updateMessage.equals(prevUpdateMessage)) {
|
||||||
notificationRuleProcessingService.process(TenantId.SYS_TENANT_ID, NewPlatformVersionTrigger.builder()
|
notificationRuleProcessingService.process(TenantId.SYS_TENANT_ID, NewPlatformVersionTrigger.builder()
|
||||||
|
|||||||
@ -23,10 +23,14 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
public class UpdateMessage {
|
public class UpdateMessage {
|
||||||
|
|
||||||
@ApiModelProperty(position = 1, value = "The message about new platform update available.")
|
@ApiModelProperty(position = 1, value = "'True' if new platform update is available.")
|
||||||
private final String message;
|
|
||||||
@ApiModelProperty(position = 2, value = "'True' if new platform update is available.")
|
|
||||||
private final boolean isUpdateAvailable;
|
private final boolean isUpdateAvailable;
|
||||||
@ApiModelProperty(position = 3, value = "Current ThingsBoard version.")
|
@ApiModelProperty(position = 2, value = "Current ThingsBoard version.")
|
||||||
private final String currentVersion;
|
private final String currentVersion;
|
||||||
|
@ApiModelProperty(position = 3, value = "Latest ThingsBoard version.")
|
||||||
|
private final String latestVersion;
|
||||||
|
@ApiModelProperty(position = 4, value = "Upgrade instructions URL.")
|
||||||
|
private final String upgradeInstructionsUrl;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
2
pom.xml
2
pom.xml
@ -78,7 +78,7 @@
|
|||||||
<zookeeper.version>3.5.5</zookeeper.version>
|
<zookeeper.version>3.5.5</zookeeper.version>
|
||||||
<protobuf.version>3.21.9</protobuf.version>
|
<protobuf.version>3.21.9</protobuf.version>
|
||||||
<grpc.version>1.42.1</grpc.version>
|
<grpc.version>1.42.1</grpc.version>
|
||||||
<tbel.version>1.0.5</tbel.version>
|
<tbel.version>1.0.6</tbel.version>
|
||||||
<lombok.version>1.18.18</lombok.version>
|
<lombok.version>1.18.18</lombok.version>
|
||||||
<paho.client.version>1.2.4</paho.client.version>
|
<paho.client.version>1.2.4</paho.client.version>
|
||||||
<paho.mqttv5.client.version>1.2.5</paho.mqttv5.client.version>
|
<paho.mqttv5.client.version>1.2.5</paho.mqttv5.client.version>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user