scala - akka Camel vs scalaz Camel

标签 scala apache-camel akka scalaz

有人对 akka-camel 和 scalaz-camel-akka 进行过评估吗?我喜欢 scalaz 带来的功能性方法,并且使用过一些 scalaz-camel-akka,但没有真正使用过 akka-camel。

我会对一些比较点非常感兴趣。

最佳答案

有关使用 Camel、akka-camel 和 scalaz-camel 组合路由的一般比较,请参阅 this presentation幻灯片 47-55。

使用 akka-camel,您可以使用 actor 来

  • 使用来自 Camel 端点的消息
  • 向 Camel 端点生成消息
  • 并在两者之间路由/处理消息(即,您构建基于参与者的消息处理路由)

akka-camel 的主要目的是在 Camel 端点和参与者之间提供连接,以异步交换消息(并且是非阻塞的,如果端点支持的话)。为了处理端点之间的消息,您需要手动连接参与者,而不是使用 Camel DSL 组合消息处理器。

scalaz-camel-akka 模块(scalaz-camel 的)用于从 scalaz-camel 路由中与 Akka actor 交换消息。它允许您使用功能性 DSL 将 Akka 参与者集成到 scalaz-camel 路由中。你甚至可以一起使用 akka-camel 和 scalaz-camel-akka,例如:

  • 使用 scalaz-camel 路由开始消息处理
  • 使用 scalaz-camel-akka 的(功能性)DSL 将消息发送给 Actor
  • 与 Actor 进一步处理消息,最后
  • 使用 akka-camel 将消息发送到端点

如果您对有状态消息处理有特殊要求或想要扩展您的集成解决方案,请仔细查看 akka-camel。

关于scala - akka Camel vs scalaz Camel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9155670/

相关文章:

scala - Haskell GHCi 打印惰性序列,但 Scala REPL 不打印

scala - 如何从Scala迭代器获取不同的项目,保持懒惰

java - Xml - Bean 构造函数

java - header 值在 Apache Camel Exchange 中为空

multithreading - 允许actor定期替换共享的不可变只读状态是 “ok”吗?

arrays - Scala 中的 6 维或更多维数组

scala - Scala 和 Akka 中的 Future

java - 基本 Apache Camel LoadBalancer 故障转移示例

java - 如何在 Akka 2.2.4 中使用 UntypedActorFactory()

scala - Akka 远程角色,没有默认构造函数的父类(super class)