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) {
|
||||
if (userId != null && clients.containsKey(userId)) {
|
||||
String userName = clients.get(userId);
|
||||
logger.debug(userName + " leaves chat: " + chatId);
|
||||
clients.remove(userId);
|
||||
String message = null;
|
||||
switch (reason) {
|
||||
case Disconnected:
|
||||
message = " has left XMage";
|
||||
break;
|
||||
case LostConnection:
|
||||
message = " has lost connection";
|
||||
break;
|
||||
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);
|
||||
logger.debug(userName + " left chat with reason: " + message + " " + chatId);
|
||||
try {
|
||||
if (userId != null && clients.containsKey(userId)) {
|
||||
String userName = clients.get(userId);
|
||||
logger.debug((userName == null ? "[null]" :userName) + " leaves chat: " + (chatId == null?"[null]":chatId));
|
||||
clients.remove(userId);
|
||||
String message = null;
|
||||
switch (reason) {
|
||||
case Disconnected:
|
||||
message = " has left XMage";
|
||||
break;
|
||||
case LostConnection:
|
||||
message = " has lost connection";
|
||||
break;
|
||||
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);
|
||||
logger.debug(userName + " left chat with reason: " + message + " " + chatId);
|
||||
}
|
||||
}
|
||||
} catch(Exception ex) {
|
||||
logger.fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -155,19 +155,23 @@ public class UserManager {
|
|||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
logger.debug("checkExpired - start");
|
||||
Calendar expired = Calendar.getInstance();
|
||||
expired.add(Calendar.MINUTE, -3);
|
||||
List<User> usersToCheck = new ArrayList<>();
|
||||
usersToCheck.addAll(users.values());
|
||||
for (User user : usersToCheck) {
|
||||
if (user.isExpired(expired.getTime())) {
|
||||
logger.info(new StringBuilder(user.getName()).append(": session expired userId: ").append(user.getId())
|
||||
.append(" Host: ").append(user.getHost()));
|
||||
removeUser(user.getId(), DisconnectReason.SessionExpired);
|
||||
try {
|
||||
logger.debug("checkExpired - start");
|
||||
Calendar expired = Calendar.getInstance();
|
||||
expired.add(Calendar.MINUTE, -3);
|
||||
List<User> usersToCheck = new ArrayList<>();
|
||||
usersToCheck.addAll(users.values());
|
||||
for (User user : usersToCheck) {
|
||||
if (user.isExpired(expired.getTime())) {
|
||||
logger.info(new StringBuilder(user.getName()).append(": session expired userId: ").append(user.getId())
|
||||
.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