2

有没有人对 akka-camel 和 scalaz-camel-akka 进行过评估?我喜欢 scalaz 带来的函数式方法,并且稍微使用了 scalaz-camel-akka,但并没有真正使用 akka-camel。

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

4

1 回答 1

7

有关使用 Camel、akka-camel 和 scalaz-camel 组成路线的一般比较,请参阅此演示文稿幻灯片 47-55。

使用 akka-camel,您正在使用演员

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

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

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

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

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

于 2012-02-06T08:05:12.447 回答