Project apixs <project@innovazion.dk> wrote in message
news:9mnpn5$29u$1@sunsite.dk...
> Er der nogen der ved om der i RMI er indbygget en proxy mekainsme der
> begrænser netværkstrafikken og belastningen af serversiden, eller skal man
> selv stå for dette? (hvilket jeg tror man selv skal)
>
> Jeg prøver at illustrere hvad jeg mener med et eksempel:
>
> På en server er der et objekt der er tilgængeligt over RMI.
> En klient kalder en metode på dette objekt der returnerer en stor mængde
> data.
> Der går noget tid hvor server objektet ikke ændres.
> Klienten kalder igen den samme metode på det uændrede objekt:
> - Afvikles metoden på serversiden endnu engang og returnerer den store
> nmængde data over nettet igen?
> eller
> - har klienten en kopi af objektet og spørger nu serversiden om det
> rigtige objekt er ændret, hvilket det ikke er, og derfor kan afvikle
> metoden på klientens kopi uden at forstyrre serveren og belaste nettet?
>
> /Bjarne
>
Hej Bjarne
Jeg tror også, at du har ret. Så vidt jeg lige kan se er der
grundlæggende to forskellige løsninger, som du kan bruge:
* (svært) Enten kan du selv udvide rmi, så den opfører sig som du ønsker.
* (let) Ellers kan du lave en ekstra metode på serveren der returner
indholdet af en variabel (long), der bliver ændret hver gang objektet på
serversiden bliver ændret. Derved er det klientens opgave selv at cache
indholdet og så bruge dette hvis objektet (på serversiden) ikke er ændret
siden sidst.
--
Mikkel Bundgaard
RUC Datalogi
http://officehelp.gone.dk
Se SpaceCommunicator - en peer-to-peer chat-applikation i Java