IPC in Java?



  • Gibt es in Java eine spezielle IPC-Library (Interprocess Communication)? Leider gurken wir hier noch auf Java 1.4 rum, und kurzfristig gibt es auch keine Möglichkeit auf 1.5 umzusteigen. Sonst hätte ich mir gedacht, ich benutze D-BUS von freedesktop.org. Deren Implementierung ist aber nur für Java 1.5+.

    Wir haben uns zwar was rudimentäres gebastelt, um zwischen Eclipse-Plugins IPC machen zu können, aber ich würde schon gerne was "fertiges" und bekanntes einsetzen. Es reicht, wenn es nur zwischen Java-Applikationen möglich wäre (die evtl. in unterschiedlichen JVMs laufen).

    Kennt da jemand etwas?



  • Hallo Artchi,

    ohne Eure konkrete Problemstellung und Infrastruktur zu kennen, hier ein paar Vorschläge:
    - RMI, IIOP und Sockets findest du in der SDK
    - XML-RPC und Webservices: http://java.sun.com/webservices/
    - Grid-Computing API: http://www.jppf.org/

    Vielleicht ist was Interessantes für dich dabei.

    Schöne Grüsse,
    Marcel



  • Artchi schrieb:

    Gibt es in Java eine spezielle IPC-Library (Interprocess Communication)? [...] Es reicht, wenn es nur zwischen Java-Applikationen möglich wäre (die evtl. in unterschiedlichen JVMs laufen).

    Dann scheint RMI genau das zu sein, was Du suchst. Damit kannste verschiedene JVMs miteiander kommunizieren lassen (verteiltes Objektsystem). Ist also die java-eigene RPC Umsetzung...



  • Wir haben uns zwar was rudimentäres gebastelt, um zwischen Eclipse-Plugins IPC machen zu können, aber ich würde schon gerne was "fertiges" und bekanntes einsetzen. Es reicht, wenn es nur zwischen Java-Applikationen möglich wäre (die evtl. in unterschiedlichen JVMs laufen).

    Sind es jetzt "normale" Java Anwendungen oder doch Eclipse Plugins, zwischen denen du kommunizieren willst?



  • RMI ist vermutlich das, was du suchst. Ist praktisch das Benutzen einer Schnittstelle (Methoden-Definitionen), wo der aufgerufene sich nicht im selben Prozess befinden muss (aber kann) und auf blöd auch nicht auf dem selben Computer (aber kann).

    Aber IPC ist ein sehr allgemein gefasster Begriff. RMI entspricht in etwa RPC, dann gibt's natürlich Sockets, Pipes, ... also wäre es gut, den Anwendungsfall zu kennen.


Anmelden zum Antworten