使用Scala和Apache Camel是否存在已知的问题?

6

我知道Camel支持Scala DSL。除此之外:

  • 对于基于Camel的项目,完全用Scala替代Java是否现实?

  • 已知存在哪些问题?

  • 有哪些解决方法可供选择(除了使用Java)?

我主要寻求更少样板代码。

3个回答

8
Akka提供了稳定的Scala风格的Camel集成

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,并且我能想到的唯一问题是库中的可修复错误。


1

与此同时,已经开发了一个相对简单的Scala DSL has been developed for Camel, 可以具有Java DSL的功能

要决定是否适合您,请考虑以下因素:
- 语言的IDE支持质量
- Scala语言的复杂性
- Scala/Java语言的流行度
- DSL扩展可能性。在Scala中,应该可以通过一些Scala魔法来扩展DSL(添加额外的DSL元素)

如果您决定尝试一下,很高兴您与Apache Camel社区分享您的体验,包括以下方面的印象: 代码可读性代码可维护性代码效率开发者满意度代码大小和所需的"人天数"


0

自2010-2011年以来,现在(2016年9月)出现了一个名为Akka Streams Integration的最新倡议,代号Alpakka

我们相信,Akka Streams可以成为构建现代Apache Camel替代方案的工具。这不会一蹴而就,我们呼吁社区加入我们的行列,共同完成这一使命。Camel的最大优势是其丰富的endpoint components。我们希望看到类似的端点组件也能够为Akka Streams开发。

请参见"akka/akka-stream-contrib"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接