IPC avec JAVA

IPC avec JAVA - Java - Programmation

Marsh Posté le 05-03-2004 à 10:50:08    


Existe t il un moyen de faire communiquer 2 applications dans 2 JVM qui sont sur la même machine sans passer par des solutions réseau (socket, CORBA?).
Le but est trouver un moyen de partager un gros volume de donnée entre plusieurs applications avec des perf élevées.
Type IPC mémoire partagée dans le monde UNIX.
 
 
 

Reply

Marsh Posté le 05-03-2004 à 10:50:08   

Reply

Marsh Posté le 05-03-2004 à 11:13:08    

benouska a écrit :


Existe t il un moyen de faire communiquer 2 applications dans 2 JVM qui sont sur la même machine sans passer par des solutions réseau (socket, CORBA?).
Le but est trouver un moyen de partager un gros volume de donnée entre plusieurs applications avec des perf élevées.
Type IPC mémoire partagée dans le monde UNIX.


 
Tu n'as pas cette notion car la JVM tourne dans un environnement sécurisé (mémoire dédiée). Tu ne peux donc passer que par un media intermediaire (socket, fichier...)
 

Reply

Marsh Posté le 05-03-2004 à 12:05:45    

Je n'ai jamais mis ça en oeuvre mais j'ai lu dernièrement qu'une des classes du package nio du JDK 1.4 permet de dumper sur disque une zone mémoire contigüe. En faisant pointer tes 2 programmes (chacun dans sa JVM) sur ce fichier disque qui est lui-même une image de la mémoire, tu pourras peut-être réaliser ce que tu veux ? A vérifier...
 
Exemple, ici

Reply

Marsh Posté le 05-03-2004 à 12:40:10    

A mon avis ce sera moins efficace qu'une solution reseau.


Message édité par chapi456 le 05-03-2004 à 12:40:36
Reply

Marsh Posté le 05-03-2004 à 18:13:22    

Y'a toujours moyen de faire quelque chose avec JNI, mais question performances je doute un peu ...
 
Surtout parce que tu ne pourras accéder aux données de ton SHM que via une "copie" locale à chaque JVM (on ne peut pas avoir un "pointeur" sur une zone "native" ).
 
C'est à voir selon ton besoin réel, mais les solutions socket ou autres passeront aussi par des copies, donc ça peut être jouable.
 
Au cas où : java.sun.com/docs/books/tutorial/native1.1/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed