forum.bitel.ru http://forum.bitel.ru/ |
|
Как убить все сессии с определенных ip http://forum.bitel.ru/viewtopic.php?f=44&t=11817 |
Страница 1 из 1 |
Автор: | Nessero [ 25 июл 2016, 20:28 ] |
Заголовок сообщения: | Как убить все сессии с определенных ip |
в inet_connection_1 ipAdress начинается на ac10, каким запросом можно убить все сессии с такими ip ? |
Автор: | Phricker [ 25 июл 2016, 20:40 ] |
Заголовок сообщения: | Re: Как убить все сессии с определенных ip |
Код: package xxx.inet;
import ru.bitel.bgbilling.kernel.container.managed.ServerContext; import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase; import ru.bitel.bgbilling.modules.inet.api.common.service.InetServService; import ru.bitel.bgbilling.modules.inet.api.common.service.InetSessionService; import ru.bitel.bgbilling.server.util.Setup; import ru.bitel.common.sql.ConnectionSet; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public class breakSessions extends GlobalScriptBase { static int INET_MID = 12; //ID модуля Inet @Override public void execute( Setup setup, ConnectionSet connectionSet ) throws Exception { Connection con = connectionSet.getConnection(); ServerContext context = ServerContext.get(); InetSessionService inetServ = context.getService(InetSessionService.class, INET_MID); int count = 0; print("Start"); long timeStart = System.currentTimeMillis(); String query = " SELECT id FROM inet_connection_12 WHERE ipaddress BETWEEN UNHEX(CONV(INET_ATON('172.24.219.1'), 10, 16)) AND UNHEX(CONV(INET_ATON('172.24.255.255'), 10, 16)) AND STATUS = 1 "; PreparedStatement ps = con.prepareStatement( query ); ResultSet rs = ps.executeQuery(); while ( rs.next() ) { count++; long sessionId = rs.getInt( 1 ); inetServ.connectionClose(sessionId); //inetServ.connectionFinish(sessionId); } rs.close(); ps.close(); print("Сброшено " + count + " соединений"); long timeEnd = System.currentTimeMillis(); print( "Process time: " + (timeEnd - timeStart)/1000 + " s." ); } } |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |