Wie sollte ich laufen, NodeJS von einer Java-Anwendung?

Ich Schreibe eine Java-Bibliothek, die eigentlich eine Clojure-Bibliothek, aber für diese Frage, worauf es ankommt, ist, dass es läuft auf der JVM. Diese Bibliothek benötigt zur Ausführung JavaScript. Ich habe versucht, mit Nashorn aber ich stoßen einige Einschränkungen, die möglicherweise zu schwer zu überwinden. Als alternative, ich will versuchen, NodeJS.

Möchte ich meine Bibliothek zu eigenständig, um nicht abhängig vom system ausgeführt NodeJS-unabhängig und benötigen deshalb eine Besondere deployment-Mechanismus die Java und NodeJS-Artefakte an den richtigen stellen hochgehoben werden, die durch die zwei verschiedene Netzwerk-Server. Dieser Ansatz, obwohl, bringt einige Probleme.

Werde ich sprechen NodeJS über HTTP, aber ich will nicht NodeJS so öffnen Sie einen bestimmten port. Ich möchte eine zufällige unbenutzt ein, so gibt es keine Kollisionen. Ich will auch kontrollieren, wo die Protokolle von NodeJS gehen, wie Sie zu halten mit dem rest meiner Bewerbung. Schließlich, meine app sollte in der Lage sein zu erkennen, wenn NodeJS abgestürzt und starten Sie es erneut oder melden einen Fehler mit Informationen.

Was ist der beste Weg, dies zu nähern? Gibt es irgendwelche Java-Bibliotheken zum verwalten der Kind-Prozess in dieser Art und Weise? Etwas bestimmtes, das ich tun soll, von der NodeJS-Seite (ich bin sehr neu in NodeJS, ich habe es nie benutzt, bevor).

Ich nehme an, es hängt davon ab, wie Ihre Bibliothek ist zum Verzehr bestimmt, aber mit einer Bibliothek starten, eine Schwergewichts-server-Prozess, um das zu vollbringen Ihr Werk scheint wie ein code smell.
Haben Sie schon von avatar? Ich hatte auch einige Probleme, wo ich nicht einige nodejs-Module, aber avatar füllte die Lücke : strongloop.com/strongblog/...
Nur um einzugrenzen, die Antwort ein bisschen...was sind die Einschränkungen, denen Sie begegnen, genau? Server-side-scripting mit nashorn ist das hinzufügen von 6ms auf die avg. Reaktionszeit in Ihrem Beitrag am Ende, also ich denke die Leistung ist nicht einer von Ihnen

InformationsquelleAutor pupeno | 2015-09-16

Schreibe einen Kommentar