【发布时间】:2013-04-18 16:29:44
【问题描述】:
我们正在使用 Play 2.1.1 及其内置的 JPA 集成 (JPA.em() ETC)。
- 如何动态更改 db.pass 属性? Play.application().configuration() 似乎 从 Play 2.1 开始是不可变的。 (或者我们至少不知道突变器)
- 如果我们能够更改 db.pass,我们如何重新加载 DB 配置以便 JPA.em() 使用新密码返回 EntityManager?
我们试图避免的是必须重新创建 EntityManager 使用 实体管理器工厂。我们希望继续让 Play 管理它 JPA 助手类。
背景
系统具有用于本地运行的默认数据库配置。部署到服务器时,使用以下脚本在正在运行的应用程序上动态设置数据库密码:
#!/bin/bash
stty -echo
read -p "Password: " PASS
stty echo
curl -k https://127.0.0.1:8443/someUrl/pwd --data "password=$PASS"
应用程序接收到这些数据,然后重新创建 Hibernate 会话工厂。我们的新 Play 应用需要做一些事情 相似的。
【问题讨论】:
标签: database configuration playframework playframework-2.0