对同一个数据源配置两个资源引用文件

可以对同一个数据源配置两个资源引用文件。这允许您扩展数据源的定制属性以使其包括两个不同的模式名(z/OS® 上的 currentSQLId 或者定制属性中的 currentSchema 名称),您可以通过这两个模式名来利用应用程序服务器的功能。

关于此任务

避免故障 避免故障: 要使用此功能,必须将应用程序配置为使用 JPA 2.0 规范。gotcha
创建 EntityManager 时,应用程序服务器将获取与数据库的连接。使用悲观事务时,EntityManager 将保留该连接,直到 EntityManager 关闭为止。存在两个扩展数据源定义的 EntityManager 时,openjpa.jdbc.TransactionIsolation 属性可能会导致事务发生问题。您可以在 persistence.xml 文件中的以下条目中找到此属性:
property name="openjpa.jdbc.TransactionIsolation" value="read-committed" 
为了满足此请求,Java™ Persistence API (JPA) 将获取连接并立即调用 setTransactionIsolation(READ_COMMITTED)。当有两个 EntityManager 共享与数据库的单一物理连接时,第一个 EntityManager 将创建与该数据库的连接并将该连接包括在事务中。第二个 EntityManager 创建连接时,它无法更改隔离级别。
通过在同一个数据源中创建两个资源引用文件,可以避免此问题。您可以使用 Rational® Application Developer 或者通过编辑 XML 文件来创建 资源引用。您将需要对 ejb-jar.xmlibm-ejb-jar-bnd.xmlibm-ejb-jar-ext.xmlpersistence.xml 文件进行更改。
注: 对于 IBM® Optim™ PureQuery Runtime,如果这是 XA 数据源,那么必须对此数据源定义 property_namedowngradeHoldCursorsUnderXa 且布尔值为 true 的新定制属性。
有关如何完成此任务的信息,请参阅下列各节:

过程


指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_purequeryresref
文件名:tdat_purequeryresref.html