removed try-catch for checkSessionsTimeout because for actor all messages are processed sequentially
This commit is contained in:
parent
1507ac69ab
commit
3a00a792c3
@ -966,21 +966,14 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor {
|
|||||||
final long expTime = System.currentTimeMillis() - systemContext.getSessionInactivityTimeout();
|
final long expTime = System.currentTimeMillis() - systemContext.getSessionInactivityTimeout();
|
||||||
List<UUID> expiredIds = null;
|
List<UUID> expiredIds = null;
|
||||||
|
|
||||||
try {
|
for (Map.Entry<UUID, SessionInfoMetaData> kv : sessions.entrySet()) { //entry set are cached for stable sessions
|
||||||
for (Map.Entry<UUID, SessionInfoMetaData> kv : sessions.entrySet()) { //entry set are cached for stable sessions
|
if (kv.getValue().getLastActivityTime() < expTime) {
|
||||||
if (kv.getValue().getLastActivityTime() < expTime) {
|
final UUID id = kv.getKey();
|
||||||
final UUID id = kv.getKey();
|
if (expiredIds == null) {
|
||||||
if (expiredIds == null) {
|
expiredIds = new ArrayList<>(1); //most of the expired sessions is a single event
|
||||||
expiredIds = new ArrayList<>(1); //most of the expired sessions is a single event
|
|
||||||
}
|
|
||||||
expiredIds.add(id);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
expiredIds.add(id);
|
||||||
}
|
}
|
||||||
} catch (ConcurrentModificationException ignored) {
|
|
||||||
//Sessions are not thread safe and possible exceptions
|
|
||||||
//It is an extremely rare event
|
|
||||||
//Complete session check will perform on the next check
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (expiredIds != null) {
|
if (expiredIds != null) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user