mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 03:22:00 -08:00
* Added try catch block for user expired handling.
This commit is contained in:
parent
b6bc7c6a51
commit
0120808ef8
2 changed files with 37 additions and 29 deletions
|
|
@ -66,25 +66,29 @@ public class ChatSession {
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized public void kill(UUID userId, DisconnectReason reason) {
|
synchronized public void kill(UUID userId, DisconnectReason reason) {
|
||||||
if (userId != null && clients.containsKey(userId)) {
|
try {
|
||||||
String userName = clients.get(userId);
|
if (userId != null && clients.containsKey(userId)) {
|
||||||
logger.debug(userName + " leaves chat: " + chatId);
|
String userName = clients.get(userId);
|
||||||
clients.remove(userId);
|
logger.debug((userName == null ? "[null]" :userName) + " leaves chat: " + (chatId == null?"[null]":chatId));
|
||||||
String message = null;
|
clients.remove(userId);
|
||||||
switch (reason) {
|
String message = null;
|
||||||
case Disconnected:
|
switch (reason) {
|
||||||
message = " has left XMage";
|
case Disconnected:
|
||||||
break;
|
message = " has left XMage";
|
||||||
case LostConnection:
|
break;
|
||||||
message = " has lost connection";
|
case LostConnection:
|
||||||
break;
|
message = " has lost connection";
|
||||||
default:
|
break;
|
||||||
logger.debug(userName + " left chat with reason: " + reason.name() + " " + chatId);
|
default:
|
||||||
}
|
logger.debug(userName + " left chat with reason: " + reason.name() + " " + chatId);
|
||||||
if (message != null) {
|
}
|
||||||
broadcast(null, new StringBuilder(userName).append(message).toString(), MessageColor.BLUE, true, MessageType.STATUS);
|
if (message != null) {
|
||||||
logger.debug(userName + " left chat with reason: " + message + " " + chatId);
|
broadcast(null, new StringBuilder(userName).append(message).toString(), MessageColor.BLUE, true, MessageType.STATUS);
|
||||||
|
logger.debug(userName + " left chat with reason: " + message + " " + chatId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} catch(Exception ex) {
|
||||||
|
logger.fatal(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -155,19 +155,23 @@ public class UserManager {
|
||||||
new Runnable() {
|
new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
logger.debug("checkExpired - start");
|
try {
|
||||||
Calendar expired = Calendar.getInstance();
|
logger.debug("checkExpired - start");
|
||||||
expired.add(Calendar.MINUTE, -3);
|
Calendar expired = Calendar.getInstance();
|
||||||
List<User> usersToCheck = new ArrayList<>();
|
expired.add(Calendar.MINUTE, -3);
|
||||||
usersToCheck.addAll(users.values());
|
List<User> usersToCheck = new ArrayList<>();
|
||||||
for (User user : usersToCheck) {
|
usersToCheck.addAll(users.values());
|
||||||
if (user.isExpired(expired.getTime())) {
|
for (User user : usersToCheck) {
|
||||||
logger.info(new StringBuilder(user.getName()).append(": session expired userId: ").append(user.getId())
|
if (user.isExpired(expired.getTime())) {
|
||||||
.append(" Host: ").append(user.getHost()));
|
logger.info(new StringBuilder(user.getName()).append(": session expired userId: ").append(user.getId())
|
||||||
removeUser(user.getId(), DisconnectReason.SessionExpired);
|
.append(" Host: ").append(user.getHost()));
|
||||||
|
removeUser(user.getId(), DisconnectReason.SessionExpired);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
logger.debug("checkExpired - end");
|
||||||
|
} catch (Exception ex) {
|
||||||
|
handleException(ex);
|
||||||
}
|
}
|
||||||
logger.debug("checkExpired - end");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue