问题标签 [spray]

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 投票
2 回答
5387 浏览

scala - 喷涂路由 404 响应

我有一项服务在未来返回 Option[ProductDoc] (作为 akka 询问)

如何在喷涂路由中响应,以便有效产品响应产品但未知但格式良好的产品返回 404?

我希望代码在这里填补空白:

我可以开始工作的唯一方法就是使用这种可憎的东西:

这肯定不是实现这一目标的正确方法吗?这似乎是一个非常简单的模式,一定已经有人解决了!

0 投票
2 回答
4827 浏览

java - 在远程服务器上部署、启动和停止 Scala 应用程序

首选方式是在远程 Linux 服务器上部署 Scala 应用程序。

这是在远程服务器上部署 Scala 应用程序的一种相当简单但有限的方法(非常适合快速测试不太敏感的项目):

  1. 从远程服务器,我从 git 中提取我的源代码
  2. 使用sbt-assembly插件我在服务器上构建了一个 jar
  3. 然后我使用 nohup 运行 Scala 应用程序,它允许您在不终止进程的情况下退出远程会话:

    nohup java -jar myapp.jar > myapp.log 2> myapp.err < /dev/null &

首先,考虑到它正在使用数据库等资源,一旦进程运行,停止进程的最佳方法是什么。我只是查找java进程ID并对其进行核对吗?

其次,在重新启动时自动启动 java 应用程序的最佳方法是什么。我记得过去使用过 init.d,但记得因为它是一个 java 应用程序,所以遇到了一些困难。

更新:

我错过了这里房间里的大象。我正在使用 Spray 库,该库又使用 Akka,因此提供了许多有趣的选项。

0 投票
2 回答
2390 浏览

scala - 连续轮询 HTTP 服务器并分派给参与者的惯用方式

我需要编写一个不断轮询 Web 服务器以获取命令的客户端。来自服务器的响应表明命令可用(在这种情况下响应包含命令)或没有命令可用的指令,您应该对传入命令发出新请求。

我试图弄清楚如何使用 spray-client 和 Akka 来完成它,我可以想办法做到这一点,但它们看起来都不是完成它的惯用方式。所以问题是:

让几个线程轮询同一个 Web 服务器以获取传入命令并将命令交给参与者的最明智的方法是什么?

0 投票
1 回答
1373 浏览

scala - 无法执行喷涂示例 | Maven依赖错误

我只是想动手使用 Spray 库,但是由于 maven 依赖性而无法执行它的示例。

正如文档中所提供的,我已将 Spray 存储库定义如下:

然后我定义了它的依赖如下:

但是,当我尝试执行 maven 安装时,我遇到以下错误:

[错误] 无法在项目 spray-test1 上执行目标:无法解析项目 org.spray:spray-test1:jar:1.0-SNAPSHOT 的依赖项:无法收集 [io.spray:spray-http:jar:1.1 的依赖项-M7 (编译), io.spray:spray-httpx:jar:1.1-M7 (编译), io.spray:spray-util:jar:1.1-M7 (编译), com.chuusai:shapeless_2.9.2:jar: 1.2.0(编译)]:无法读取 io.spray:spray-http:jar:1.1-M7 的工件描述符:无法将工件 io.spray:spray-http:pom:1.1-M7 从/到 sprayrepo 传输(http://repo.spray.io/):连接超时 http://repo.spray.io/io/spray/spray-http/1.1-M7/spray-http-1.1-M7.pom -> [帮助 1] [错误]

任何指针或建议将不胜感激。

谢谢

0 投票
2 回答
1077 浏览

sbt - specs2 的 JVM 内存设置

在我使用specs2spray-testkit进行的一些较大的验收风格测试中,SBT 一直内存不足。我有 10 个演出或 RAM 可用,目前我启动 SBT(使用SBT extras 脚本),MaxPermSize 为 512m,Xms 为 1024m,Xmx 为 2g。

验收测试以特定顺序贯穿客户的整个业务流程,因此将验收测试拆分为多个较小的测试并不容易。

任何我可以更好地配置我的环境的想法,或者我应该注意的问题都将不胜感激。

对于它的价值,我在 Ubuntu 下使用 Oracle Java,该项目使用 Scala 2.10、sbt 0.12.2、spray 1.1-M7 和 specs2 1.14。

在测试之外运行系统或使用较小的测试时,一切都像发条一样运行。只有在更大的测试中,事情才会变得疯狂。

0 投票
1 回答
698 浏览

heroku - 如何使用 Scala 2.10 在 heroku 上运行喷雾服务器?

我创建了一个带有简单 REST 服务的 Spray 应用程序。我遵循了heroku 提供的说明的变体。变化:

  • 用过的sbt.version=0.12.0
  • 用于Build.scala代替 build.sbt
  • 用喷雾代替finagle

长话短说,我已经让它在本地运行,没有什么问题,也使用工头。然后我尝试推送到 heroku,但由于 503 引起的各种未解决的依赖关系,构建失败了,例如:

这是什么原因,我该怎么做才能让它运行?

0 投票
0 回答
226 浏览

scala - 喷雾路由、控制器和 DAO——应该创建期货?

我正在使用喷雾路由。我的路由器调用控制器,控制器调用 DAO。哪个应该创建返回到喷罐服务器的期货?我的想法是:

  • DAO 应该返回 Futures,因为这是长时间运行的操作(数据库查询)发生的地方
  • 路由器应该创建 Futures,以便在创建时留下最大的灵活性

在后一种情况下,可能有一个future 可以进行多个数据库查询,而不必将它们链接起来。

想法?

0 投票
1 回答
205 浏览

scala - 基于触摸的移动 web 应用的 Play 和 Sencha 集成

我需要开发应该与任何基于移动/触摸的设备(iphone、android 等)兼容的移动 webapp。

我真的很喜欢 Play 的功能,它几乎可以满足我们的所有需求,我们计划将 Play 与 Scala 一起使用。

我有以下疑问,请您帮我解决这些问题:

  1. Play 可以与 Sencha 框架集成吗?,因为我需要使用 sencha 作为我的 View 层。

  2. 我选择 Play 主要是为了支持出色的垂直可扩展性,我应该更喜欢哪个 Web 服务器,内置 JBoss Netty 或任何基于 Akka 的 Web 服务器,Spray 等。我在这里有点困惑,因为对我来说都是新名字:)

任何建议表示赞赏。

谢谢。

0 投票
1 回答
1757 浏览

scala - 自动化路由的 REST API 文档

是否可以在 Spray 应用程序中自动记录路线?

例如,是否有一个 SBT 插件可以生成降价描述它对喷射路线的了解?

0 投票
3 回答
1320 浏览

scala - 使用 spray-json 处理默认值的好方法是什么

在某些情况下,默认值比案例类中的可选值更有意义:

在第一种情况下,我希望能够轻松地将以下 json 转换为实例:

但是对于标准jsonFormat2(Car),spray-json 抱怨缺少numberOfWheels.

我如何最干净地解决这个问题?