Frage

Ich weiß, dass es eine unterstützte Scala DSL für Camel. Abgesehen davon, dass

  • Ist es realistisch, ein Kamel durchs Nadelöhr basiertes Projekt von Scala Java (die Sprache) vollständig zu ersetzen?

  • Welche Art von bekannten Probleme sind bekannt existieren?

  • Welche Abhilfen für diese Probleme existieren (andere als die Verwendung von Java)?

Ich bin vor allem für weniger boilerplaty Code suchen.

War es hilfreich?

Lösung

Akka bietet stabile Scala-idiomatische Camel Integration .

  

Das akka-Kamel-Modul ermöglicht Schauspieler,   untypisierten Schauspieler und tippte Akteure   empfangen und Nachrichten über einen großen senden   Vielzahl von Protokollen und APIs. Dies   Abschnitt gibt einen kurzen Überblick über die   allgemeine Ideen hinter dem akka-Kamel   Modul, bleiben die übrigen Teile gehen in   die Details. Neben der nativen   Scala und Java Schauspieler API können Akteure   Jetzt tauschen Nachrichten mit anderen   Systeme über große Anzahl von protcols   und APIs wie HTTP, SOAP, TCP, FTP,   SMTP oder JMS, um nur einige zu nennen. Bei der   Moment, etwa 80-Protokolle und   APIs werden unterstützt.

Abgesehen davon, dass ich bin sicher, dass dieser Austausch ist möglich, durch eine gute Interop, und es kaum Scala spezifischen Probleme sein könnte, die nicht typisch für Java. Z. B. Schauspieler Akka verwendet für die Veröffentlichung zu / raubend von Camel-Endpunkten auf java.util.concurrency basieren, und das einzige Problem, das ich denken kann, ist ein fixierbar Fehler in der Bibliothek.

Andere Tipps

In der Zwischenzeit eine relativ einfache Scala DSL ist für Camel entwickelt, , die haben sollte die Funktionalität des Java DSL .

Um zu entscheiden, ob es für Sie realistisch ist, betrachten:
 - Die Qualität der IDE-Unterstützung für die Sprachen in  - Die Scala Sprache Komplexität
 - Die Popularität Scala / Java-Sprache
 - DSL Erweiterungsmöglichkeiten. In Scala, sollte es möglich sein (mit etwas Scala Magie), um die DSL zu erweitern (fügen Sie zusätzliche DSL-Elemente)

Wenn Sie sich entscheiden, es zu versuchen, wäre es toll, wenn Sie Ihre Erfahrungen mit der Community Apache Camel teilen Sie Ihre Eindrücke auf:  code readability, code maintainability, code efficiency, developer satisfaction, code size, die Anzahl der "man-days".

Seitdem (2010-2011), gibt es jetzt (September 2016) eine neue Initiative namens für Akka Streams Integration, Codename Alpakka .

Wir glauben, dass Akka Streams das Werkzeug für den Aufbau einer modernen Alternative sein kann, um Apache Camel . Das wird für sich allein nicht über Nacht geschehen, und dies ist ein Aufruf für Arme für die Gemeinde uns an dieser Mission teilzunehmen. Der größte Vorteil von Camel ist sein umfangreicher Satz von Endpunktkomponenten . Wir möchten sehen, dass ähnliche Endpunkte für Akka Streams entwickelt werden.

Siehe " akka/akka-stream-contrib ".

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top