我正在使用Scala,Play Framework 2.1.x和reactivemongo驱动程序.
我有一个api电话:
def getStuff(userId: String) = Action(implicit request => {
Async {
UserDao().getStuffOf(userId = userId).toList() map {
stuffLst => Ok(stuffLst)
}
}
})
Run Code Online (Sandbox Code Playgroud)
它在99%的时间内工作正常,但有时可能会失败(无关紧要的原因,这不是问题).
我想在出现错误的情况下恢复,所以我补充说:
recover { case _ => BadRequest("")}
Run Code Online (Sandbox Code Playgroud)
但这并没有让我从错误中恢复过来.
我在scala控制台上尝试了相同的概念并且它有效:
import scala.concurrent._
import scala.concurrent.duration._
import ExecutionContext.Implicits.global
var f = future { throw new Exception("") } map {_ => 2} recover { case _ => 1}
Await.result(f, 1 nanos)
Run Code Online (Sandbox Code Playgroud)
这将按预期返回1.
我目前用以下方法包装Async:
try{
Async {...}
} catch {
case _ => BadRequest("")
}
Run Code Online (Sandbox Code Playgroud)
这就抓住了错误.
我在网上浏览了一些Scala的未来文档,我很困惑为什么恢复不适合我.
有谁知道为什么?我想错过什么来解决它?
我正在使用java,mysql,hibernate(3.6.x).在java方面我使用的是java.sql.Timestamp对象.在mysql方面,我正在使用datetime列.
我希望hibernate使用UTC时区保存/加载这些Timestamp对象,而不管system/java/mysql时区.
我找到了" 如何使用JPA和Hibernate以UTC时区存储日期/时间和时间戳 ",这些信息很丰富,但缺少一些我很难找到的最终实现信息.
我想实现一个UtcTimestampTypeDescriptor,如该线程所示,并配置hibernate使用它而不是正常的TimestampTypeDescriptor.
如何配置hibernate以使用UtcTimestamp类型而不是默认的Timestamp类型?
嗨伟大的stackoverflow人,
在EB上托管一个docker容器,并在其上运行基于nodejs的代码.重新部署我们的docker容器时,我们希望旧的容器能够正常关闭.
我找到了关于我们的代码如何接收'docker stop'命令产生的sigterm信号的帮助和指南.
然而,对运行码头工具的EB机器的进一步调查
/opt/elasticbeanstalk/hooks/appdeploy/enact/01flip.sh
表明,当从当前"翻转"到新的分段容器时,旧的机器被"docker kill"杀死
有没有办法将此行为更改为docker stop?
或者一般来说,一种推荐的方法来处理旧容器的正常关闭?
谢谢!
以下如何使用JPA和Hibernate以UTC时区存储日期/时间和时间戳我想将我的应用程序默认时区设置为UTC.我的应用程序在Linux服务器上运行tomcat和其他一些应用程序.服务器有其他运行更多应用程序的tomcat实例.
Timezone.setDefault(tz)会影响同一个tomcat实例上的其他应用吗?
它会影响其他tomcat实例上的其他应用程序吗?
是否可以仅为应用设置时区?我松散地记得有关安全管理器设置的一些内容.
我开始在我的play/scala应用程序中集成SecureSocial,但我并不喜欢它在不同视图之间所做的所有重定向.
示例 - 尝试从其默认登录页面登录,如果您输入了错误的通行证,您将被重定向到不同的页面(网址),但使用相同的登录表单.唯一不同的是,有一个错误信息......
我想要一个简单的登录表单(用户/密码提供程序)在我的主页的角落,使用ajax提交它的数据,这些数据在服务器上验证,并且响应显示错误消息或更改窗口.地点.在这个表单旁边,我将放置一个链接,转到更高级的登录页面,添加选项以使用其他提供程序,如fb/twitter等.但是从该页面我还想使用ajax提交详细信息并获得响应.
我试图浏览SecureSocial源,但在那里有点迷失.
任何人都可以告诉我如何使用SecureSocial,但不使用它的任何观点?
注意:我对定制他们的视图不感兴趣,这不仅仅是一个CSS /设计问题,我想要处理Ajaxly的登录详细信息而不是正常的表单提交,然后是重定向...
我的硬盘上有一个简单的xml文件.当我用记事本++打开它时,这就是我所看到的:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<content>
... more stuff here ...
</content>
Run Code Online (Sandbox Code Playgroud)
但当我用FileInputStream我得到的时候读它:
?<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<content>...
Run Code Online (Sandbox Code Playgroud)
我正在使用JAXB来解析xml,并且它会抛出"prolog中不允许的内容"的例外,因为"?" 标志.
什么是这个额外的"?" 标志?它为什么存在,如何摆脱它?
我正在使用 Node.js 和 Express.js 3.x。
作为我们的授权标头之一,我们传入用户名。我们的一些用户名包含变音字符:ü ö ä 等。对于只有“普通”字符的用户名,一切正常。但是当 jörg 尝试发出请求时,服务器无法识别标头中的变音字符。
试图模拟我的问题:
?.对禁止使用此类字符的自定义 HTTP 标头值字符是否有任何限制?知道为什么它可以在测试中工作但不能在我的浏览器扩展中工作吗?我是否忘记在某处设置一些字符集?