【问题标题】:howto: in-memory derby db with glassfish如何:使用 glassfish 进行内存 derby db
【发布时间】:2015-11-18 11:59:10
【问题描述】:

我需要在远程 Glassfish 4.1 服务器上运行 arquillian+junit 测试。这些测试用例的数据库表需要
(1) 创建内存中
(2) 嵌入式 JavaDB
(3) 测试执行后drop

以下 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:得到 SQLException 执行语句“CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(15), PRIMARY KEY (SEQ_NAME))“:java.sql.SQLException:表/视图'SEQUENCE'已经 存在于架构“APP”中

【问题讨论】:

    标签: java glassfish derby javadb


    【解决方案1】:

    如果您使用 Maven 进行构建,您可以使用我编写的 derby-maven-plugin,它可以在 GitHub 和 Maven Central 上获得。

    您可以查看here 以获取我对类似问题的回答。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-16
      • 2011-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-20
      • 1970-01-01
      相关资源
      最近更新 更多