RMI - Acesso concorrente no Servidor (ajuda)

Oi, estou precisando fazer com que meu servidor de RMI atenda ao acesso concorrente das máquinas clientes pois, da forma que está ele só atende uma requisição por vez mas, quando chegam duas simultaneamente ele descarta uma e gera uma exceção.

Alguma idéia sobre como posso fazer? Como posso implementá-lo?

Uma vez implementei um servidor usando Threads mas, estava trabalhado com Sockets, daí eu abria uma nova thread para cada conexão, mas, com o servidor de RMI não estou conseguindo!

Segue o codigo que estou usando.

P.S: Não tem com o eu postar (toda) as classes cliente e servidora pois são muito grandes (tem muitos métodos implementados) mas, vou colocar
a chamada de um deles por exemplo.

//Esta é a chamada na classe CLIENTE

Dados d1;

String nomePonto;

try
         { 
          nomePonto = d1.consultaPontoAtend("Select nome_ponto from ponto_atendimento where codigo_pa = '" + c1.getText() + "' and loja = '" + c6.getText() + "'");
         }
         catch (Exception erro)
         {
          System.out.println(erro);
         }
import java.rmi.*;
import java.util.*;

public interface Dados extends Remote
{

String consultaPontoAtend(String comandoSQL) throws RemoteException;

}
import java.rmi.*;
import java.rmi.server.*;
import java.util.*;

public class DadosImpl extends UnicastRemoteObject
                          implements Dados
{
BancoDados base;//esta classe eu criei para fazer o acesso ao meu banco de dados

  base = new BancoDados();
  base.defineDriver("org.gjt.mm.mysql.Driver");
  base.defineEndereco("jdbc:mysql://localhost:3306/BD");
  base.defineUsuario("host");
  base.defineSenha("");

public String consultaPontoAtend(String comandoSQL) throws RemoteException
{
  base.abreConexao();
  base.executaConsulta(comandoSQL);
  
  String s = "";
  
  if (base.proximoRegistro())  
  {
      s = base.retornaString("nome_ponto");       
  }   
  
  base.fechaConexao();   
  return(s);
}

}

E este é o código do servidor:

import java.rmi.*;
import java.rmi.server.*;

public class Servidor
{
public static void main(String[] args)
{
  try
  {
   // Nome pelo qual o serviço será posteriormente localizado
   String nomeServico = "TESTE";
      
   // Cria objeto servidor
   DadosImpl d1 = new DadosImpl();

   // Registra a ligação nome-objeto servidor no rmiregistry 
   Naming.rebind(nomeServico, d1);
      
   // Servidor preparado para receber solicitações de clientes
   System.out.println("-------------------- Servidor RMI vs-1.0 - Lucra LTDA --------------------");
   System.out.println("* Conectado!");
   System.out.println("* Status: Esperando ...\n");
  }
  catch (Exception erro)
  {
   System.out.println(erro);     
  }
}
}

Agradeço toda e qualquer ajuda!