2010-12-29 7 views
0

Nun, wie der Titel sagt, ich möchte das gleiche Java-Programm an mehreren Orten aus der Ferne starten, sagen wir in der Cloud (wie EC2 oder was auch immer). In meinem Fall sind die Apps die RMI-Server, aber wenn ich das erstere machen kann, kann ich das später machen. Ich muss vielleicht vor dem Start bestimmte Dateien oder sogar die Klassendateien kopieren. Ist Capistrano der beste Weg zu gehen, oder gibt es etwas mehr Java für diese Art von Sache.Eine Java App (RMI Server) automatisch an mehreren Orten installieren

Danke.

Antwort

1

HINWEIS: Ich gehe davon aus, dass Sie keine JVM ausführen, wenn Sie starten möchten.

Die typische Art der Kommunikation mit Unix-basierten Servern (wie Linux) ist mit ssh-clients, die Befehle auf einem entfernten Server leicht ausführen können. Ich glaube, Windows hat eine ähnliche Einrichtung, aber ich bin nicht damit vertraut.

Sie werden sehr wahrscheinlich wollen, dass die eigentliche Verwaltung vom Betriebssystem durchgeführt wird, um es robuster zu machen, also müssen Sie dem Betriebssystem nur sagen, dass es den Dienst hoch und runter ziehen soll. Für Windows ist dies der Befehl SC.EXE. Für Ubuntu ist das ein /etc/init.d/foobar Skript.

+0

Danke für die Antwort. Ist Automatisierung mit diesem Szenario möglich? Auf Knopfdruck stellen Sie die Klassen bereit (erstellen Sie die notwendigen Verzeichnisse), führen Sie die JVM mit ihnen aus und beenden Sie sie, wenn Sie fertig sind. Gibt es SSH-Clients, die diese Art von Automatisierung durchführen? – delmet

+0

Sie können Dateien über ssh-Verbindungen kopieren. Am einfachsten ist dies mit dem Befehl 'scp' oder' rsync' (am besten für viele Dateien oder Aktualisierungen). All die Magie, die passieren wird, wenn Sie auf den Knopf drücken, Sie _will_ müssen selbst einpacken. Hier gibt es kein Wundermittel. –

+0

Sie * können * jedoch mehrere Befehle in Ihrem Tastencode haben: 1) rsync Dateien über, 2) führen Sie "java -jar washd.jar" aus und kehren Sie nicht zurück, bis das Programm beendet wird. Ich würde empfehlen, zuerst den RMI-Server zu schreiben, um zu verstehen, wie die Dinge funktionieren. –