我知道Camel支持Scala DSL。除此之外
基于Camel的项目,Scala完全替换Java(该语言)是否现实?
已知存在哪种已知问题?
这些问题存在哪些变通方法(使用Java除外)?
我主要是寻找更少的样板代码。
答案 0 :(得分:8)
Akka提供稳定的Scala-idiomatic Camel integration。
akka-camel模块允许演员, 无类型的演员和键入的演员 通过一个伟大的接收和发送消息 各种协议和API。这个 部分简要概述了 akka-camel背后的一般想法 模块,其余部分进入 细节。除了原生 Scala和Java actor API,演员可以 现在与其他人交换消息 系统超过大量的protcols 和HTTP,如HTTP,SOAP,TCP,FTP, SMTP或JMS,仅举几例。在 时刻,大约80个协议和 支持API。
除此之外,我确信由于良好的互操作性,这种替换是可能的,并且几乎没有任何Scala特定的问题不是Java所特有的。例如,用于向Camel端点发布/使用的Akka Actors基于java.util.concurrency,我能想到的唯一问题是库中的可修复错误。
答案 1 :(得分:1)
与此同时,一个相对简单的Scala DSL has been developed for Camel,that should have the functionality of the Java DSL。
要确定您是否切合实际,请考虑:
- 语言的 IDE支持的质量
- Scala语言的复杂性
- Scala / Java语言的流行度
- DSL扩展可能性。在Scala中,应该可以(使用一些Scala魔法)来扩展DSL(添加额外的DSL元素)
如果您决定尝试一下,如果您与Apache Camel社区分享您的印象,那就太棒了:
code readability
,code maintainability
,code efficiency
,developer satisfaction
,code size
,"man-days"
的数量。
答案 2 :(得分:0)
从那时起(2010-2011),现在(2016年9月)最近一项以Akka Streams Integration命名的计划,代号 Alpakka 。
我们相信Akka Streams可以成为构建Apache Camel的现代替代品的工具。这不会在一夜之间发生,这是一个呼吁社区的武器加入我们的使命。骆驼最大的资产是其丰富的endpoint components。我们希望看到为Akka Streams开发类似的端点。
请参阅" akka/akka-stream-contrib
"。