Avatar billede wizdoom Nybegynder
21. oktober 2004 - 11:46 Der er 9 kommentarer

Callback med JMS

Jeg skal have implementeret callback-funktionalitet i et J2EE-projekt, og har i det henseende kigget på JMS, idet dette lader til at være den pæneste løsning.

Problemet er, at jeg synes ikke, at JMS beskriver, hvordan en message når ud til klienterne?

Mere konkret forstiller jeg mig, at J2EE-klienterne skal registrere i en EJB hvilke ændringer i modellaget, som er relevant for den enkelte klient. Når en ændring i modellaget sker, skal EJB'en undersøge, hvilke klienter er interesserede i at blive informeret om denne ændring OG sende ændringen (i form af et objekt af en art) til de interesserede klienter.

Men hvordan når EJB'en ud til klienterne?

J2EE-serveren, der benyttes, er Trifork.
Avatar billede arne_v Ekspert
21. oktober 2004 - 12:06 #1
JMS er et interface og beskriver derfor ikke noget om den underliggende implementation.

Det er meget nemt at putte noget ind i en message queue via JMS også inde i en J2EE
container.

Spørgsmålet er vel mere hvordan client getter fra samme message kø. Hvis det kun er
et internt message kø system som kommer med Trifork kan det være et problem. IBM MQ
vil ikke være et problem.

Hvis du er på J2EE 1.4 så kunne du overveje en JCA 1.5 outbound adapter i stedet for.
Avatar billede arne_v Ekspert
21. oktober 2004 - 12:28 #2
Hm.

Ved nærmere eftertanke må J2EE 1.3 og JCA 1.0 faktisk være nok.

Sockets vil være noget mere ukompliceret end et større message queue system.
Avatar billede wizdoom Nybegynder
21. oktober 2004 - 16:11 #3
Jamen ... :)

Øhm, no offence Arne, men ovenstående fløj lidt hen over hovedet på mig. Prøver lige en lidt anden approach:

Bi-beholder J2EE-serveren - på en eller anden måde - ikke forbindelsen til en klient? I bekræftende fald, kan man ikke bruge denne forbindelse til at sende data over? Og kan man ikke forestille sig, at tilgå klient-containeren i serveren og udtrække relevante oplysninger herfra? 

Arne, du skal være velkommen til at smide et svar. Din hjælp er påskønnet og brugbar.
Avatar billede arne_v Ekspert
21. oktober 2004 - 16:27 #4
Jeg har forstået jeres setup som:

client app (formentlig Swing)-----EJB på app-server

Og en standard EJB kald er one way. Jeg mener at have set en BEA WebLogic
specific løsning på callback engang.

Så er der forskellige workarounds.

I nævnte den med at EJB'en puttede i en message queue via JMS som cleint
apå så gettede fra. Det er en glimrende løsning udfra en arkitektonisk
betragtning, men der er lige spørgsmålet om software og infrastruktur til det.

Mit forslag var så at EJB'en kaldte en JCA adapter som havde eller lavede
en socket connection til client. Det kræver nemlig ikke at man har en fuld
message queue system kørende.
Avatar billede steel Praktikant
26. oktober 2004 - 11:54 #5
Hmmm, Systematic, EPJ?
Avatar billede arne_v Ekspert
26. oktober 2004 - 11:57 #6
Bruger de Trifork
Avatar billede arne_v Ekspert
26. oktober 2004 - 11:57 #7
(det var et spørgsmål)
Avatar billede steel Praktikant
26. oktober 2004 - 11:59 #8
arne, kunne du ikke kigge på mit spørgsmål - det nyeste i kategorien. Please. :)
Avatar billede arne_v Ekspert
06. november 2004 - 18:00 #9
wizdoom>

Tid at få afsluttet ?

(og et svar fra mig)
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