Diogo,
desculpe a curiosidade, mas qual JVM tem essa limitação?
Abraço,
Diogo,
desculpe a curiosidade, mas qual JVM tem essa limitação?
Abraço,
Pessoal,
Gostaria da ajuda de vcs para poder dividir a classe DataServerImpl. Não vejo como separá-la, pois o compilador, pára gerar os Stubs e Skels (dessa DataServerImpl) requisita que a mesma extenda java.util.remote ou que implemente uma classe que extenda Remote -me corrijam se eu estiver errado.
A necessidade é devido a limitação (da jvm) do tamanho da classe/método, que é de 64k,.
Tenho uma classe DataServer que extende java.rmi.Remote. Essa classe tem 890 linhas, com métodos parecidos com os abaixo:
public interface DataServer extends Remote {
public List<M01APGDOM > findM01APG(M01APGDOM apgDom) throws Exception;
public List<M01PCGDOM > findM01PCG(M01PCGDOM pcgDom) throws Exception;
//...
public M01APGDOM inserir(M01APGDOM apgDom) throws Exception;
public M01PCGDOM inserir(M01PCGDOM pcgDom) throws Exception;
//...
public void alterar(M01APGDOM apgDom) throws Exception;
public void alterar(M01PCGDOM pcgDom) throws Exception;
//...
public void remover(M01APGDOM apgDom) throws Exception;
public void remover(M01PCGDOM pcgDom) throws Exception;
E a bandida, DataServerImpl, com 2052 linhas.
public class DataServerImpl extends UnicastRemoteObject implements DataServer {
private M01APGDAO M01APGDAO = new M01APGDAO();
private M01PCGDAO M01PCGDAO = new M01PCGDAO();
//...
public DataServerImpl() throws RemoteException {
super();
}
public List<M01APGDOM > findM01APG(M01APGDOM apgDom) throws Exception {
return M01APGDAO.findM01APG(empDom);
}
public List<M01PCGDOM> findM01PCG(M01PCGDOM pcgDom) throws Exception {
return M01PCGDAO.findM01PCG(pcgDom);
}
//...
public M01APGDOM inserir(M01APGDOM apgDom) throws Exception {
return M01APGDAO.inserir(ajudaDom);
}
public M01PCGDOM inserir(M01PCGDOM pcgDom) throws Exception {
return M01PCGDAO.inserir(pcgDom);
}
//...
public void alterar(M01APGDOM apgDom) throws Exception {
M01APGDAO.alterar(ajudaDom);
}
public void alterar(M01PCGDOM pcgDom) throws Exception {
M01PCGDAO.alterar(pcgDom);
}
//...
public void remover(M01APGDOM apgDom) throws Exception {
M01APGDOM.remover(apgDom);
}
public void remover(M01PCGDOM pcgDom) throws Exception {
M01PCGDAO.remover(pcgDom);
}
Obrigado!
Diogo,desculpe a curiosidade, mas qual JVM tem essa limitação?
Abraço,
O que parece é que a especificação ocorreu desde a primeira versão do Java.
4.10 Limitations of the Java Virtual Machine
Java Primeira Edição
http://java.sun.com/docs/books/jvms/first_edition/html/ClassFile.doc.html#6253
Java Segunda Edição
http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#88659
É uma interface DataServer e uma classe DataServerImpl que implementa o DataServer.
Eu preciso “quebrar” esta DataServerImpl separando seus métodos, por exemplo, para métodos de consulta, eu criaria uma DataFindImpl.
Valeu