/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Trans - JVM event ?
Fra : Soren Kuula


Dato : 27-10-01 00:27

Hej,

Jeg har to Java programmer, der begge skal tilg? en SQL database (MySQL
forresten). Da den ene er en Swing applikation og den anden en servlet, er
der (vel ?) ikke andet at g?re end at afvikle dem under hver sin JVM (jeg
bruger JRUN; er der ander servlet engines der osse kan k?re applikationer
lokalt samtidigt ?)

Nu skal det ene program gerne opdatere sine databaseopslag n?r det andet
laver ?ndringer i basen.

Sp?rgsm?l : Hvad findes der af muligheder for at sende events (eller noget
lignende) fra den ene JVM til den anden ? Eller kan mon JDBC hj?lpe her
(umiddelbart ikke)

Tak.

MVH
S?ren




 
 
Jacob Nordfalk (28-10-2001)
Kommentar
Fra : Jacob Nordfalk


Dato : 28-10-01 11:03

Soren Kuula wrote:
>
> Hej,
>
> Jeg har to Java programmer, der begge skal tilg? en SQL database (MySQL
> forresten). Da den ene er en Swing applikation og den anden en servlet, er
> der (vel ?) ikke andet at g?re end at afvikle dem under hver sin JVM (jeg
> bruger JRUN; er der ander servlet engines der osse kan k?re applikationer
> lokalt samtidigt ?)

Jeg kender ikke JRun, men hvis JDK'en den kører på har Swing-klasserne så
burde du også kunne åbne et grafiskvindue fra servletten (det vil
naturligvis dukke op på maskinen med servletten). Kører du på UNIX skal
du sørge for der er kørt en xhost +localhost på maskinen og at variablen
DISPLAY er sat til :0 i JRuns shell-miljø så den ved hvilken maskine
vinduet skal åbnes på.

Noget andet er om det er hensigstmæssigt, for vinduet vil lukkes når
JRun stoppes.

Jeg ville nok gøre det i to JVM'er af driftshensyn.

> Nu skal det ene program gerne opdatere sine databaseopslag n?r det andet
> laver ?ndringer i basen.
>
> Sp?rgsm?l : Hvad findes der af muligheder for at sende events (eller noget
> lignende) fra den ene JVM til den anden ? Eller kan mon JDBC hj?lpe her
> (umiddelbart ikke)

JDBC er ikke hændelsesorienteret (det ville svare til at JDBC understøttede
triggere), så den kan du ikke bruge.

Ellers er den nemmeste måde at kommunikere mellem to JVM'er RMI - Remote
Method Invocation. Den kan du finde mere om på http://javasoft.com, og en
kort intro på dansk på http://javabog.dk. Bemærk at du nok skal rode med
opsætning et par timer før det virker.

En anden måde er selvfølgelig med Socket-kommunikation mellem de to
processer.


--
Jacob Nordfalk

dongfang xu (29-10-2001)
Kommentar
Fra : dongfang xu


Dato : 29-10-01 13:00

Jacob Nordfalk wrote:

> Jeg kender ikke JRun, men hvis JDK'en den kører på har Swing-klasserne så
> burde du også kunne åbne et grafiskvindue fra servletten (det vil
> naturligvis dukke op på maskinen med servletten). Kører du på UNIX skal
> du sørge for der er kørt en xhost +localhost på maskinen og at variablen
> DISPLAY er sat til :0 i JRuns shell-miljø så den ved hvilken maskine
> vinduet skal åbnes på.

Der står i dokumentationen til JRUN at man ikke kan køre nogen Swing
komponenter under den. Og som du selv nævner ville det sikkert osse være
ustabilt i drift (fejl i GUI delen ville kunne lægge serveren ned)

> JDBC er ikke hændelsesorienteret (det ville svare til at JDBC understøttede
> triggere), så den kan du ikke bruge.

OK, så jeg må i gang med RMI eller sockets .. tak for svaret.

MVH
Dongfang Xu = Søren Kuula


Thorbjørn Ravn Ander~ (30-10-2001)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 30-10-01 15:47

Jacob Nordfalk <nordfalk@mobilixnet.dk> writes:

> du sørge for der er kørt en xhost +localhost på maskinen og at variablen

"xhost +" er generelt en dum ide. Afhængig af situationen kan en
overførsel af nøglen med "xauth", eller brug af ssh, være relevante.

--
Thorbjørn Ravn Andersen "...plus...Tubular Bells!"
http://bigfoot.com/~thunderbear

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste