From dd8a51e0f342c183116d8b2af3f12394b0ac53dd Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Sat, 17 Feb 2018 22:13:12 +0300 Subject: server: merge xmpp --- .../main/java/com/juick/components/CleaningUp.java | 60 ---------------------- 1 file changed, 60 deletions(-) delete mode 100644 juick-xmpp/src/main/java/com/juick/components/CleaningUp.java (limited to 'juick-xmpp/src/main/java/com/juick/components/CleaningUp.java') diff --git a/juick-xmpp/src/main/java/com/juick/components/CleaningUp.java b/juick-xmpp/src/main/java/com/juick/components/CleaningUp.java deleted file mode 100644 index a96b7c35..00000000 --- a/juick-xmpp/src/main/java/com/juick/components/CleaningUp.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2008-2017, Juick - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package com.juick.components; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import javax.inject.Inject; -import java.time.Duration; -import java.time.Instant; - -/** - * - * @author ugnich - */ -@Component -public class CleaningUp { - - private static final Logger logger = LoggerFactory.getLogger(CleaningUp.class); - - private static final int TIMEOUT_MINUTES = 15; - - @Inject - XMPPServer xmpp; - - @Scheduled(fixedDelay = 10000) - public void cleanUp() { - Instant now = Instant.now(); - xmpp.getOutConnections().keySet().stream().filter(c -> Duration.between(now, c.getUpdated()).toMinutes() > TIMEOUT_MINUTES) - .forEach(c -> { - logger.info("closing idle outgoing connection to {}", c.to); - c.logoff(); - xmpp.getOutConnections().remove(c); - }); - - xmpp.getInConnections().stream().filter(c -> Duration.between(now, c.updated).toMinutes() > TIMEOUT_MINUTES) - .forEach(c -> { - logger.info("closing idle incoming connection from {}", c.from); - c.closeConnection(); - xmpp.getInConnections().remove(c); - }); - } -} -- cgit v1.2.3