Avatar billede dat01x02 Nybegynder
16. marts 2003 - 23:44 Der er 5 kommentarer og
1 løsning

Observer pattern i EJB, mellem SessionFacade og Client?

Jeg har brug for at lave et Observer pattern, hvor min SessionFacade extender Observerable og min applications klient implementere Observer, men hvordan?
Når sessionFacaden skal notifyObservers(), ved den jo ikke hvor klienterne er, jeg kan jo ikke lave lookup på en applications klient! Klienten er vel nød til også at extende Remote(rmi)?
/ Michael
Avatar billede arne_v Ekspert
17. marts 2003 - 08:09 #1
Det kan ikke lade sig gøre med:
  browser----JSP/servlet----session EJB----entity EJB----database

Muligvis kan det lade sig gøre med:
  client app----session EJB----entity EJB----database

Men det man normalt forstå ved EJB Observer Patterne er mellem EJB'er:
  http://www.theserverside.com/resources/article.jsp?l=ObserverPattern

Man kan selvfølgelig laver noget poll, men det er jo ikke
kønt.

For rigtig callback se:
  http://forum.java.sun.com/thread.jsp?forum=13&thread=338652
  http://archive.devx.com/upload/free/features/javapro/2000/03mar00/mm0003/mm0003.htm

Så vidt jeg kan læse mig til er der 2 muligheder:
1)  Bruge JMS
2)  Lave noget RMI eller CORBA fusk

Det lyder som om JMS løsningen er langt den pæneste.
Avatar billede dat01x02 Nybegynder
17. marts 2003 - 09:10 #2
Det skal bruges til at informere applications klienten om, at der er kommet en ny ordre til i databasen. Ikke at der i en eksisterende ordre er sket ændringer(det var jo det med "NumberVersionPattern").
Det smarteste er jo nok at lave en tråd på klienten der med mellemrum spørger EJB serveren om der er kommet nye ordre til.
/ Michael
Avatar billede arne_v Ekspert
17. marts 2003 - 09:50 #3
Aha. Jeg undrede mig også lidt.

Poll er uden tvivl langt det nemmeste at implementere.

JMS er dog stadig et alternativ.
Avatar billede dat01x02 Nybegynder
17. marts 2003 - 10:23 #4
med Poll med du ??
/ Michael
Avatar billede arne_v Ekspert
17. marts 2003 - 10:34 #5
poll = periodisk check

(den løsning som du også selv er kommet frem til)

Det er næsten altid en nem løsning at implementere.

Men den er ret dyr resource mæssigt hvis der skal opdateres
tit. Det er ikke noget problem at polle en gang i minuttet.
Det vil være et problem at polle hver 10. millissekund.
Avatar billede dat01x02 Nybegynder
17. marts 2003 - 10:36 #6
ja, det blive med et par minutters mellemrum.
/ Michael
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester