标签: playframework-2.2

无法使用Slick-play解析符号(foreach,list,...)

我使用playframewok开始使用光滑和scala

我已经使用play-slick 0.5.0.8将我的项目配置为使用play 2.2.0

我的问题是我无法执行一些基本方法,例如"list,foreach,for {} yield ..."

我试过一个独立的例子,它使用相同的光滑版本1.0.1?

这是项目构建文件

import sbt._
import Keys._
import play.Project._

object Build extends Build {

  val appName         = "homePage"
  val appVersion      = "1.0-ALPHA"

  val appDependencies = Seq(
    // Add your project dependencies here,
    jdbc,
    "com.typesafe.play" %% "play-slick" % "0.5.0.8"  ,
    "postgresql" % "postgresql" % "9.1-901-1.jdbc4",
    "com.typesafe.slick" %% "slick" % "1.0.1"

  )

  val main = play.Project(appName, appVersion, appDependencies).settings(
    // add web app as
    playAssetsDirectories <+= baseDirectory / "webapp"
  )

}
Run Code Online (Sandbox Code Playgroud)

我的模特::

package model

import java.util.Calendar …
Run Code Online (Sandbox Code Playgroud)

scala slick playframework-2.2

6
推荐指数
1
解决办法
3857
查看次数

如何从Scala/Play 2.2项目中使用OrientDB?

我想在Scala/Play 2.2项目中尝试OrientDB,它使用SBT来构建.如何将OrientDB集成到此项目中?请记住,我是所有这些技术的新手(我的背景主要是Python/C#/ JavaScript),所以我可以做一些手握:)

如果可能,最好将OrientDB作为托管依赖项安装.如果可用,我还想为数据库提供一个好的Scala API.

从我的应用程序连接到OrientDB服务器的一些示例代码很酷.

编辑:

我尝试过使用OrientDB Play插件,但到目前为止还没有成功.我做的是(根据插件的自述文件):

  1. cd ~/local/play-2.2.1/
  2. git clone git@github.com:ratcashdev/play-with-orientdb.git
  3. cd play-with-orientdb/src
  4. 添加val orientDBVersion = "1.6.4"到src/build.sbt
  5. 将project/build.properties编辑为: sbt.version=0.13.0
  6. 将project/plugins.sbt的最后一行更改为: addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.1")
  7. 删除project/Build.scala(因为这会导致构建错误)
  8. play publish-local
  9. 添加"ratcash.net" % "play-with-orientdb_2.10" % "1.0-SNAPSHOT"libraryDependencies项目的build.sbt文件的设置中
  10. 添加val orientDBVersion = "1.6.4"到我的项目的build.sbt文件
  11. 将我的项目的conf/play.plugins文件编辑为: 10000:modules.orientdb.ODBPlugin
  12. 将OrientDB配置添加到我的项目的conf/application.conf文件中.
  13. 通过运行我的项目 play run
  14. 访问localhost:9000

最后一步导致错误页面显示以下异常:java.lang.ClassNotFoundException: modules.orientdb.ODBPlugin.

scala sbt orientdb playframework playframework-2.2

6
推荐指数
1
解决办法
2054
查看次数

Play2创建客户端websocket

如何使用Scala在Play2中创建客户端WebSocket?

我应该使用外部库吗?我发现:http: //backchatio.github.io/hookup/

你知道其他选择吗?

scala websocket playframework-2.0 playframework-2.2

6
推荐指数
1
解决办法
960
查看次数

如果单元测试执行数据库插入/更新/删除,如何检入Play Framework

我有一个基类,我的所有控制器测试都扩展.这是设置的,因此每个单元测试都可以有自己的Fixture来加载.

因此@Before覆盖将检查测试所需的夹具是什么,加载它然后开始测试.

这里的问题是每次重新加载夹具.即使该方法只对数据库进行了选择,也没有改变.

Play Framework使用的内部存储器数据库是H2数据库.我想知道在单元测试完成后是否有办法检查,如果数据库发生了变化,如果没有,则跳过重新加载完全相同的数据.

我尝试过identity_scope,无论如何都会返回null.

unit-testing h2 playframework playframework-2.2

6
推荐指数
1
解决办法
231
查看次数

如何在响应mongo和播放中使用'$ in'查询'_id'

我有一个项目设置playframework 2.2.0play2-reactivemongo 0.10.0-SNAPSHOT.我想通过他们的id查询一些文档,方式类似于:

def usersCollection = db.collection[JSONCollection]("users")
val ids: List[String] = /* fetched from somewhere else */
val query = ??
val users = usersCollection.find(query).cursor[User].collect[List]()
Run Code Online (Sandbox Code Playgroud)

作为查询我试过:

Json.obj("_id" -> Json.obj("$in" -> ids))                        // 1
Json.obj("_id.$oid" -> Json.obj("$in" -> ids))                   // 2
Json.obj("_id" -> Json.obj("$oid" -> Json.obj("$in" -> ids)))    // 3
Run Code Online (Sandbox Code Playgroud)

第一个和第二个返回空列表,第三个失败,错误assertion 10068 invalid operator: $oid.

scala mongodb playframework reactivemongo playframework-2.2

5
推荐指数
1
解决办法
4513
查看次数

如何在SBT(Play)多项目中使用共享配置?

我有几个SBT 0.13/Play 2.2项目(网站).它们都是多模块,因为它们共享一些共同的功能.这使得他们的项目配置文件既复杂又几乎相同,但并不完全相同.

我希望能够在项目中尽可能多地共享这些配置文件(频繁的播放更新使得5个以上的网站保持最新的王室痛苦,更不用说所有几乎完全相同但不断发展的依赖列表项目).

build.properties和plugins.sbt在各个项目中是相同的,可以通过简单的脚本覆盖.大.

Build.scala比较棘手 - 我想介绍一个像这样的共享基类:

abstract class MyBuildBase extends Build { ... }
Run Code Online (Sandbox Code Playgroud)

在Build.scala中:

object ApplicationBuild extends MyBuildBuild { ... }
Run Code Online (Sandbox Code Playgroud)

为了使其具有任何意义,需要跨项目共享MyBuildBase.scala.这可以通过svn:external来完成,它在目录上运行.这意味着我需要在编译Build.scala时以某种方式使这个共享目录可访问(否则sbt会大声抱怨).

阅读http://www.scala-sbt.org/0.13.0/docs/Detailed-Topics/Classpaths.htmlhttp://www.scala-sbt.org/0.13.0/docs/Getting-Started/Full -Def.html似乎这应该是可能的.

然而,这是非常不清楚我居然把什么项目/工程/ Build.scala文件实际上做到这一点-我无法找到的一个例子"这是旨在建立一个SBT构建文件和包括SBT构建文件构建中的一些额外的源文件".

有什么建议?

scala sbt playframework playframework-2.2

5
推荐指数
1
解决办法
1129
查看次数

如何(重新)定义在根项目上运行以在sbt 0.13中启动聚合的Play(子)项目

我正在尝试创建一个多项目SBT构建定义.我在run根项目上执行命令时遇到问题.

文件夹结构如下:

RootProjectFolder
 |
 |- build.sbt
 |- project
       |
       |-Build.scala
       |-plugins.sbt
 |
 | - play-webapp
Run Code Online (Sandbox Code Playgroud)

Build.scala文件的内容是:

import sbt._
import Keys._
import play.Project._

object ApplicationBuild extends Build {

    val appName         = "project-name"
    val appVersion      = "0.1.0-SNAPSHOT"


    lazy val root = Project(id = appName + "-root", 
                            base = file(".")
                    ).aggregate(webApp)


    lazy val webApp = play.Project(
      appName + "-website", appVersion, path = file("play-webapp")
    )

}
Run Code Online (Sandbox Code Playgroud)

当我启动SBT时,我收到以下消息:Set current project to project-name-root这意味着正确检测到根项目.

当我执行run命令时,我收到以下错误消息

> run
java.lang.RuntimeException: No …
Run Code Online (Sandbox Code Playgroud)

scala sbt playframework-2.2

5
推荐指数
2
解决办法
2059
查看次数

如何在Play Framework 2.2的单独线程中使用相同的数据库事务

从play的文档:

由于Play 2.0的工作方式,动作代码必须尽可能快(即非阻塞).那么如果我们还不能生成它,我们应该返回什么呢?回应是对结果的承诺!

所以我不应该直接在动作内部进行数据库调用.当我查看Plays JPA文档时,这让我感到困惑:

每个JPA调用都必须在事务中完成,因此,要为特定操作启用JPA,请使用@ play.db.jpa.Transactional对其进行注释.这将使用JPA Action组成您的操作方法,该操作为您管理事务

这让我有点困惑.如果我遵循文档,我不应该使用数据库调用阻止操作线程.但是,如果操作是创建和管理数据库事务的,那么我是不是通过将工作发送给actor或者以某种方式将工作卸载到另一个线程来丢失该事务?我的意思是,我是scala和play的新手,但我只是看不到事务如何跟随单独的线程.有没有人有解释,或者我应该这样做的方式?我很困惑.

hibernate playframework slick playframework-2.2

5
推荐指数
1
解决办法
658
查看次数

在Play框架中请求队列

我最近在Play框架中遇到了请求队列的问题.当服务器过载并且无法按时处理请求时,请求将被放入队列中.即使请求者断开连接请求仍然留在队列中并且将由控制器处理.在压力测试期间,控制器甚至在30分钟前就收到了请求.

这会导致拒绝服务.是否可以设置请求队列深度或请求生存时间?

任何其他解决方案也将受到赞赏.

denial-of-service httprequest akka playframework playframework-2.2

5
推荐指数
1
解决办法
980
查看次数

播放Scala:嵌套类的json编写器

我正在玩Play!斯卡拉2.2和我有渲染的一个问题classJson:

我有两个类,一个依赖于另一个,如下所示:

case class Artist(id: String, cover: String, website: List[String], link: String, Tracks: List[Track] = List())

case class Track(stream_url: String, title: String, artwork_url: Option[String] )
Run Code Online (Sandbox Code Playgroud)

他们隐含的作家:

implicit val artistWrites: Writes[Artist] = Json.writes[Artist]

implicit val trackWrites: Writes[Track] = Json.writes[Track]
Run Code Online (Sandbox Code Playgroud)

作者的工作如下:

println(Json.toJson(Track("aaa", "aaa", Some("aaa"))))
println(Json.toJson(Artist("aaa", "aaa", List("aaa"), "aaa", List())))
Run Code Online (Sandbox Code Playgroud)

即如果Artist有一个空的 list of tracks.但如果我想这样做:

println(Json.toJson(Artist("aaa", "aaa", List("aaa"), "aaa", List(SoundCloudTrack("ljkjk", "ljklkj", Some("lkjljk"))))))
Run Code Online (Sandbox Code Playgroud)

我得到一个execution exception:[NullPointerException: null]

你能解释一下我做错了什么吗?谢谢 ;)

json scala playframework-2.2 playframework-json

5
推荐指数
1
解决办法
1060
查看次数