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
_________________________________________________________________
Pozvi své přátele z Facebooku a Hotmailu do Messengeru!
https://www.invite2messenger.net/Default.aspx