aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2022-06-17 17:20:11 -0700
committerAnton Tananaev <anton@traccar.org>2022-06-17 17:20:11 -0700
commit316ef36ca8bf6425df5a6186da2e7901dcb23c0e (patch)
tree527cc6b14c1daf2cdfbf921fa9c197a32c6cb9c3
parent15c4b6b21a31c63bc0f7e624e26d032d531c459d (diff)
downloadtrackermap-server-316ef36ca8bf6425df5a6186da2e7901dcb23c0e.tar.gz
trackermap-server-316ef36ca8bf6425df5a6186da2e7901dcb23c0e.tar.bz2
trackermap-server-316ef36ca8bf6425df5a6186da2e7901dcb23c0e.zip
Fix caching issues
-rw-r--r--src/main/java/org/traccar/session/ConnectionManager.java2
-rw-r--r--src/main/java/org/traccar/session/cache/CacheManager.java1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/main/java/org/traccar/session/ConnectionManager.java b/src/main/java/org/traccar/session/ConnectionManager.java
index c8c07f9c7..6d5fefa75 100644
--- a/src/main/java/org/traccar/session/ConnectionManager.java
+++ b/src/main/java/org/traccar/session/ConnectionManager.java
@@ -128,7 +128,7 @@ public class ConnectionManager {
if (oldSession != null) {
Endpoint oldEndpoint = new Endpoint(oldSession.getChannel(), oldSession.getRemoteAddress());
Map<String, DeviceSession> oldEndpointSessions = sessionsByEndpoint.get(oldEndpoint);
- if (oldEndpointSessions.size() > 1) {
+ if (oldEndpointSessions != null && oldEndpointSessions.size() > 1) {
oldEndpointSessions.remove(device.getUniqueId());
} else {
sessionsByEndpoint.remove(oldEndpoint);
diff --git a/src/main/java/org/traccar/session/cache/CacheManager.java b/src/main/java/org/traccar/session/cache/CacheManager.java
index 14034f3d6..896df83e7 100644
--- a/src/main/java/org/traccar/session/cache/CacheManager.java
+++ b/src/main/java/org/traccar/session/cache/CacheManager.java
@@ -245,6 +245,7 @@ public class CacheManager {
new Columns.All(), new Condition.Permission(User.class, Device.class, deviceId)));
links.put(User.class, users.stream().map(BaseModel::getId).collect(Collectors.toList()));
for (var user : users) {
+ addObject(deviceId, user);
var notifications = storage.getObjects(Notification.class, new Request(
new Columns.All(), new Condition.Permission(User.class, user.getId(), Notification.class)));
notifications.stream()