问题标签 [scalatra]

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 回答
614 浏览

scala - Scala 应用程序超出 Heroku 内存配额

我在 Heroku 上托管我的移动应用程序的后端。它是用 Scala 编写的,使用 Scalatra 来公开 REST API。除此之外,我正在运行一个工作程序,它获取数据并将其推送到 MongoHQ 的数据库(使用 casbah)。对于他们两个,我不断收到R14(超出内存配额)错误。在我的本地机器上,worker 消耗的内存不超过 200 - 250 MB,根据 New Relic 监控,Scalatra 应用程序在 Heroku 上仅使用了 250 MB。

这些是我的 Heroku 实例上的相关环境变量:

JAVA_OPTS: -Xmx384m -Xss512k -XX:+UseCompressedOops -javaagent:newrelic/newrelic.jar

JAVA_TOOL_OPTIONS:-Djava.net.preferIPv4Stack=true

SBT_OPTS: -Xmx384m -Xss512k -XX:+UseCompressedOops

回购:/app/.sbt_home/.ivy2/cache

Web 服务甚至还没有收到任何流量,那么为什么 Heroku 会抱怨内存消耗呢?

马可

0 投票
2 回答
375 浏览

data-binding - Scalatra 数据绑定

我正在使用命令模型绑定,并且查看了示例 github 项目,并且在使用依赖项时遇到了问题:

以示例项目代码为例

当我使用 CommandSupport 特征中的 command[CreateTodoCommand] 方法时,我无法编译,即

我对 Scala 不太了解,但我假设 ParamsOnlyCommand 扩展了 Command 并且命令支持特征中有这一行,那么应该没有问题:

任何想法为什么我会遇到这个问题?

干杯,克里斯。

0 投票
1 回答
827 浏览

scala - Akka、Scalatra 和 Web 状态问题

这是一个由两部分组成的问题,首先是设计问题而不是如何实现它,其次是 Akka 的一些实现问题。

我正在使用 Scalatra 构建一个 REST 服务端点,调用该端点时将从多个源中提取图像,对其进行操作并返回它们。这可能是一个相当长的运行过程,并且可能比单个 http 请求/响应周期可以接受的时间更长。

我对此的想法是,当进行调用时,我将启动一堆 akka Actor 来提取图像资源,并让他们将结果交给图像处理 Actor 以进行缩放等。初始请求本身会立即返回某种处理 ID,可用于对另一个端点进行后续轮询调用,该端点将在处理结果时返回结果,并带有一个标志以确定是否有更多结果可让客户端知道停止轮询。

我的问题如下:

  1. 从设计的角度来看,这有意义吗?
  2. 如果我使用这种方法,那么每个后续请求以检索已处理的图像都必须具有某种状态意识才能知道客户端已经收到了哪些图像。你将如何管理这种状态?
  3. 我从来没有看过这个,但是在这种情况下,长时间运行的彗星式 HTTP 请求会比轮询更有意义吗?

实施部分

假设我最终得到了类似于上面的设计,我对 Scalatra 和 Akka(或任何 Actor 范例)非常陌生,我有几个问题。

好的,第一个是我认为的 Scala/Scalatra 特定问题。好的,我查看了 akka http://www.scalatra.org/guides/async/akka.html上的 Scalatra 文档,在此示例中,他们设置应用程序引导程序如下:

我假设 scalatra 的引导在应用程序启动时发生一次,那么 system.actorOf(Props[MyActor]) 是创建一个实例还是每个请求一个实例?

其次,假设我的 MyActor 类(或更合理的名称)做了以下事情:

现在,在这种情况下,我将在多个地方检索图像,因此多个 Actor 将获取这些数据。当他们找到合适的图像时,将使用几个 Actor 来处理图像。如果我采用我的设计,那么我需要在某个地方标记对于给定的 ProcessingId 没有更多可用的处理图像。这意味着我需要知道给定 ProcessingId 的所有图像搜索和图像处理参与者何时完成。我该怎么做呢?

所以这是一个很多问题,我希望它是有道理的消费信息。

干杯。克里斯。

0 投票
2 回答
779 浏览

scalatra - Scalate/Jade 中的值未设置错误

我是 Jade 和 Scalate 的新手。我定义了以下路线:

和模板:

我在页面渲染中遇到的错误是:

即使我删除该行title= pageTitle,我仍然会收到错误消息。错误指的是什么,我该如何解决?

0 投票
2 回答
1389 浏览

pug - javascript中的Jade插值

(注意,这是 Scalate Jade,如果这有区别的话)

我有以下路线:

这个fruity.jade模板:

它呈现如下:

不会为 javascript 部分插入该fruit值。我怎样才能让它在javascript中解决?

0 投票
0 回答
317 浏览

scala - 使用 Dispatch Databinder 0.10 处理 xml 时设置字符集

我正在使用 Scalatra 应用程序包装上游 API,并使用 Dispatch 发出异步请求。但是,我在将上游 XML 转换为xml.Elems使用 Dispatch 的内置 XML 处理支持时遇到了麻烦。

我正在尝试做一些与 Dispatch 文档中的内容非常相似的事情,即检索上游 XML 并进行一些重新处理。有问题的函数看起来像:

这导致:

上游 API 没有发回字符集,在检索它时,Dispatch 在 XML 开始之前用字节顺序标记显示它:<?xml version="1.0" encoding="utf-8"?>

我可以看到早期版本的 Dispatch 通过以下方式解决了这个问题:

但是我目前看不到使用 Dispatch 0.10 进行这项工作的方法。有没有人有任何关于在这个响应上设置字符集的提示,所以我可以解析返回的内容?

0 投票
1 回答
1324 浏览

web-services - 在 Scala 中模拟外部 Web 服务的最轻量级 Web 服务框架

我正在尝试测试一个依赖于外部 Web 服务的组件,我通过 Play WS 库访问该组件。该组件接收 web 服务的 url。

我想通过将组件连接到假网络服务来对组件进行单元测试。

哪个 scala web 框架更适合这个目的?

0 投票
4 回答
1010 浏览

scala - 如何更改 Scalatra 应用程序的“webapp”目录的位置?

默认情况下,Scalatra 期望“webapp”目录位于src/main/webapp. 如何将其更改为,例如content/doc-root

sbt 允许使用如下内容自定义其默认目录:

所以我认为这只是知道要使用的正确“配置密钥”的问题......

0 投票
2 回答
261 浏览

scala - Scala:如何使用 google/facebook 凭据通过 Heroku 上的 openID 为我的应用程序提供访问控制

我正在 Heroku 上用 Scala 编写一个爱好项目。目前我有自己的身份验证机制,它使用 http 基本身份验证。我希望能够使用人们现有的凭据,例如 google 或 facebook。我知道对于 Ruby 来说,omniauth 应该可以解决问题。是否有适用于 Heroku 的 Scala 等效解决方案?我使用 Scalatra 作为网络堆栈。

0 投票
0 回答
443 浏览

scala - Scalatra 将对象序列化为 JSON,但其关系未序列化

我正在使用 Scalatra 和 Squeryl 制作单页应用程序示例,因此我需要我的 Scalatra Servlet 始终返回 JSON。在序列化没有关系的对象时它工作得很好。

我有一个类地址与类 City 具有多对一关系:

这就是我的 Servlet:

当 servlet 序列化对象地址时,它会序列化所有属性,但不会序列化关系。结果是:

我想收到的是:

我该怎么做才能以这种方式创建 json?