Ir ao conteúdo
  • Cadastre-se

Erro ao gerar Stubs e Skeletons no Prompt de Comando em aplicação RMI


Posts recomendados

Boa Noite!

Criei um projeto no NetBeans 8.0.2 em Java com JDK 8u45 utilizando arquitetura RMI Cliente Servidor com acesso a banco de dados, porém, quando vou tentar criar os arquivos stubs e skeletons na classe de Implementação a partir do cmd com o rmic a seguinte mensagem aparece:

 

"Warning: generation and use of skeletons and static stubs for JRMP is deprecated. Skeletons are unnecessary, and static stubs have been superseded by dynamically generated stubs. Users are encouraged to migrate away from using rmic to generate skeletons and static stubs. See the documentation for java.rmi.server.UnicastRemoteObject."

 

Gostaria de saber se é possível realizar essa geração de objetos remotos em outro lugar ou o que tenho que fazer para resolver esse problema?! Já tentei procurar em toda a net a resposta do problema já tentei instalar outra versão do JDK pois não sei se essa porém não funcionou, quem puder me ajudar estarei muito grato!! Obrigado desde já 

Link para o comentário
Compartilhar em outros sites

Procurando a respectiva documentação do java.rmi.server.UnicastRemoteObject isso é tudo que eu achei: https://docs.oracle.com/javase/8/docs/api/java/rmi/server/UnicastRemoteObject.html

Aqui ele fala que a quarta opção é obsoleta por gerar stubs estáticos e skeletons (que eles falam serem desconsiderados) e o erro diz que usuários são encorajados a deixarem de utilizar o comando rmic para gerar stubs estáticos e skeletons, e que eu devo realizar os cinco outros passos:

  1. Subclassing UnicastRemoteObject and calling the UnicastRemoteObject() constructor.
  2. Subclassing UnicastRemoteObject and calling the UnicastRemoteObject(port) constructor.
  3. Subclassing UnicastRemoteObject and calling the UnicastRemoteObject(port, csf, ssf) constructor.
  4. Calling the exportObject(Remote, port) method.
  5. Calling the exportObject(Remote, port, csf, ssf) method.

 

E aqui está o código:

import java.rmi.RemoteException;import java.rmi.server.UnicastRemoteObject;import static java.rmi.server.UnicastRemoteObject.exportObject;import java.sql.*;        public class Implementacao extends UnicastRemoteObject implements Interfacebd {    public Implementacao() throws RemoteException{       super();    }            public Connection conexao() throws RemoteException{       //String servidor = "jdbc:mysql://127.0.0.1:3306/";       String servidor = "jdbc:mysql://localhost/agenda";       String nomebanco = "usuario";       String usuario = "root";       String senha = "";       String driver = "com.mysql.jdbc.Driver";           String url = servidor + nomebanco + "&user=" + usuario + "&password=" + senha;              try{          Class.forName(driver).newInstance();          Connection con = DriverManager.getConnection(url, usuario, senha);          return con;       }catch(SQLException ex){          System.out.println(ex.getMessage());          return null;       }catch(Exception e){          System.out.println(e.getMessage());          return null;       }      }    @[member="override"]    public String consultanome(int sid) throws RemoteException {        String s = null;        try{        Connection myconn = conexao();        Statement comando = myconn.createStatement();        ResultSet rs = comando.executeQuery("SELECT * FROM usuario WHERE id= " + sid);           while (rs.next()){            s = (rs.getString(2));           }        rs.close();        comando.close();        myconn.close();        return s;        }        catch(SQLException ex){           System.out.println(ex.getMessage());           return null;        }        catch(Exception e){           System.out.println(e.getMessage());           return null;        }    }    @[member="override"]    public String consultaemail(int sid) throws RemoteException {        String s = null;        try{        Connection myconn = conexao();        Statement comando = myconn.createStatement();        ResultSet rs = comando.executeQuery("SELECT * FROM usuario WHERE id= " + sid);           while (rs.next()){            s = (rs.getString(3));           }        rs.close();        comando.close();        myconn.close();        return s;        }        catch(SQLException ex){           System.out.println(ex.getMessage());           return null;        }        catch(Exception e){           System.out.println(e.getMessage());           return null;        }    }    @[member="override"]    public String consultasenha(int sid) throws RemoteException {        String s = null;        try{        Connection myconn = conexao();        Statement comando = myconn.createStatement();        ResultSet rs = comando.executeQuery("SELECT * FROM usuario WHERE id= " + sid);           while (rs.next()){            s = (rs.getString(4));           }        rs.close();        comando.close();        myconn.close();        return s;        }        catch(SQLException ex){           System.out.println(ex.getMessage());           return null;        }        catch(Exception e){           System.out.println(e.getMessage());           return null;        }    }}

Dai nesse caso o que preciso mudar no código e como gerar ele sem utilizar o rmic?!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...