Diky za tip,

zkousel jsem tomu pridavat nejaka rozhrani a predky...
a takhle se zda ze to funguje...
hlavne to chtelo zrejme pridat UnicastRemoteObject,

----------------

Objekt:
public class Objekt1Implementation extends UnicastRemoteObject implements 
Objekt1Interface, Remote



    protected Objekt1Implementation(int port) throws RemoteException {
        super(port);
    }



---------------
Metoda getujici objekt:

    @Override
    public 
  Objekt1Interface getObjekt1() {
        
  return (Objekt1Interface ) new Objekt1Implementation(port);
    
      
    }


Subject: RE: RMI - Facade
Date: Mon, 30 Mar 2009 10:56:50 +0200
From: [email protected]
To: [email protected]












Zdravim,
 
 Uz je 
to nejaky ten patek co jsem naposledy delal s RMI, ale myslim ze by melo stacit 
pridat  implements java.rmi.Remote (k tomu 
Objekt1Impl).
Ovsem 
nevylucuji, ze bude nutne provest jeste nejake dalsi figle.
 
Kamil 
Podlesak

  -----Original Message-----
From: 
  [email protected] [mailto:[email protected]]on Behalf Of 
  Lukáš Kinc
Sent: Saturday, March 28, 2009 9:00 PM
To: 
  [email protected]
Subject: RMI - 
  Facade

Zdravim,

vytvarim aplikaci klient-server s 
  pouzitim RMI a abych nemel desitky metod na vystavenem rozhrani, chtel jsem 
  tyto metody zaobalit do objektu a volat je az pres ne:


public class 
  TridaImplementation extends UnicastRemoteObject implements 
  Trida{
    
    public 
  TridaImplementation(int port) throws RemoteException{
    
      super(port);
    
  }

    @Override
    public 
  Objekt1Interface getObjekt1() {
        
  return (Objekt1Interface ) new Objekt1Implementation();
    
      
    }


    
  @Override
    public void getObjekt2() 
  {
        ...
    
      
    }

}

public class 
  Objekt1Implementation implements Objekt1Interface {

    
  @Override
    public String metoda11() 
  {
        ...
    
      return string;
    }
}

Bohuzel 
  jsem zjistil, coz je i celkem logicke, ze kdyz klient takto dostane objekt a 
  zavola na nem metodu (referenceNaRozhrani.getObjekt1().metoda11();), tak mu 
  server posle vsechny objekty, se kterymi potrebuje pracovat ta volana metoda, 
  aby si tu cinnost provedl sam klient, cimz mi defakto protuneluje celou 
  aplikacni logiku. Chtel bych ale, aby mi server na klient poslal pouze 
  navratovou hodnotu te metody (v mem prikladu by to byl String string) tak, 
  jako by to udelal kdybych pouzil jedno-tridovou fasadu:

public class 
  TridaImplementation extends UnicastRemoteObject implements 
  Trida{
    
    public 
  TridaImplementation(int port) throws RemoteException{
    
      super(port);
    
  }

    @Override
    public String 
  metoda11() {
        
  ...
        return 
  string;
    }

}

Je mozne to nejak jednoduse 
  vyresit nebo se budu muset spokojit pouze s tou jednou 
  tridou?


Lukáš Kinc



  
  Stáhněte si zcela nový Messenger 2009! Klikni zde! 

_________________________________________________________________
Pozvi své přátele z Facebooku a Hotmailu do Messengeru!
https://www.invite2messenger.net/Default.aspx

Odpovedet emailem