我有一个Java-EE Web应用程序,使用打包为jar依赖项的持久性单元(实体类、EJB存储库、persistence.xml)。
为了使Web应用程序运行一些验收测试,我需要覆盖打包的persistence.xml中的某个属性。具体来说,我需要通过设置以下属性来禁用默认情况下活动的eclipselink 共享对象缓存。
这是必要的,因为验收测试会直接使用dbunit准备/清理数据库。这些修改将使eclipselink缓存处于陈旧状态(因为持久化单元未参与这些修改)。
在java-ee(或glassfish特定)中是否有一种方法可以覆盖位于jar中的persistence.xml中的属性(从Web应用程序war文件开始,在运行我的测试时部署)?
可能还有其他方法,例如构建特定于测试部署的jar依赖项,但对我来说,这条路似乎过于复杂,只是为了覆盖我的persistence.xml中的一个属性。
为了使Web应用程序运行一些验收测试,我需要覆盖打包的persistence.xml中的某个属性。具体来说,我需要通过设置以下属性来禁用默认情况下活动的eclipselink 共享对象缓存。
<property name="eclipselink.cache.shared.default" value="false"/>
这是必要的,因为验收测试会直接使用dbunit准备/清理数据库。这些修改将使eclipselink缓存处于陈旧状态(因为持久化单元未参与这些修改)。
在java-ee(或glassfish特定)中是否有一种方法可以覆盖位于jar中的persistence.xml中的属性(从Web应用程序war文件开始,在运行我的测试时部署)?
可能还有其他方法,例如构建特定于测试部署的jar依赖项,但对我来说,这条路似乎过于复杂,只是为了覆盖我的persistence.xml中的一个属性。