我需要在 Play Framework 中管理数据库连接池,还是 Play 为我做这件事?

Posted

技术标签:

【中文标题】我需要在 Play Framework 中管理数据库连接池,还是 Play 为我做这件事?【英文标题】:Do I need to manage DB connection pools in Play Framework, or does Play do it for me? 【发布时间】:2013-05-17 04:40:35 【问题描述】:

我是否需要在每个读取/写入数据库的方法中获取上下文和数据源? (示例如下)或者Play.db.DB 的 getConnection() 方法是否透明地处理池?

    public void saveResponse() 
    try 
        InitialContext ctx = new InitialContext();
        DataSource ds = (DataSource) ctx
                .lookup("java:comp/env/jdbc/mysqlDB");

        conn = ds.getConnection();

        stmt = conn.createStatement();
        stmt.execute("SOME SQL QUERY");

        stmt.close();
        stmt = null;

        conn.close();
        conn = null;

     catch (NamingException e) 
        e.printStackTrace();
     catch (SQLException e) 
        e.printStackTrace();
    

【问题讨论】:

【参考方案1】:

Play 可以为您管理。

但是为什么不使用 Play 的 JPA 持久性呢? http://www.playframework.com/documentation/1.2.5/jpa

这将比获取连接更透明。

【讨论】:

以上是关于我需要在 Play Framework 中管理数据库连接池,还是 Play 为我做这件事?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Play Framework 2 中测试数据库演化

Play Framework中,打包时如何排除文件?

Play Framework (2.5) - JMX port enable to see in JVisualVM

Play Framework 2.3.8 中与 Ebeans 的 OneToOne 关系

数据库“默认”需要进化!尝试使用 play framework 2.7.0 和 Ebean 连接到 MySQL 时

Play Framework 应用程序和嵌入式数据库打包