RMI Vetor

0 respostas
A

Olá gALLera. estou meio q desesperado… sou iniciante em java e tenho um trabalho da pos graduação para resolver… é o seguinte o prof. deu um modulo que tenho que alterar para que o pro nao passa linha por linha e sim um vetor… ALLguem me ajude por favor…

/** Criacao do Objeto Remoto /
/
* Importacao dos pacotes JDBC e RMI, alem de implementar a interface remota JR. O Objeto eh uma

  • subclasse de UnicastRemoteObject que o define como objeto remoto <em>/
    
    import java.util.</em>;
    
    import java.rmi.<em>;
    
    import java.sql.</em>;
    
    import java.rmi.server.UnicastRemoteObject;
    
    public class JRImpl extends UnicastRemoteObject implements JR {
    

    /** Declaracao das variaveis do objeto remoto /
    /
    * Por se tratar de um gerenciamento de multiplas conexoes ao database, define-se um vetor privado

    • que permite ate 5 instancias do objeto JRConnection */

    private JRConnection jrc[]=new JRConnection[5];

    /** Criacao do construtor do objeto remoto /
    /
    * Construtor default */

    public JRImpl() throws RemoteException {
    }

    /** Criacao dos metodos do objeto remoto /
    /
    * Estes metodos serao chamados pelo cliente. Eles implementam os mesmos nomes e parametros

    • declarados na interface remota /
      /
      * O metodo openDatabase() eh sincronizado para prevenir multiplas chamadas concorrentes dos
    • clientes */

    /** Metodo de abertura de uma conexao ao database */

    public synchronized int openDatabase() throws RemoteException, SQLException,
    
    ClassNotFoundException {
    
    int connectionId;
    
    // Loop pela tabela de conexao ate uqe seja encontrado um slot vazio
    
    for (connectionId=0; connectionId<jrc.length; connectionId++) {
    
    if (jrc [connectionId]==null)
    
    break;
    
    }
    
    // Se nenhum slot vazio eh encontrado, eh gerado um erro
    
    if (connectionId>=jrc.length) {
    
    System.out.println(Sem conexao !!!);
    
    return -1;
    
    }
    
    // Cria uma conexao ao novo processo e executa-o
    
    jrc [connectionId]=new JRConnection();
    
    // Chama o metodo do novo processo para abrir uma conexao ao database
    
    jrc[connectionId].openDatabase();
    
    // Retorna o identificador da conexao
    
    return connectionId;
    
    }
    
    /** Executa uma consulta SQL com uma clausula WHERE */
    
    public void performSearch(int id, String searchString) throws RemoteException, SQLException {
    
    jrc[id].performSearch(searchString);
    
    }
    
    //    /** Percorre a proxima linha a partir do resultado da consulta */
    
    public String getNextRow(int id) throws RemoteException, SQLException {
    
    return jrc[id].getNextRow();
    
    }
    
    /** Fecha a conexao ao database */
    
    public void closeDatabase(int id) throws RemoteException, SQLException {
    
    jrc[id].closeDatabase();
    
    jrc[id]=null;
    
    }
    
    }
    
Criado 30 de novembro de 2004
Respostas 0
Participantes 1