Tag: playframework 2.1

连接“computer-database-jpa”使用MySQL播放2.1示例应用程序

我正在玩computer-database-jpa(Java) Play Framework 2.1示例应用程序。 当我在内存数据库中使用H2时,一切正常,但是当我想将应用程序与MySQL连接时,我遇到了问题。 有人遇到了同样的问题( 帮助想要将示例应用程序连接到MySQL ),但没有解决方案。 我添加了mysql-connector (Build.scala): val appDependencies = Seq( …. “mysql” % “mysql-connector-java” % “5.1.18” ) 并编辑了application.conf: db.default.url=”jdbc:mysql://password:user@localhost/my-database” db.default.driver=com.mysql.jdbc.Driver 当我启动应用程序并应用1.sql(进化脚本)时,我收到一个错误: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘sequence company_seq start with 1000’ […]

使用Play Framework 2.1.x的多个数据库

我有2个数据库需要连接。 我可以在application.conf文件中轻松连接到它们,如下所示: db.default.driver=org.postgresql.Driver db.default.url=”jdbc:postgresql://localhost/db1″ db.default.user=postgres db.default.password=”password” db.secondary.driver=org.postgresql.Driver db.secondary.url=”jdbc:postgresql://localhost/db2″ db.secondary.user=postgres db.secondary.password=”password” ebean.default=”models.db1.*” ebean.secondary=”models.db2.*” 我在这些包中有我的模型类,并且DDL正确生成表。 问题在于实际使用这些实体。 任何不在“默认”包中的内容都会抛出此错误(使用辅助数据库中的Users表作为示例) 如果我尝试查询表的所有行: List users = Users.find.all(); 它抛出此错误: [PersistenceException: models.db2.Users is NOT an Entity Bean registered with this server?] 即使我100%确定后端中有Users表,它是DDL工作的注册表并使该表正常,我正在导入正确的类。 我需要某种方法来查询不在默认包中的模型类吗? 编辑:我意识到堆栈跟踪显示它正在尝试使用DefaultServer。 如何让它使用辅助服务器? at com.avaje.ebeaninternal.server.core.DefaultServer.createQuery(DefaultServer.java:989) ~[avaje-ebeanorm-server.jar:na] at com.avaje.ebeaninternal.server.core.DefaultServer.createQuery(DefaultServer.java:946) ~[avaje-ebeanorm-server.jar:na] at com.avaje.ebeaninternal.server.core.DefaultServer.find(DefaultServer.java:982) ~[avaje-ebeanorm-server.jar:na] at play.db.ebean.Model$Finder.all(Model.java:254) ~[play-java-ebean_2.10.jar:2.1.3]

玩框架2.1 junit测试不能从eclipse工作

我按照zentask教程编写了一个junit测试,测试不会从eclipse IDE运行,它给出了以下exception javax.persistence.PersistenceException: java.lang.IllegalStateException: Class [class play.db.ebean.Model] is enhanced and [class models.User] is not – (you can not mix!!) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.setEntityBeanClass(BeanDescriptorManager.java:1475) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.createByteCode(BeanDescriptorManager.java:1138) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1058) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:565) at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:252) at com.avaje.ebeaninternal.server.core.InternalConfiguration.(InternalConfiguration.java:124) at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:210) at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:64) 我读了一下,发现有些人编辑了buils.scala,在main中添加了以下行:ebeanEnabled:= true 对我来说它没有关闭运行play clean编译的ide 有任何想法吗???

如何在Play 2.1 Java中为WS.post()设置params

我正在尝试使用play.api.libs.ws.WS执行post,但我无法弄清楚如何设置params,我的代码: Promise promise = WS.url(Play.application().configuration() .getString(“sms.service.url”)).post(); .post需要(T body,play.api.http.Writeable wrt,play.api.http.ContentTypeOf ct)但是我不明白我应该如何通过那里的params。 文档仅说明: Promise result = WS.url(“http://localhost:9001”).post(“content”); 如何设置内容,例如。 param1 = foo和param2 = bar ?

用于java.util.concurrent.Future的scala.concurrent.Future包装器

我正在使用Play Framework 2.1.1和一个生成java.util.concurrent.Future结果的外部Java库。 我正在使用scala future而不是Akka,我认为这是Play 2.1的正确选择。 如何在保持代码无阻塞的同时将java.util.concurrent.Future包装到scala.concurrent.Future中? def geConnection() : Connection = { // blocking with get connectionPool.getConnectionAsync().get(30000, TimeUnit.MILLISECONDS) } 上面的代码返回一个连接,但使用了get,所以它变成了阻塞 def getConnectionFuture() : Future[Connection] = { future { // how to remove blocking get and return a scala future? connectionPool.getConnectionAsync().get(30000, TimeUnit.MILLISECONDS) } } 理想情况下,我想要一个scala函数,它返回连接作为未来,如上面的代码,但没有通过get阻止代码。 我还需要在函数中添加什么才能使其无阻塞。 任何指针都会很棒。

Play Framework 2.1:在Build.scala中使用play.api.Configuration

在Play Framework 2的顶部答案中:阅读Build.scala中定义的应用程序版本,建议在conf/application.conf指定应用程序版本号,并通过play.api.Configuration加载到play.api.Configuration 。 我正在使用Play 2.1-RC2并在构建时收到以下错误消息: [error] […]/project/Build.scala:7: object Configuration is not a member of package play.api [error] val conf = play.api.Configuration.load(new File(“.”)) 我认为这可能是因为Play 2.1构建依赖项必须被指定为SBT的插件,而play.api.Configuration不是Play的SBT插件的一部分。 我猜我必须在project/plugins.sbt包含Play的核心库,但我无法弄清楚如何。 有任何想法吗? (注意:如果我有足够的重复点,会在原始问题中对此作出评论)