renatopPJ 12 de out. de 2004
New__Radical,
Ja tinha tentado … mas apresenta o erro abaixo:
java . lang . ClassCastException : cannot assign instance of CLocadoraImpl_Stub to field CLocadoraImpl $ Cliente . this $ 0 of type CLocadoraImpl in instance of CLocadoraImpl $ Cliente
at java . io . ObjectStreamClass $ FieldReflector . setObjFieldValues ( ObjectStreamClass . java : 1840 )
at java . io . ObjectStreamClass . setObjFieldValues ( ObjectStreamClass . java : 1062 )
at java . io . ObjectInputStream . defaultReadFields ( ObjectInputStream . java : 1851 )
at java . io . ObjectInputStream . readSerialData ( ObjectInputStream . java : 1769 )
at java . io . ObjectInputStream . readOrdinaryObject ( ObjectInputStream . java : 1646 )
at java . io . ObjectInputStream . readObject0 ( ObjectInputStream . java : 1274 )
at java . io . ObjectInputStream . readObject ( ObjectInputStream . java : 324 )
at java . util . ArrayList . readObject ( ArrayList . java : 548 )
at sun . reflect . NativeMethodAccessorImpl . invoke0 ( Native Method )
at sun . reflect . NativeMethodAccessorImpl . invoke ( NativeMethodAccessorImpl . java : 39 )
at sun . reflect . DelegatingMethodAccessorImpl . invoke ( DelegatingMethodAccessorImpl . java : 25 )
at java . lang . reflect . Method . invoke ( Method . java : 324 )
at java . io . ObjectStreamClass . invokeReadObject ( ObjectStreamClass . java : 824 )
at java . io . ObjectInputStream . readSerialData ( ObjectInputStream . java : 1746 )
at java . io . ObjectInputStream . readOrdinaryObject ( ObjectInputStream . java : 1646 )
at java . io . ObjectInputStream . readObject0 ( ObjectInputStream . java : 1274 )
at java . io . ObjectInputStream . readObject ( ObjectInputStream . java : 324 )
at sun . rmi . server . UnicastRef . unmarshalValue ( UnicastRef . java : 297 )
at sun . rmi . server . UnicastRef . invoke ( UnicastRef . java : 146 )
at CLocadoraImpl_Stub . pesquisarCliente ( Unknown Source )
at ClPesquisaGeral $ ClickButton . actionPerformed ( ClPesquisaGeral . java : 138 )
at javax . swing . AbstractButton . fireActionPerformed ( AbstractButton . java : 1764 )
at javax . swing . AbstractButton $ ForwardActionEvents . actionPerformed ( AbstractButton . java : 1817 )
at javax . swing . DefaultButtonModel . fireActionPerformed ( DefaultButtonModel . java : 419 )
at javax . swing . DefaultButtonModel . setPressed ( DefaultButtonModel . java : 257 )
at javax . swing . plaf . basic . BasicButtonListener . mouseReleased ( BasicButtonListener . java : 245 )
at java . awt . Component . processMouseEvent ( Component . java : 5134 )
at java . awt . Component . processEvent ( Component . java : 4931 )
at java . awt . Container . processEvent ( Container . java : 1566 )
at java . awt . Component . dispatchEventImpl ( Component . java : 3639 )
at java . awt . Container . dispatchEventImpl ( Container . java : 1623 )
at java . awt . Component . dispatchEvent ( Component . java : 3480 )
at java . awt . LightweightDispatcher . retargetMouseEvent ( Container . java : 3450 )
at java . awt . LightweightDispatcher . processMouseEvent ( Container . java : 3165 )
at java . awt . LightweightDispatcher . dispatchEvent ( Container . java : 3095 )
at java . awt . Container . dispatchEventImpl ( Container . java : 1609 )
at java . awt . Window . dispatchEventImpl ( Window . java : 1590 )
at java . awt . Component . dispatchEvent ( Component . java : 3480 )
at java . awt . EventQueue . dispatchEvent ( EventQueue . java : 450 )
at java . awt . EventDispatchThread . pumpOneEventForHierarchy ( EventDispatchThread . java : 197 )
at java . awt . EventDispatchThread . pumpEventsForHierarchy ( EventDispatchThread . java : 150 )
at java . awt . EventDispatchThread . pumpEventsForHierarchy ( EventDispatchThread . java : 140 )
at java . awt . Dialog . show ( Dialog . java : 538 )
at ClPesquisaGeral .< init >( ClPesquisaGeral . java : 122 )
at ClCliente $ ClickButton . actionPerformed ( ClCliente . java : 158 )
at javax . swing . AbstractButton . fireActionPerformed ( AbstractButton . java : 1764 )
at javax . swing . AbstractButton $ ForwardActionEvents . actionPerformed ( AbstractButton . java : 1817 )
at javax . swing . DefaultButtonModel . fireActionPerformed ( DefaultButtonModel . java : 419 )
at javax . swing . DefaultButtonModel . setPressed ( DefaultButtonModel . java : 257 )
at javax . swing . plaf . basic . BasicButtonListener . mouseReleased ( BasicButtonListener . java : 245 )
at java . awt . Component . processMouseEvent ( Component . java : 5134 )
at java . awt . Component . processEvent ( Component . java : 4931 )
at java . awt . Container . processEvent ( Container . java : 1566 )
at java . awt . Component . dispatchEventImpl ( Component . java : 3639 )
at java . awt . Container . dispatchEventImpl ( Container . java : 1623 )
at java . awt . Component . dispatchEvent ( Component . java : 3480 )
at javax . swing . plaf . basic . BasicInternalFrameUI $ GlassPaneDispatcher . retargetMouseEvent ( BasicInternalFrameUI . java : 1407 )
at javax . swing . plaf . basic . BasicInternalFrameUI $ GlassPaneDispatcher . forwardMouseEvent ( BasicInternalFrameUI . java : 1340 )
at javax . swing . plaf . basic . BasicInternalFrameUI $ GlassPaneDispatcher . mouseReleased ( BasicInternalFrameUI . java : 1273 )
at java . awt . Component . processMouseEvent ( Component . java : 5134 )
at java . awt . Component . processEvent ( Component . java : 4931 )
at java . awt . Container . processEvent ( Container . java : 1566 )
at java . awt . Component . dispatchEventImpl ( Component . java : 3639 )
at java . awt . Container . dispatchEventImpl ( Container . java : 1623 )
at java . awt . Component . dispatchEvent ( Component . java : 3480 )
at java . awt . LightweightDispatcher . retargetMouseEvent ( Container . java : 3450 )
at java . awt . LightweightDispatcher . processMouseEvent ( Container . java : 3165 )
at java . awt . LightweightDispatcher . dispatchEvent ( Container . java : 3095 )
at java . awt . Container . dispatchEventImpl ( Container . java : 1609 )
at java . awt . Window . dispatchEventImpl ( Window . java : 1590 )
at java . awt . Component . dispatchEvent ( Component . java : 3480 )
at java . awt . EventQueue . dispatchEvent ( EventQueue . java : 450 )
at java . awt . EventDispatchThread . pumpOneEventForHierarchy ( EventDispatchThread . java : 197 )
at java . awt . EventDispatchThread . pumpEventsForHierarchy ( EventDispatchThread . java : 150 )
at java . awt . EventDispatchThread . pumpEvents ( EventDispatchThread . java : 144 )
at java . awt . EventDispatchThread . pumpEvents ( EventDispatchThread . java : 136 )
at java . awt . EventDispatchThread . run ( EventDispatchThread . java : 99 )
renatopPJ 12 de out. de 2004
Aí esta a classe cliente, classe interface e
classe servidora …
// Classe Cliente
private class ClickButton implements ActionListener
{
java . sql . ResultSet result ;
List lista = new ArrayList ();
public void actionPerformed( ActionEvent e )
{
if (e.getSource() == bt1) {
try {
CLocadora obj = (CLocadora) Naming.lookup("<a href= "//localhost/CLocadoraServer" > //localhost/CLocadoraServer</a> ");
lista = obj.pesquisarCliente();
}
catch (Exception xe){
xe.printStackTrace();
}
}
}
}
// Classe Interface RMI
public interface CLocadora extends java.rmi.Remote {
String sayHello() throws java.rmi.RemoteException;
String sayHello2 () throws java . rmi . RemoteException ;
java . util . List pesquisarCliente () throws java . rmi . RemoteException ;
}
// Classe SERVIDORA
public List pesquisarCliente() throws RemoteException {
conectaBanco ();
List listResultado = new ArrayList ();
Statement statement ;
ResultSet resultSet ;
resultSet = null ;
try {
String query = "SELECT * FROM cliente" ;
statement = connection . createStatement ();
resultSet = statement . executeQuery ( query );
int x = 0 ;
Cliente cl = null ;
while ( resultSet . next ()){
cl = new Cliente ();
cl . cod_cliente = ( resultSet . getInt ( 1 ));
cl . nom_cliente = ( resultSet . getString ( 2 ));
listResultado . add ( cl );
x = x + 1 ;
}
statement . close ();
return listResultado ;
}
catch ( SQLException sqlex ) {
sqlex . printStackTrace ();
return listResultado ;
}
}
brandaosystemPJ 16 de nov. de 2006
cara e só encapsula o resultset em uma interface remota... um exemplo.
a interface
public interface ResultsetRMI extends java . rmi . Remote & #123;
public boolean next & #40;) throws Exception;
& #125;
Classe implementada
public class ImpResultSetRMI extends java . rmi . server . UnicastRemoteObject implements ResultsetRMI & #123;
private java . sql . ResultSet result = null ;
/** Creates a new instance of ImpResultSetRMI */
public ImpResultSetRMI & #40;java.sql.ResultSet result) throws java.rmi.RemoteException {
this . result = result ;
& #125;
public boolean next & #40;) throws Exception {
return result . next & #40;);
& #125;
& #125;
ai você termina de colocar os métodos na interface!!!
New_Radical 12 de out. de 2004
Faça Cliente implementar Serializable.
T+
New_Radical 12 de out. de 2004
Humm… ae já são outros quinheitos!
Dê uma olhadinha na mensagem de erro:
java.lang.ClassCastException: cannot assign instance of CLocadoraImpl_Stub to field CLocadoraImpl$Cliente.this$0 of type CLocadoraImpl in instance of CLocadoraImpl$Cliente.
Tão querendo dar um CAST e não está certo.
Coloca parte do código do actionPerformed aqui pra que nosotros possamos ver o que tu queres fazer.
T+