Мне нужно сделать интеграционный тест для проверки многопоточности в Oracle. Мы используем openjpa в нашем приложении, поэтому я решил использовать openjpa-maven-plugin для проведения этого теста.
Я пытался подготовить профиль для проверки
<profiles>
<profile>
<id>integration-test</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
<version>${openjpa.version}</version>
<configuration>
<sqlAction>build</sqlAction>
<sqlFile>/src/test/resources/sql/insert.sql</sqlFile>
<connectionDriverName>org.apache.commons.dbcp.BasicDataSource</connectionDriverName>
<connectionProperties>
driverClass=oracle.jdbc.OracleDriver,
jdbc.url=jdbc:oracle:thin:@server-test-ora:1521/bacl,
user=user,
password=root,
minPoolSize=5,
acquireRetryAttempts=3,
maxPoolSize=20
</connectionProperties>
<includes>**/entities/*.class</includes>
<addDefaultConstructor>true</addDefaultConstructor>
<enforcePropertyRestrictions>true</enforcePropertyRestrictions>
</configuration>
<executions>
<execution>
<id>test enhancer</id>
<phase>process-test-classes</phase>
<goals>
<goal>test-enhance</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa</artifactId>
<version>${openjpa.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
</profiles>
Но на самом деле я не понимаю, что мне нужно делать и как сделать этот тест. Как заставить EntityManager попытаться выполнить мою вставку.sql
INSERT INTO USER (NAME,SURNAME,DATE) VALUES ('NAME','SURNAME',to_date('2018-12-08 17:21:03', 'yyyy-mm-dd hh24:mi:ss'));
Что мне нужно. Это попытка сделать несколько параллельных тестов. У меня много этого, но без БД, и теперь мне нужно тестовое соединение или inMemoryOracle.
Так что мой вопрос
Как получить EntityManager из плагина (Нужно ли создавать еще один context.xml?)