Olá pessoal,
Tenho um sistema que já utiliza rmi para executar uma carga em uma tabela com informações de um arquivo texto.
Estou criar um novo sistema, no netbeans, mas dessa vez não criei tudo no mesmo pacote, estou criando em pacotes diferentes.
Na minha pasta generico tenho a minha interface com o rmi com o seguinte código:
public interface java_rmi_interf extends java.rmi.Remote {
public String param(int p1, String p2, String p3, String p4, int p5) throws java.rmi.RemoteException;
}
No meu sistema no pacote telas, tenho um JFrame com o nome de frmListarRelat com a seguinte implementação:
java_rmi_interf c = (java_rmi_interf) Naming.lookup("rmi://192.168.1.3:8080/RMI_Service");
Compilei na mão a minha Implementação e gerou o Stub.class. Quando estou testando todas as classes no mesmo pacote funciona, mas quando começo a trabalhar com pacote dá o seguinte erro:
run:
java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.lang.ClassNotFoundException: java_rmi_impl_Stub (no security manager: RMI class loader disabled)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Naming.java:84)
at br.marata.visualiza.telas.frmListarRelat.startRmi(frmListarRelat.java:95)
at br.marata.visualiza.telas.frmListarRelat.btVisualizaActionPerformed(frmListarRelat.java:283)
at br.marata.visualiza.telas.frmListarRelat.access$000(frmListarRelat.java:45)
at br.marata.visualiza.telas.frmListarRelat$1.actionPerformed(frmListarRelat.java:190)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6216)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5981)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4583)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: java_rmi_impl_Stub (no security manager: RMI class loader disabled)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:375)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)
at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
... 32 more
CONSTRUÍDO COM SUCESSO (tempo total: 12 segundos)
Já coloquei a classe Stub no pacote generico junto com a minha classe da interfase e mesmo assim não funciona, continua dando o mesmo erro.
A minha outra aplicação tá rodando sem problema, está acessando o meu servidor RMI sem apresentar nenhum erro. A única diferença e a forma de organizar o projeto, o que funciona as classes estão tudo na mesma pasta e esse outro em pasta, pacotes, diferentes.
Grato
Josenias