【问题标题】:Manege jta-data-source in persistence.xml on deploy部署时在 persistence.xml 中管理 jta-data-source
【发布时间】:2015-02-23 06:48:49
【问题描述】:

有办法在运行时更改 persistence.xml 中的 jta-data-source 并保持在管理模式

@PersistenceContext(unitName="BookUnit")
private EntityManager em;

(我知道我可以使用 EntityManagerFactory,但我想像之前写的那样保持托管模式)

我有多个环境(本地、测试、产品) 并且对于每个环境都有不同的 jndi 数据源 我不会为每个环境更改 persistence.xml 文件 我想在代码中管理它

【问题讨论】:

    标签: java jpa ejb-3.0


    【解决方案1】:

    有多种方法可以实现这种功能 -

    1) 在 persistence.xml 中使用环境变量并根据您的环境适当地初始化它们,即在启动服务器时将此变量初始化为适当的值

    2) 由于您的开发、测试和生产实例会有所不同,因此对于相同的 JNDI 名称,请适当地配置您的数据源。

    例如:在您的开发服务器上配置您的数据源以连接到开发数据库,​​类似地,测试环境可以测试数据库,生产环境可以连接到生产数据库。

    我总是选择选项 2,因为这是标准的做事方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-02
      • 1970-01-01
      • 1970-01-01
      • 2019-01-02
      • 1970-01-01
      • 2021-08-16
      • 2012-07-01
      • 1970-01-01
      相关资源
      最近更新 更多