我们正在使用Play 2.1.1及其内置的JPA集成(JPA.em()等)。
- 如何动态更改db.pass属性?Play.application().configuration()似乎在Play 2.1中是不可变的(或者我们至少不知道有可变的选项)。 - 如果我们能够更改db.pass,那么如何重新加载DB配置,以便JPA.em()返回一个使用新密码的EntityManager? 我们试图避免的是必须使用EntityManagerFactory重新创建EntityManager。 我们希望继续让Play在JPA助手类中管理它。
背景: 该系统在本地运行时具有默认的DB配置。 当部署到服务器上时,使用以下脚本动态设置运行应用程序的DB密码:
应用程序接收这些数据,然后重新创建Hibernate SessionFactory。我们的新Play应用程序将需要执行类似操作。
- 如何动态更改db.pass属性?Play.application().configuration()似乎在Play 2.1中是不可变的(或者我们至少不知道有可变的选项)。 - 如果我们能够更改db.pass,那么如何重新加载DB配置,以便JPA.em()返回一个使用新密码的EntityManager? 我们试图避免的是必须使用EntityManagerFactory重新创建EntityManager。 我们希望继续让Play在JPA助手类中管理它。
背景: 该系统在本地运行时具有默认的DB配置。 当部署到服务器上时,使用以下脚本动态设置运行应用程序的DB密码:
#!/bin/bash
stty -echo
read -p "Password: " PASS
stty echo
curl -k https://127.0.0.1:8443/someUrl/pwd --data "password=$PASS"
应用程序接收这些数据,然后重新创建Hibernate SessionFactory。我们的新Play应用程序将需要执行类似操作。