@Override
    public void run() {
        try {
            List<OfertaRecursos> ofertasNovas = recursosFromResultSet(conexao.getStatement().executeQuery("select * from " + NOME_TABELA_OFERTAS_RECURSOS
                    + " where " + RECURSOS_COLUNA_ESTADO_OFERTA + " = " + "'" + Oferta.ESTADO_OFERTA.APROVADO.name() + "'"
                    + " and " + RECURSOS_COLUNA_IS_NEW + " is true"));

            if(ofertasNovas.size() > 0)
                serverUI.sendMessage("JobScheduler - " + ofertasNovas.size() + " novas ofertas de recursos Aprovadas foram enviadas para as threads.");

            for (OfertaRecursos oferta : ofertasNovas) {
                if (oferta.getAreaAtuacao() == Oferta.AREA_ATUACAO.REDE) {
                    threadRedes.adicionarOfertaRecursosLivre(oferta.getId());
                } else if (oferta.getAreaAtuacao() == Oferta.AREA_ATUACAO.BASES_DADOS) {
                    threadBasesDados.adicionarOfertaRecursosLivre(oferta.getId());
                } else {
                    threadDesenvolvimento.adicionarOfertaRecursosLivre(oferta.getId());
                }

                conexao.getStatement().executeUpdate("update " + NOME_TABELA_OFERTAS_RECURSOS
                        + " set " + RECURSOS_COLUNA_IS_NEW + " = false"
                        + " where " + RECURSOS_COLUNA_ID + " = " + oferta.getId());
            }
        } catch (SQLException ex) {
            serverUI.sendMessage("Erro de SQL em JobScheduler.run()...");
        }
    }