Y at-il des problèmes connus en utilisant Scala avec Apache Camel?
-
29-09-2019 - |
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.
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
".