Domanda

So che c'è un DSL Scala supportato per Camel. A parte che

  • È realistico per sostituire Java (la lingua) completamente Scala per un progetto basato cammello?

  • Che tipo di problemi noti sono noti per esistere?

  • Quali soluzioni alternative esistono per quei problemi (tranne usando Java)?

Sono principalmente alla ricerca di meno codice boilerplaty.

È stato utile?

Soluzione

Akka offerte stabile Scala-idiomatica Camel integrazione.

  

Il modulo Akka-cammello consente attori,   attori non tipizzati e attori digitato a   ricevere e inviare messaggi su un grande   varietà di protocolli e API. Questo   sezione fornisce una panoramica breve del   idee generali dietro l'Akka cammella   modulo, le sezioni restanti vanno in   i dettagli. Oltre al nativo   Scala e attore API Java, attori possono   ora scambiare messaggi con altri   sistemi più gran numero di Protcols   e API come HTTP, SOAP, TCP, FTP,   SMTP o JMS, per citarne alcuni. Al   momento, di circa 80 protocolli e   Sono supportate le API.

A parte questo, sono sicuro che questa sostituzione è possibile grazie ad una buona interoperabilità, e ci non potrebbe essere eventuali problemi Scala-specifiche che non sono proprie di Java. Per esempio, Attori Akka utilizzati per la pubblicazione / consumare dagli endpoint Camel si basano su java.util.concurrency, e l'unico problema che posso pensare è un bug risolvibile nella biblioteca.

Altri suggerimenti

Nel frattempo relativamente semplice Scala DSL è stato sviluppato per Camel , che dovrebbe avere la funzionalità del Java DSL .

Per decidere se è realistico per voi, prendere in considerazione:
 - La qualità della il supporto IDE per le lingue in  - La Scala lingua complessità
 - La Scala / Java lingua popolarità
 - possibilità di ampliamento DSL. In Scala, dovrebbe essere possibile (con qualche magia Scala) per estendere il DSL (DSL aggiungere elementi aggiuntivi)

Se si decide di provarlo, sarebbe bello se condividere la tua esperienza con la comunità Apache Camel le vostre impressioni su:  code readability, code maintainability, code efficiency, developer satisfaction, code size, il numero di "man-days".

Da allora (2010-2011), v'è ora (settembre 2016) una recente iniziativa denominata per Akka Streams integrazione, nome in codice Alpakka .

Noi crediamo che Akka stream può essere lo strumento per la costruzione di una moderna alternativa agli Apache Camel . Questo non accadrà da solo durante la notte e questo è un invito a presentare le armi per la comunità a unirsi a noi in questa missione. La più grande risorsa di Camel è la sua ricca serie di endpoint componenti . Vorremmo vedere che gli endpoint simili sono sviluppati per Akka Streams.

vedi " akka/akka-stream-contrib ".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top