部署中的persistence.xml中的Manege jta-data-source

时间:2014-12-25 16:31:43

标签: java jpa ejb-3.0

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

2)作为dev,test&的实例生产会有所不同,因为相同的JNDI名称会适当地配置您的数据源。

您的开发服务器上的

例如配置您的数据流以连接到开发者数据库,类似于测试环境以测试数据库和生产到生产数据库。

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