我知道Camel支持Scala DSL。除此之外:
对于基于Camel的项目,完全用Scala替代Java是否现实?
已知存在哪些问题?
有哪些解决方法可供选择(除了使用Java)?
我主要寻求更少样板代码。
我知道Camel支持Scala DSL。除此之外:
对于基于Camel的项目,完全用Scala替代Java是否现实?
已知存在哪些问题?
有哪些解决方法可供选择(除了使用Java)?
我主要寻求更少样板代码。
akka-camel模块允许actors、untyped actors和typed actors在各种协议和API上接收和发送消息。本节简要介绍了akka-camel模块背后的一般思想,其余部分则进入详细内容。除了原生的Scala和Java actor API之外,actors现在可以通过大量协议和API(如HTTP、SOAP、TCP、FTP、SMTP或JMS等)与其他系统交换消息。目前,大约支持80个协议和API。
此外,我相信这种替换是可能的,因为它具有良好的互操作性,几乎没有任何Scala特有的问题,这些问题不是Java特有的。例如,用于发布到/Camel端点消费的Akka Actors基于java.util.concurrency,并且我能想到的唯一问题是库中的可修复错误。
与此同时,已经开发了一个相对简单的Scala DSL has been developed for Camel, 可以具有Java DSL的功能。
要决定是否适合您,请考虑以下因素:
- 语言的IDE支持质量
- Scala语言的复杂性
- Scala/Java语言的流行度
- DSL扩展可能性。在Scala中,应该可以通过一些Scala魔法来扩展DSL(添加额外的DSL元素)
如果您决定尝试一下,很高兴您与Apache Camel社区分享您的体验,包括以下方面的印象:
代码可读性
、代码可维护性
、代码效率
、开发者满意度
、代码大小
和所需的"人天数"
。
自2010-2011年以来,现在(2016年9月)出现了一个名为Akka Streams Integration的最新倡议,代号Alpakka。
我们相信,Akka Streams可以成为构建现代Apache Camel替代方案的工具。这不会一蹴而就,我们呼吁社区加入我们的行列,共同完成这一使命。Camel的最大优势是其丰富的endpoint components。我们希望看到类似的端点组件也能够为Akka Streams开发。