问题标签 [akka]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3803 浏览

eclipse - 如何将 sbteclipse 插件添加到 SBT 0.10.x

想查看akka的源码,好像用的是0.7.x版本的sbt。
我将项目配置转换为 0.10.x 版本。当我在库依赖项中添加 sbteclipse 并运行 eclipse create-src 以生成 eclipse 项目时,它告诉 eclipse 不是命令。这是我的 Build.scala。当我使用库依赖项列出库时,实际上存在 sbteclipse_2.8.1.jar

我之前犯了一个愚蠢的错误。插件定义应该在 project/plugins/build.sbt 文件中声明,而不是在 yourproject/build.sbt 中作为库依赖项

0 投票
1 回答
952 浏览

scala - scala akka:演员是否记得它最终应该回复的内容?

在akka中假设有一个actor的线性链,每个actor从上游接收消息,向下游发送自己的消息并等待回复,然后向上游发送消息。当演员必须稍后回复该演员时,演员如何记住上游演员的句柄?

例如:

基本上,B 怎么能记住 A 的句柄?此时执行 self.reply 将引用 C,因为 C 将当前消息发送给 B。

0 投票
2 回答
184 浏览

scala - 在 2.7.7 下编译 AKKA 代码时出错

我是 scala 的新手。所以我下载了源代码AKKA并安装了eclipse的插件(2.7.7 final)。当我打开项目时,它显示 29 个编译错误。我知道这可能是版本不匹配或插件设置问题。但我不知道如何解决它。

a) ')' 预期但 '=' 找到。

b) 需要标识符,但找到了“对象”。

谁能帮助这个简单的问题?

非常感谢:)

更新:

jilen提出了一个类似的问题。

如何将 sbteclipse 插件添加到 SBT 0.10.x

0 投票
1 回答
2315 浏览

scala - 将 Akka 与 Scalatra 一起使用

我的目标是为我的小部件构建一个高度并发的后端。我目前将后端公开为 Web 服务,它接收运行特定小部件的请求(使用 Scalatra),从 DB 中获取小部件的代码并在演员(使用 Akka)中运行它,然后回复结果。所以想象我正在做类似的事情:

现在我相信这不是最好的并发解决方案,我应该以某种方式将监听请求和运行小部件结合到一个参与者实现中。你会如何设计它以获得最大的并发性?谢谢。

0 投票
6 回答
22441 浏览

scala - 如何使用 Akka 实现 REST Web 服务?

我打算实现一个纯 Akka 支持的基于 REST 的 Web API。我不确定使用喷雾。如果有任何好处,我会考虑使用 Scalatra。基本上我对使用 Scala Actor 模型的并发优势很感兴趣。我不希望 Servlet 容器成为该过程的障碍。

还有什么其他选择?

更新 1:哪个是基于 Akka 后端实现 REST 的更好前端?- 喷雾、Scalatra 或 Dropwizard 或任何其他?

0 投票
0 回答
1099 浏览

scala - dropwizard 与喷雾或 scalatra 相比如何?

上述 3 个框架在以下方面的比较

1) 性能 2) 易用性 3) 真实世界测试

和其他相关参数?

0 投票
1 回答
1159 浏览

scala - 我们可以使用 Akka 和 Camel 集成来实现 REST 服务吗?

我正在阅读有关 Akka 和 Camel 集成的信息。我第一次遇到骆驼,听起来很棒。我们可以简单地使用 Akka 和 Camel 构建 REST 服务吗?在这个方向上有什么有用的指示吗?

0 投票
1 回答
376 浏览

scala - 当它们被包装在未来时,可以使用阻塞的actor消息吗?

我当前的应用程序基于 akka 1.1。它有多个ProjectAnalysisActors各自负责处理特定项目的分析任务。当这样的参与者收到一个通用的开始消息时,分析就开始了。完成一个步骤后,只要定义了下一步,它就会向自己发送一条带有下一步的消息。执行代码基本如下

我在如何为每个分析步骤的运行方法实现我的代码时遇到了一些困难。目前,我在每个运行方法中创造了一个新的未来。在这个未来中,我将所有后续消息发送到不同的子系统。其中一些是非阻塞的即发即弃消息,但其中一些返回的结果应该在下一个分析步骤开始之前存储。

目前,典型的运行方法如下所示

由于应该避免那些阻塞消息,我想知道这是否是正确的方法。在这个用例中使用它们是否有意义,或者我仍然应该避免它?如果是这样,什么是适当的解决方案?

0 投票
1 回答
476 浏览

scala - 如何更改组合期货的超时时间?

在 akka 1.1 文档中关于 compose futures 的示例中我想知道如何以编程方式设置生成的未来的超时。我知道我可以在akka.conf中调整全局超时,但我只想针对这段代码执行此操作。

示例代码如下所示

在这个例子中,akka 总共创建了四个期货,我说得对吗?

  • 每条消息一个发送到 actor1、2 和 3
  • 一个包裹这三个期货

在第一种情况下更改超时很容易,例如

但是如何设置包装未来的超时时间?有任何想法吗?

0 投票
3 回答
12569 浏览

scala - 在 Scala Akka 期货中,map 和 flatMap 有什么区别?

在普通的 Scala 中 map 和 flatMap 的不同之处在于 flatMap 将返回一个扁平化到列表中的数据的迭代。但是在 Akka 文档中, map 和 flatMap 似乎做了一些不同的事情?

http://akka.io/docs/akka/1.1/scala/futures.html

它说“通常这工作得很好,因为这意味着运行快速函数的开销很小。如果函数有可能花费大量时间来处理,最好同时完成,为此,我们使用 flatMap:"

有人可以解释一下 Akka 期货中的 map 和 flatMap 有什么区别吗?