public void stopService()
    {
        if(!isRunning())
            throw new IllegalStateException("Server is already stopped");
        
        serverTh.interrupt();
        try{serverTh.join(2000);} catch (InterruptedException ignored){}
        
        handleRequestWorkers.shutdown();
        try{handleRequestWorkers.awaitTermination(2, TimeUnit.SECONDS);}catch (InterruptedException ignored){}
        
        if(serverTh.isAlive() || !handleRequestWorkers.isTerminated())
        {
            LOG.warning("Server couldn´t exit safely");
            
            if(serverTh.isAlive())
                serverTh.stop();
            
            if(!handleRequestWorkers.isTerminated())
                handleRequestWorkers.shutdownNow();
        }
        else
        {
            LOG.info("Server exited safely");
        }
        
        
        handleRequestWorkers = null;
        serverTh = null;
    }