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