[RESOLVIDO] Erro no uso do rollback();

Erro quando colocado connection.rollback(); não aceita dentro do catch. segue abaixo o codigo da classe.

public class PessoasDaoBd implements PessoaDao{
private int id;
@Override
public int insert(Pessoas pessoas) {

    try {
        Connection connection = FabricaConexoes.getConexao();
        
        Statement statement = connection.createStatement();
        connection.setAutoCommit(false);
        statement.executeUpdate(
                String.format(
                    "INSERT INTO pessoas (nome)"
                    + "VALUES ('%s')", 
                     pessoas.getNome()));
        ResultSet rs;
        rs = statement.executeQuery(String.format("SELECT currval('pessoas_id_pessoa_seq'::regclass) as id;"));
        while(rs.next()){
            id = rs.getInt("id");
        }
        
        statement.executeUpdate(
                String.format(
                    "INSERT INTO enderecos (id_pessoa, endereco)"
                    + "VALUES ("+id+", '%s')",
                    pessoas.getEndereco()));
        connection.commit();
        
        return 0;
    } catch (SQLException sqle) {
        connection.rollback();
        System.err.println("Erro");
    } finally {
        
    }
    return -1;

}

}

É que você declarou a variável connection dentro do try, aí não tem como ela ser “enxergada” no escopo do catch.
Declara fora do try que vai funcionar.

public int insert(Pessoas pessoas) {
    Connection connection = null;
    try {
        connection = FabricaConexoes.getConexao();
        
        Statement statement = connection.createStatement();
        connection.setAutoCommit(false);
        statement.executeUpdate(
                String.format(
                    "INSERT INTO pessoas (nome)"
                    + "VALUES ('%s')", 
                     pessoas.getNome()));
        ResultSet rs = statement.executeQuery(String.format("SELECT currval('pessoas_id_pessoa_seq'::regclass) as id;"));
        while(rs.next()){
            id = rs.getInt("id");
        }
        
        statement.executeUpdate(
                String.format(
                    "INSERT INTO enderecos (id_pessoa, endereco)"
                    + "VALUES ("+id+", '%s')",
                    pessoas.getEndereco()));
        connection.commit();
        
        return 0;
    } catch (SQLException sqle) {
        if (connection != null) {
            connection.rollback();
        }
        System.err.println("Erro");
        return -1;
    }
}