Quando dá esse erro (na verdade um warning, no log do Glassfish 2) quer dizer que alguma parte do código abriu uma conexão ao banco e não fechou? Como detectar onde está ocorrendo?
Pelo código, parece estar fechando a conexão:
	public Requisitante obterRequisitante(Long codigo){
		Requisitante req = null;
		String consulta = "SELECT * FROM Requisitante WHERE codigoRequisitanteSD = '"+ codigo +"' "; 		
		try {
			banco = BD.getInstancia();
			banco.conectarMysql();
			rs = banco.executaConsulta(consulta);
			while (rs.next()) {			 
				req = new Requisitante(codigo, rs.getString("nome"), rs.getString("categoria"),
						null, rs.getString("email"), null, null, rs.getString("telefone"), rs.getString("cargo"), null);				
			}
		 } catch (Exception e) {
			 new log(": Erro obtendo requisitante" + e.getMessage());  
		 } finally {
			banco.fechar();
		   }			
		return req;
	}