2016-07-19 19 views
0

Ich habe ein File-Transfer-Routing in Apache Camel entwickelt. Ich möchte Jetty Server in dieses Projekt einbetten, damit ich den Dienst weiter betreiben kann, ohne ihn auf einem anderen Server zu installieren. Es wird sehr hilfreich sein, wenn jemand etwas Code einfügen kann.Embedding Anlegesteg für Apache Camel

Vielen Dank.

+0

Überprüfen Sie diese Ressource http://blog.kopis.de/2015/06/14/microservices-with-apache-camel/ vielleicht wird es Ihre Bedürfnisse beantworten. Allerdings - vielleicht sollten Sie klar sein, was Sie unter "Projekt" verstehen. – gusto2

+0

Fragen Sie, wie Sie dies als eigenständiges Programm ausführen, das von seiner Hauptfunktion() aus gesteuert wird? dh wie auf dieser Camel-Seite beschrieben: http://camel.apache.org/running-camel-standalone-and-have-it-keep-running.html –

Antwort

-1

Sie haben 2 Möglichkeiten, sie sind sehr beliebt:

  1. Verwenden Maven Kamel: run-Plugin, müssen Sie einfach diese Datei in Ihrem pom aktivieren und den Befehl ausführen. (Ich bin nicht sicher, ob sie Jetty intern verwenden, aber es funktioniert)

  2. Spring Boot, Es ist ziemlich einfach, ein Projekt heutzutage zu erstellen, mit dem Webportal.

  3. Es gibt eine weitere Maven Plugin als auch für Jetty, die MVN Anlegestelle ist: run

+0

Es ist eine schlechte Übung, Ihr Build-System zum Ausführen Ihrer Anwendung zu verwenden in Produktion. –

+0

Ja, aber es hängt auch davon ab, wie es benutzt wird. Es gibt Projekte, die diese Option in der Produktion verwenden, es hängt von der Empfindlichkeit des Anwendungsfalls ab und davon, wie es ausgeführt wird. Deshalb habe ich auch den Spring-Boot erwähnt. – gnanagurus

+0

Ja, ich habe auch Systeme mit DB-Tabellen mit einer Million Datensätze mit und keine Primärschlüssel oder Indizes für eine der Abfragen gesehen. Die Tatsache, dass sich jemand dafür entscheidet, ein schlechtes Design zu akzeptieren und einen schlechten Praxisansatz zu akzeptieren, sollte niemals bedeuten, dass es in Ordnung ist, diese Art von Verhalten zu fördern :) Und während Spring Boot und Camel für eine tolle Kombination sorgen, läuft Camel mit Spring Boot nicht können Sie Jetty in Ihre App einbetten. –

0

Sie Camel's Jetty component verwenden sollten, und ein Verbraucher erklären, die automatisch eine eingebettete Jetty bringen wird:

from("jetty:http://localhost:{{port}}/myapp/myservice") 
    .process(new MyProcessor()); 
+0

Wo werden Sie diesen Code bereitstellen? Ich meine, wie willst du diesen Code ausführen?Seine ultimative Frage ist das :) – gnanagurus

+0

Die Frage war, wie man einen eingebetteten Jetty in ein Camel-Projekt einbaut, nicht wie man ihn ausführt oder einsetzt. –

+0

Möglicherweise habe ich es falsch interpretiert, indem ich diese Anweisung gelesen habe - "damit ich den Dienst am Laufen halten kann, ohne ihn auf einem anderen Server zu installieren" – gnanagurus