Код:
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." );
}
}