2015-11-18 3 views
1

Мне нужно запустить тесты arquillian + junit на удаленном сервере Glassfish 4.1. Таблицы баз данных для этих тестов должны быть
(1) создан в памяти,
(2) с встроенной JavaDB и
(3) упали после выполнения теста.howto: in-memory derby db with glassfish

Будет ли работать следующий glassfish-resources.xml?

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE resources PUBLIC 
    "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" 
    "http://glassfish.org/dtds/glassfish-resources_1_5.dtd"> 
<resources> 
    <jdbc-resource pool-name="ArquillianEmbeddedDerbyPool" 
        jndi-name="java:app/jdbc/chapter2" /> 
    <jdbc-connection-pool name="ArquillianEmbeddedDerbyPool" 
          res-type="javax.sql.DataSource" 
          datasource-classname="org.apache.derby.jdbc.EmbeddedDataSource" 
          is-isolation-level-guaranteed="false"> 
     <property name="databaseName" value="memory:action-bazaar-db"/> 
     <property name="createDatabase" value="create"/> 
    </jdbc-connection-pool> 
</resources> 

Я попытался, но не уверен, что база данных создана в памяти. Я всегда получаю ошибку ниже при каждом запуске тестов. Как избавиться от этой ошибки?

PER01000: Got SQLException выполнения оператор "CREATE TABLE ПОСЛЕДОВАТЕЛЬНОСТЬ (SEQ_NAME VARCHAR (50) NOT NULL, SEQ_COUNT DECIMAL (15), PRIMARY KEY (SEQ_NAME))": java.sql.SQLException: Таблица/Просмотр «Sequence» уже существует в схеме «APP»

ответ

0

Если вы используете Maven для сборки, вы можете использовать derby-maven-plugin, которую я написал и доступен на GitHub и через Maven Central.

Вы можете проверить here для ответа на подобный вопрос.