Version set to 2.0.3
This commit is contained in:
commit
7c1e8d44a0
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>thingsboard</artifactId>
|
<artifactId>thingsboard</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>application</artifactId>
|
<artifactId>application</artifactId>
|
||||||
|
|||||||
@ -15,6 +15,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
export JAVA_OPTS="$JAVA_OPTS -Dplatform=@pkg.platform@ -Dinstall.data_dir=@pkg.installFolder@/data"
|
export JAVA_OPTS="$JAVA_OPTS -Dplatform=@pkg.platform@ -Dinstall.data_dir=@pkg.installFolder@/data"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -Xloggc:@pkg.logFolder@/gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=10M -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:CMSWaitDuration=10000 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSParallelInitialMarkEnabled"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:+CMSEdenChunksRecordAlways -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly"
|
||||||
export LOG_FILENAME=${pkg.name}.out
|
export LOG_FILENAME=${pkg.name}.out
|
||||||
export LOADER_PATH=${pkg.installFolder}/conf,${pkg.installFolder}/extensions
|
export LOADER_PATH=${pkg.installFolder}/conf,${pkg.installFolder}/extensions
|
||||||
export SQL_DATA_FOLDER=${pkg.installFolder}/data/sql
|
export SQL_DATA_FOLDER=${pkg.installFolder}/data/sql
|
||||||
|
|||||||
@ -36,14 +36,17 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.context.request.async.DeferredResult;
|
import org.springframework.web.context.request.async.DeferredResult;
|
||||||
|
import org.thingsboard.rule.engine.api.msg.DeviceAttributesEventNotificationMsg;
|
||||||
import org.thingsboard.server.common.data.DataConstants;
|
import org.thingsboard.server.common.data.DataConstants;
|
||||||
import org.thingsboard.server.common.data.EntityType;
|
import org.thingsboard.server.common.data.EntityType;
|
||||||
import org.thingsboard.server.common.data.audit.ActionType;
|
import org.thingsboard.server.common.data.audit.ActionType;
|
||||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||||
|
import org.thingsboard.server.common.data.id.DeviceId;
|
||||||
import org.thingsboard.server.common.data.id.EntityId;
|
import org.thingsboard.server.common.data.id.EntityId;
|
||||||
import org.thingsboard.server.common.data.id.EntityIdFactory;
|
import org.thingsboard.server.common.data.id.EntityIdFactory;
|
||||||
import org.thingsboard.server.common.data.id.UUIDBased;
|
import org.thingsboard.server.common.data.id.UUIDBased;
|
||||||
import org.thingsboard.server.common.data.kv.Aggregation;
|
import org.thingsboard.server.common.data.kv.Aggregation;
|
||||||
|
import org.thingsboard.server.common.data.kv.AttributeKey;
|
||||||
import org.thingsboard.server.common.data.kv.AttributeKvEntry;
|
import org.thingsboard.server.common.data.kv.AttributeKvEntry;
|
||||||
import org.thingsboard.server.common.data.kv.BaseAttributeKvEntry;
|
import org.thingsboard.server.common.data.kv.BaseAttributeKvEntry;
|
||||||
import org.thingsboard.server.common.data.kv.BaseTsKvQuery;
|
import org.thingsboard.server.common.data.kv.BaseTsKvQuery;
|
||||||
@ -55,6 +58,7 @@ import org.thingsboard.server.common.data.kv.LongDataEntry;
|
|||||||
import org.thingsboard.server.common.data.kv.StringDataEntry;
|
import org.thingsboard.server.common.data.kv.StringDataEntry;
|
||||||
import org.thingsboard.server.common.data.kv.TsKvEntry;
|
import org.thingsboard.server.common.data.kv.TsKvEntry;
|
||||||
import org.thingsboard.server.common.data.kv.TsKvQuery;
|
import org.thingsboard.server.common.data.kv.TsKvQuery;
|
||||||
|
import org.thingsboard.server.common.msg.cluster.SendToClusterMsg;
|
||||||
import org.thingsboard.server.common.msg.core.TelemetryUploadRequest;
|
import org.thingsboard.server.common.msg.core.TelemetryUploadRequest;
|
||||||
import org.thingsboard.server.common.transport.adaptor.JsonConverter;
|
import org.thingsboard.server.common.transport.adaptor.JsonConverter;
|
||||||
import org.thingsboard.server.dao.attributes.AttributesService;
|
import org.thingsboard.server.dao.attributes.AttributesService;
|
||||||
@ -72,9 +76,12 @@ import javax.annotation.PostConstruct;
|
|||||||
import javax.annotation.PreDestroy;
|
import javax.annotation.PreDestroy;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.UUID;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -276,6 +283,7 @@ public class TelemetryController extends BaseController {
|
|||||||
return getImmediateDeferredResult("Empty keys: " + keysStr, HttpStatus.BAD_REQUEST);
|
return getImmediateDeferredResult("Empty keys: " + keysStr, HttpStatus.BAD_REQUEST);
|
||||||
}
|
}
|
||||||
SecurityUser user = getCurrentUser();
|
SecurityUser user = getCurrentUser();
|
||||||
|
|
||||||
if (DataConstants.SERVER_SCOPE.equals(scope) ||
|
if (DataConstants.SERVER_SCOPE.equals(scope) ||
|
||||||
DataConstants.SHARED_SCOPE.equals(scope) ||
|
DataConstants.SHARED_SCOPE.equals(scope) ||
|
||||||
DataConstants.CLIENT_SCOPE.equals(scope)) {
|
DataConstants.CLIENT_SCOPE.equals(scope)) {
|
||||||
@ -285,6 +293,14 @@ public class TelemetryController extends BaseController {
|
|||||||
@Override
|
@Override
|
||||||
public void onSuccess(@Nullable List<Void> tmp) {
|
public void onSuccess(@Nullable List<Void> tmp) {
|
||||||
logAttributesDeleted(user, entityId, scope, keys, null);
|
logAttributesDeleted(user, entityId, scope, keys, null);
|
||||||
|
if (entityId.getEntityType() == EntityType.DEVICE) {
|
||||||
|
DeviceId deviceId = new DeviceId(entityId.getId());
|
||||||
|
Set<AttributeKey> keysToNotify = new HashSet<>();
|
||||||
|
keys.forEach(key -> keysToNotify.add(new AttributeKey(scope, key)));
|
||||||
|
DeviceAttributesEventNotificationMsg notificationMsg = DeviceAttributesEventNotificationMsg.onDelete(
|
||||||
|
user.getTenantId(), deviceId, keysToNotify);
|
||||||
|
actorService.onMsg(new SendToClusterMsg(deviceId, notificationMsg));
|
||||||
|
}
|
||||||
result.setResult(new ResponseEntity<>(HttpStatus.OK));
|
result.setResult(new ResponseEntity<>(HttpStatus.OK));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -315,6 +331,12 @@ public class TelemetryController extends BaseController {
|
|||||||
@Override
|
@Override
|
||||||
public void onSuccess(@Nullable Void tmp) {
|
public void onSuccess(@Nullable Void tmp) {
|
||||||
logAttributesUpdated(user, entityId, scope, attributes, null);
|
logAttributesUpdated(user, entityId, scope, attributes, null);
|
||||||
|
if (entityId.getEntityType() == EntityType.DEVICE) {
|
||||||
|
DeviceId deviceId = new DeviceId(entityId.getId());
|
||||||
|
DeviceAttributesEventNotificationMsg notificationMsg = DeviceAttributesEventNotificationMsg.onUpdate(
|
||||||
|
user.getTenantId(), deviceId, scope, attributes);
|
||||||
|
actorService.onMsg(new SendToClusterMsg(deviceId, notificationMsg));
|
||||||
|
}
|
||||||
result.setResult(new ResponseEntity(HttpStatus.OK));
|
result.setResult(new ResponseEntity(HttpStatus.OK));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -60,7 +60,6 @@ import javax.annotation.PostConstruct;
|
|||||||
import javax.annotation.PreDestroy;
|
import javax.annotation.PreDestroy;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -68,6 +67,7 @@ import java.util.Map;
|
|||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
@ -120,8 +120,8 @@ public class DefaultTelemetrySubscriptionService implements TelemetrySubscriptio
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Map<EntityId, Set<Subscription>> subscriptionsByEntityId = new HashMap<>();
|
private final Map<EntityId, Set<Subscription>> subscriptionsByEntityId = new ConcurrentHashMap<>();
|
||||||
private final Map<String, Map<Integer, Subscription>> subscriptionsByWsSessionId = new HashMap<>();
|
private final Map<String, Map<Integer, Subscription>> subscriptionsByWsSessionId = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addLocalWsSubscription(String sessionId, EntityId entityId, SubscriptionState sub) {
|
public void addLocalWsSubscription(String sessionId, EntityId entityId, SubscriptionState sub) {
|
||||||
@ -453,9 +453,9 @@ public class DefaultTelemetrySubscriptionService implements TelemetrySubscriptio
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void registerSubscription(String sessionId, EntityId entityId, Subscription subscription) {
|
private void registerSubscription(String sessionId, EntityId entityId, Subscription subscription) {
|
||||||
Set<Subscription> deviceSubscriptions = subscriptionsByEntityId.computeIfAbsent(entityId, k -> new HashSet<>());
|
Set<Subscription> deviceSubscriptions = subscriptionsByEntityId.computeIfAbsent(entityId, k -> ConcurrentHashMap.newKeySet());
|
||||||
deviceSubscriptions.add(subscription);
|
deviceSubscriptions.add(subscription);
|
||||||
Map<Integer, Subscription> sessionSubscriptions = subscriptionsByWsSessionId.computeIfAbsent(sessionId, k -> new HashMap<>());
|
Map<Integer, Subscription> sessionSubscriptions = subscriptionsByWsSessionId.computeIfAbsent(sessionId, k -> new ConcurrentHashMap<>());
|
||||||
sessionSubscriptions.put(subscription.getSubscriptionId(), subscription);
|
sessionSubscriptions.put(subscription.getSubscriptionId(), subscription);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,4 +12,30 @@
|
|||||||
<startargument>-Dinstall.data_dir=%BASE%\data</startargument>
|
<startargument>-Dinstall.data_dir=%BASE%\data</startargument>
|
||||||
<startargument>-jar</startargument>
|
<startargument>-jar</startargument>
|
||||||
<startargument>%BASE%\lib\${pkg.name}.jar</startargument>
|
<startargument>%BASE%\lib\${pkg.name}.jar</startargument>
|
||||||
|
<startargument>-Xloggc:%BASE%\logs\gc.log</startargument>
|
||||||
|
<startargument>-XX:+HeapDumpOnOutOfMemoryError</startargument>
|
||||||
|
<startargument>-XX:+PrintGCDetails</startargument>
|
||||||
|
<startargument>-XX:+PrintGCDateStamps</startargument>
|
||||||
|
<startargument>-XX:+PrintHeapAtGC</startargument>
|
||||||
|
<startargument>-XX:+PrintTenuringDistribution</startargument>
|
||||||
|
<startargument>-XX:+PrintGCApplicationStoppedTime</startargument>
|
||||||
|
<startargument>-XX:+UseGCLogFileRotation</startargument>
|
||||||
|
<startargument>-XX:NumberOfGCLogFiles=10</startargument>
|
||||||
|
<startargument>-XX:GCLogFileSize=10M</startargument>
|
||||||
|
<startargument>-XX:-UseBiasedLocking</startargument>
|
||||||
|
<startargument>-XX:+UseTLAB</startargument>
|
||||||
|
<startargument>-XX:+ResizeTLAB</startargument>
|
||||||
|
<startargument>-XX:+PerfDisableSharedMem</startargument>
|
||||||
|
<startargument>-XX:+UseCondCardMark</startargument>
|
||||||
|
<startargument>-XX:CMSWaitDuration=10000</startargument>
|
||||||
|
<startargument>-XX:+UseParNewGC</startargument>
|
||||||
|
<startargument>-XX:+UseConcMarkSweepGC</startargument>
|
||||||
|
<startargument>-XX:+CMSParallelRemarkEnabled</startargument>
|
||||||
|
<startargument>-XX:+CMSParallelInitialMarkEnabled</startargument>
|
||||||
|
<startargument>-XX:+CMSEdenChunksRecordAlways</startargument>
|
||||||
|
<startargument>-XX:CMSInitiatingOccupancyFraction=75</startargument>
|
||||||
|
<startargument>-XX:+UseCMSInitiatingOccupancyOnly</startargument>
|
||||||
|
<startargument>-Xms512m</startargument>
|
||||||
|
<startargument>-Xmx1024m</startargument>
|
||||||
|
|
||||||
</service>
|
</service>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>common</artifactId>
|
<artifactId>common</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard.common</groupId>
|
<groupId>org.thingsboard.common</groupId>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>common</artifactId>
|
<artifactId>common</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard.common</groupId>
|
<groupId>org.thingsboard.common</groupId>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>thingsboard</artifactId>
|
<artifactId>thingsboard</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>common</artifactId>
|
<artifactId>common</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard.common</groupId>
|
<groupId>org.thingsboard.common</groupId>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>thingsboard</artifactId>
|
<artifactId>thingsboard</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>dao</artifactId>
|
<artifactId>dao</artifactId>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
VERSION=2.0.2
|
VERSION=2.0.3
|
||||||
PROJECT=thingsboard
|
PROJECT=thingsboard
|
||||||
APP=cassandra-setup
|
APP=cassandra-setup
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
VERSION=2.0.2
|
VERSION=2.0.3
|
||||||
PROJECT=thingsboard
|
PROJECT=thingsboard
|
||||||
APP=cassandra
|
APP=cassandra
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ version: '2'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
tb:
|
tb:
|
||||||
image: "thingsboard/application:2.0.2"
|
image: "thingsboard/application:2.0.3"
|
||||||
ports:
|
ports:
|
||||||
- "8080:8080"
|
- "8080:8080"
|
||||||
- "1883:1883"
|
- "1883:1883"
|
||||||
|
|||||||
@ -22,7 +22,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: cassandra-setup
|
- name: cassandra-setup
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
image: thingsboard/cassandra-setup:2.0.2
|
image: thingsboard/cassandra-setup:2.0.3
|
||||||
env:
|
env:
|
||||||
- name: ADD_DEMO_DATA
|
- name: ADD_DEMO_DATA
|
||||||
value: "true"
|
value: "true"
|
||||||
|
|||||||
@ -54,7 +54,7 @@ spec:
|
|||||||
topologyKey: "kubernetes.io/hostname"
|
topologyKey: "kubernetes.io/hostname"
|
||||||
containers:
|
containers:
|
||||||
- name: cassandra
|
- name: cassandra
|
||||||
image: thingsboard/cassandra:2.0.2
|
image: thingsboard/cassandra:2.0.3
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 7000
|
- containerPort: 7000
|
||||||
|
|||||||
@ -84,7 +84,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: tb
|
- name: tb
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
image: thingsboard/application:2.0.2
|
image: thingsboard/application:2.0.3
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
name: ui
|
name: ui
|
||||||
|
|||||||
@ -87,7 +87,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: zk
|
- name: zk
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
image: thingsboard/zk:2.0.2
|
image: thingsboard/zk:2.0.3
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 2181
|
- containerPort: 2181
|
||||||
name: client
|
name: client
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
VERSION=2.0.2
|
VERSION=2.0.3
|
||||||
PROJECT=thingsboard
|
PROJECT=thingsboard
|
||||||
APP=application
|
APP=application
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
VERSION=2.0.2
|
VERSION=2.0.3
|
||||||
PROJECT=thingsboard
|
PROJECT=thingsboard
|
||||||
APP=zk
|
APP=zk
|
||||||
|
|
||||||
|
|||||||
@ -19,12 +19,12 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>thingsboard</artifactId>
|
<artifactId>thingsboard</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<artifactId>netty-mqtt</artifactId>
|
<artifactId>netty-mqtt</artifactId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>Netty MQTT Client</name>
|
<name>Netty MQTT Client</name>
|
||||||
|
|||||||
2
pom.xml
2
pom.xml
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<artifactId>thingsboard</artifactId>
|
<artifactId>thingsboard</artifactId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
<name>Thingsboard</name>
|
<name>Thingsboard</name>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>thingsboard</artifactId>
|
<artifactId>thingsboard</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>rule-engine</artifactId>
|
<artifactId>rule-engine</artifactId>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>rule-engine</artifactId>
|
<artifactId>rule-engine</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard.rule-engine</groupId>
|
<groupId>org.thingsboard.rule-engine</groupId>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>rule-engine</artifactId>
|
<artifactId>rule-engine</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard.rule-engine</groupId>
|
<groupId>org.thingsboard.rule-engine</groupId>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>thingsboard</artifactId>
|
<artifactId>thingsboard</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>transport</artifactId>
|
<artifactId>transport</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard.transport</groupId>
|
<groupId>org.thingsboard.transport</groupId>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>transport</artifactId>
|
<artifactId>transport</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard.transport</groupId>
|
<groupId>org.thingsboard.transport</groupId>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>transport</artifactId>
|
<artifactId>transport</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard.transport</groupId>
|
<groupId>org.thingsboard.transport</groupId>
|
||||||
|
|||||||
@ -86,7 +86,7 @@ public class GatewayDeviceSessionCtx extends DeviceAwareSessionContext {
|
|||||||
if (responseMsg.isSuccess()) {
|
if (responseMsg.isSuccess()) {
|
||||||
SessionMsgType requestMsgType = responseMsg.getRequestMsgType();
|
SessionMsgType requestMsgType = responseMsg.getRequestMsgType();
|
||||||
Integer requestId = responseMsg.getRequestId();
|
Integer requestId = responseMsg.getRequestId();
|
||||||
if (requestId >= 0 && requestMsgType == SessionMsgType.POST_ATTRIBUTES_REQUEST || requestMsgType == SessionMsgType.POST_TELEMETRY_REQUEST) {
|
if (requestId >= 0 && (requestMsgType == SessionMsgType.POST_ATTRIBUTES_REQUEST || requestMsgType == SessionMsgType.POST_TELEMETRY_REQUEST)) {
|
||||||
return Optional.of(MqttTransportHandler.createMqttPubAckMsg(requestId));
|
return Optional.of(MqttTransportHandler.createMqttPubAckMsg(requestId));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -90,6 +90,7 @@ public class GatewaySessionCtx {
|
|||||||
device.setTenantId(gateway.getTenantId());
|
device.setTenantId(gateway.getTenantId());
|
||||||
device.setName(deviceName);
|
device.setName(deviceName);
|
||||||
device.setType(deviceType);
|
device.setType(deviceType);
|
||||||
|
device.setCustomerId(gateway.getCustomerId());
|
||||||
device = deviceService.saveDevice(device);
|
device = deviceService.saveDevice(device);
|
||||||
relationService.saveRelationAsync(new EntityRelation(gateway.getId(), device.getId(), "Created"));
|
relationService.saveRelationAsync(new EntityRelation(gateway.getId(), device.getId(), "Created"));
|
||||||
processor.onDeviceAdded(device);
|
processor.onDeviceAdded(device);
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>thingsboard</artifactId>
|
<artifactId>thingsboard</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "thingsboard",
|
"name": "thingsboard",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2.0.2",
|
"version": "2.0.3",
|
||||||
"description": "Thingsboard UI",
|
"description": "Thingsboard UI",
|
||||||
"licenses": [
|
"licenses": [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
<version>2.0.2</version>
|
<version>2.0.3</version>
|
||||||
<artifactId>thingsboard</artifactId>
|
<artifactId>thingsboard</artifactId>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>org.thingsboard</groupId>
|
<groupId>org.thingsboard</groupId>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user