aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/traccar/api')
-rw-r--r--src/main/java/org/traccar/api/AsyncSocket.java8
-rw-r--r--src/main/java/org/traccar/api/AsyncSocketServlet.java7
2 files changed, 10 insertions, 5 deletions
diff --git a/src/main/java/org/traccar/api/AsyncSocket.java b/src/main/java/org/traccar/api/AsyncSocket.java
index 2b866176b..3239d36c4 100644
--- a/src/main/java/org/traccar/api/AsyncSocket.java
+++ b/src/main/java/org/traccar/api/AsyncSocket.java
@@ -41,10 +41,12 @@ public class AsyncSocket extends WebSocketAdapter implements ConnectionManager.U
private static final String KEY_EVENTS = "events";
private final ObjectMapper objectMapper;
+ private final ConnectionManager connectionManager;
private final long userId;
- public AsyncSocket(ObjectMapper objectMapper, long userId) {
+ public AsyncSocket(ObjectMapper objectMapper, ConnectionManager connectionManager, long userId) {
this.objectMapper = objectMapper;
+ this.connectionManager = connectionManager;
this.userId = userId;
}
@@ -56,14 +58,14 @@ public class AsyncSocket extends WebSocketAdapter implements ConnectionManager.U
data.put(KEY_POSITIONS, Context.getDeviceManager().getInitialState(userId));
sendData(data);
- Context.getConnectionManager().addListener(userId, this);
+ connectionManager.addListener(userId, this);
}
@Override
public void onWebSocketClose(int statusCode, String reason) {
super.onWebSocketClose(statusCode, reason);
- Context.getConnectionManager().removeListener(userId, this);
+ connectionManager.removeListener(userId, this);
}
@Override
diff --git a/src/main/java/org/traccar/api/AsyncSocketServlet.java b/src/main/java/org/traccar/api/AsyncSocketServlet.java
index 4e55dfebf..317ec469e 100644
--- a/src/main/java/org/traccar/api/AsyncSocketServlet.java
+++ b/src/main/java/org/traccar/api/AsyncSocketServlet.java
@@ -21,6 +21,7 @@ import org.eclipse.jetty.websocket.server.JettyWebSocketServletFactory;
import org.traccar.Context;
import org.traccar.api.resource.SessionResource;
import org.traccar.config.Keys;
+import org.traccar.session.ConnectionManager;
import javax.inject.Inject;
import javax.servlet.http.HttpSession;
@@ -29,10 +30,12 @@ import java.time.Duration;
public class AsyncSocketServlet extends JettyWebSocketServlet {
private final ObjectMapper objectMapper;
+ private final ConnectionManager connectionManager;
@Inject
- public AsyncSocketServlet(ObjectMapper objectMapper) {
+ public AsyncSocketServlet(ObjectMapper objectMapper, ConnectionManager connectionManager) {
this.objectMapper = objectMapper;
+ this.connectionManager = connectionManager;
}
@Override
@@ -41,7 +44,7 @@ public class AsyncSocketServlet extends JettyWebSocketServlet {
factory.setCreator((req, resp) -> {
if (req.getSession() != null) {
long userId = (Long) ((HttpSession) req.getSession()).getAttribute(SessionResource.USER_ID_KEY);
- return new AsyncSocket(objectMapper, userId);
+ return new AsyncSocket(objectMapper, connectionManager, userId);
} else {
return null;
}