如何使用 Postgresql 设置 Play Slick
Posted
技术标签:
【中文标题】如何使用 Postgresql 设置 Play Slick【英文标题】:How to setup Play Slick with Postgresql 【发布时间】:2018-02-05 18:14:05 【问题描述】:我第一次尝试设置 Play 项目,但我已经卡住了! 事实上,当我运行应用程序时,只要我尝试调用“http://localhost:9000/”就会得到这个异常:
java.sql.SQLTransientConnectionException: db - Connection is not available, request timed out after 1004ms
我也每 2 秒在日志中看到一次:
[error] c.z.h.p.PoolBase - db - Failed to execute isValid() for connection, configure connection test query. (Method org.postgresql.jdbc4.Jdbc4Connection.isValid(int) is not yet implemented.)
这就是我所做的:
代码方面我刚刚创建了一个类 DAO 来添加、删除和列出用户表的记录,并从控制器调用“add”方法。
我希望我提供了足够的细节
【问题讨论】:
这听起来像是连接泄漏!您能否向我们展示您如何使用 DB Connection 对象进行数据库调用? 感谢您的回答。我添加了调用数据库的部分 您是否尝试记录来自 Slick 的呼叫? logger.scala.slick=调试 我现在尝试了,但没有任何改变,因为我注意到异常在一切之前被触发,甚至在控制器被调用之前 你能避免使用 play-slick 库吗?看看我的回答! 【参考方案1】:我找到了使用 Play Slick 库的最终解决方案,配置方式如下:
您可以从this page 的表格中查看 PlaySlick 库中使用的 Slick 和 Play 版本
【讨论】:
Grazie tantissimo!!!这确实有助于配置 play slick postgres 连接。【参考方案2】:我会尽量避免使用 Play-Slick 库,而是直接使用 Slick 库!有关如何做到这一点的一些示例,请查看我的其中一个项目:
https://github.com/joesan/plant-simulator/tree/master/app/com/inland24/plantsim/services/database
在那里,我直接使用 Slick 作为我项目的依赖项,而我没有使用 play-slick 依赖项。
【讨论】:
以上是关于如何使用 Postgresql 设置 Play Slick的主要内容,如果未能解决你的问题,请参考以下文章
Play、Anorm 和 PostgreSQL:串行列的问题?
Play + JPA + Hibernate + PostgreSQL:无法创建表
使用 play framework v1.5 连接 db postgresql 时出错
Java Play 中的配置 - ebean 和 postgresql
使用 Play Slick 在 PostgreSQL 中持久化 UUID - java.sql.BatchUpdateException