Question

Je sais qu'il ya une connexion DSL Scala pris en charge pour Camel. En dehors de cela

  • Est-il réaliste de remplacer Java (la langue) complètement par Scala pour un projet basé Camel?

  • Quel type de problèmes connus sont connus pour exister?

  • Quelles solutions de contournement existent pour ces problèmes (autres que l'utilisation de Java)?

Je cherche principalement pour moins de code de boilerplaty.

Était-ce utile?

La solution

Akka offre stable Scala-idiomatiques intégration Camel .

  

Le module akka chamelle permet aux acteurs,   les acteurs non typées et acteurs tapés   recevoir et envoyer des messages sur un grand   variété de protocoles et API. Cette   section donne un bref aperçu de la   idées générales derrière le chameau akka   module, les sections qui restent en service   les détails. En plus du natif   Scala et Java API acteur, les acteurs peuvent   maintenant échanger des messages avec d'autres   systèmes plus grand nombre de protcols   et les API telles que HTTP, SOAP, TCP, FTP,   SMTP ou JMS, pour ne citer que quelques-uns. Au   moment, environ 80 protocoles et   API sont pris en charge.

En dehors de cela, je suis sûr que ce remplacement est possible grâce à une bonne Interop, et il ne pourrait guère y avoir de problèmes spécifiques de-Scala qui ne sont pas propres à Java. Par exemple, les acteurs Akka utilisé pour la publication de / consommation de terminaux Camel sont basés sur java.util.concurrency, et le seul problème que je peux penser est un bug peut être fixé dans la bibliothèque.

Autres conseils

En attendant une relativement simple Scala DSL a été développé pour Camel, qui devrait avoir la fonctionnalité de Java DSL .

Pour décider si elle est réaliste pour vous, pensez à:
 - La qualité du Support IDE pour les langues
 - La complexité linguistique Scala
 - La popularité du langage Scala / Java
 - possibilités d'extension DSL. En Scala, il devrait être possible (avec un peu de magie Scala) pour d'étendre le DSL (ajouter des éléments supplémentaires DSL)

Si vous décidez de l'essayer, ce serait bien si vous partagez votre expérience avec la communauté Camel Apache vos impressions sur:  code readability, code maintainability, code efficiency, developer satisfaction, code size, le nombre de "man-days".

Depuis lors (2010-2011), il est maintenant (septembre 2016), une initiative récente du nom de Akka flux d'intégration, nom de code Alpakka .

Nous croyons AKKA Les flux peuvent être l'outil pour la construction d'une alternative moderne aux Apache Camel . Cela ne se produira pas du jour au lendemain par lui-même, ce qui est un appel d'armes pour la communauté à se joindre à nous dans cette mission. Le plus grand atout de Camel est son riche ensemble de composants . Nous aimerions voir que les paramètres similaires sont développés pour Akka Streams.

Voir " akka/akka-stream-contrib ".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top