parent
1f011467b8
commit
fc7e7a3304
|
@ -388,7 +388,7 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
|
||||||
/* STOMP spec: receiver SHOULD take into account an error margin */
|
/* STOMP spec: receiver SHOULD take into account an error margin */
|
||||||
private static final long HEARTBEAT_MULTIPLIER = 3;
|
private static final long HEARTBEAT_MULTIPLIER = 3;
|
||||||
|
|
||||||
private final String sessiondId;
|
private final String sessionId;
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private final Principal user;
|
private final Principal user;
|
||||||
|
@ -401,10 +401,10 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
|
||||||
|
|
||||||
private volatile long lastWriteTime;
|
private volatile long lastWriteTime;
|
||||||
|
|
||||||
public SessionInfo(String sessiondId, @Nullable Principal user,
|
public SessionInfo(String sessionId, @Nullable Principal user,
|
||||||
@Nullable long[] clientHeartbeat, @Nullable long[] serverHeartbeat) {
|
@Nullable long[] clientHeartbeat, @Nullable long[] serverHeartbeat) {
|
||||||
|
|
||||||
this.sessiondId = sessiondId;
|
this.sessionId = sessionId;
|
||||||
this.user = user;
|
this.user = user;
|
||||||
if (clientHeartbeat != null && serverHeartbeat != null) {
|
if (clientHeartbeat != null && serverHeartbeat != null) {
|
||||||
this.readInterval = (clientHeartbeat[0] > 0 && serverHeartbeat[1] > 0 ?
|
this.readInterval = (clientHeartbeat[0] > 0 && serverHeartbeat[1] > 0 ?
|
||||||
|
@ -419,8 +419,8 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
|
||||||
this.lastReadTime = this.lastWriteTime = System.currentTimeMillis();
|
this.lastReadTime = this.lastWriteTime = System.currentTimeMillis();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSessiondId() {
|
public String getSessionId() {
|
||||||
return this.sessiondId;
|
return this.sessionId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
@ -461,11 +461,11 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
|
||||||
long now = System.currentTimeMillis();
|
long now = System.currentTimeMillis();
|
||||||
for (SessionInfo info : sessions.values()) {
|
for (SessionInfo info : sessions.values()) {
|
||||||
if (info.getReadInterval() > 0 && (now - info.getLastReadTime()) > info.getReadInterval()) {
|
if (info.getReadInterval() > 0 && (now - info.getLastReadTime()) > info.getReadInterval()) {
|
||||||
handleDisconnect(info.getSessiondId(), info.getUser(), null);
|
handleDisconnect(info.getSessionId(), info.getUser(), null);
|
||||||
}
|
}
|
||||||
if (info.getWriteInterval() > 0 && (now - info.getLastWriteTime()) > info.getWriteInterval()) {
|
if (info.getWriteInterval() > 0 && (now - info.getLastWriteTime()) > info.getWriteInterval()) {
|
||||||
SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(SimpMessageType.HEARTBEAT);
|
SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(SimpMessageType.HEARTBEAT);
|
||||||
accessor.setSessionId(info.getSessiondId());
|
accessor.setSessionId(info.getSessionId());
|
||||||
Principal user = info.getUser();
|
Principal user = info.getUser();
|
||||||
if (user != null) {
|
if (user != null) {
|
||||||
accessor.setUser(user);
|
accessor.setUser(user);
|
||||||
|
|
Loading…
Reference in New Issue