2010-11-04 20 views
6

Sé que hay un Scala DSL compatible para Camel. Aparte de eso¿Hay problemas conocidos al usar Scala con Apache Camel?

  • ¿Es realista reemplazar completamente el lenguaje Java por Scala para un proyecto basado en Camel?

  • ¿Qué tipo de problemas conocidos se sabe que existen?

  • ¿Qué soluciones existen para esos problemas (que no sean el uso de Java)?

Principalmente estoy buscando menos código de unidad.

Respuesta

8

Akka ofrece Scala-idiomatic estable Camel integration.

El módulo akka camella permite a los actores, actores sin tipo y mecanografiadas a actores recibir y enviar mensajes a través de una gran variedad de protocolos y APIs. Esta sección ofrece una breve descripción de las ideas generales detrás del módulo akka-camel , las secciones restantes van a los detalles. Además de la API nativa Scala y Java actor, los actores pueden intercambiar mensajes con otros en un gran número de protcols y APIs como HTTP, SOAP, TCP, FTP, SMTP o JMS, por mencionar algunos. En el momento , se admiten aproximadamente 80 protocolos y API.

Aparte de eso, estoy seguro de que este reemplazo es posible debido a una buena interoperabilidad, y difícilmente podría haber problemas específicos de Scala que no sean propios de Java. Por ejemplo, los actores de Akka utilizados para publicar/consumir desde los puntos finales de Camel se basan en java.util.concurrency, y el único problema que se me ocurre es un error que se puede reparar en la biblioteca.

1

Mientras tanto, es relativamente simple Scala DSL has been developed for Camel, that should have the functionality of the Java DSL.

para decidir si es realista para usted, tenga en cuenta:
- La calidad del apoyo IDE para los idiomas
- El lenguaje complejidad Scala
- La popularidad lenguaje Scala/Java
- extensión DSL posibilidades. En Scala, debería ser posible (con algo de magia Scala) extender el DSL (agregar elementos DSL adicionales)

Si decides probarlo, sería genial si compartes tu experiencia con la comunidad Apache Camel sus impresiones en: code readability, code maintainability, code efficiency, developer satisfaction, code size, el número de "man-days".

0

Desde entonces (2010-2011), ahora hay (septiembre de 2016) una iniciativa reciente llamada para la integración de Akka Streams, nombre clave Alpakka.

Creemos que Akka Streams puede ser la herramienta para construir una alternativa moderna al Apache Camel.Eso no sucederá de la noche a la mañana y este es un llamado a las armas para que la comunidad se una a nosotros en esta misión. El mayor activo de Camel es su rico conjunto de endpoint components. Nos gustaría ver que se desarrollen puntos finales similares para Akka Streams.

Ver "akka/akka-stream-contrib".

Cuestiones relacionadas