我正在尝试使用嵌入式Tomee测试带有Arquillian持久性的会话bean。但Tomee尝试连接到其默认的HSQLDB数据源。
AFAIK,我应该指示Tomee使用注释HSQLDB数据源的tomee.xml。
我如何使用阿奎利安.xml?还是有另一种方法?
我的部署方法:
@Deployment
public static WebArchive createTestArchive() {
MavenResolverSystem resolver = Maven.resolver();
File[] files = resolver.loadPomFromFile("pom.xml").importRuntimeDependencies().resolve().withTransitivity().asFile();
for (File f : files) {
System.out.println(f.getPath());
}
return ShrinkWrap.create(WebArchive.class)
.addClasses(MyBean.class)
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml")
.addAsManifestResource("persistence.xml", "persistence.xml")
.addAsLibraries(files);
}
我的persistence.xml:
<persistence-unit name="oracle">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.archive.autodetection" value="class" />
<property name="hibernate.dialect"
value="org.hibernate.dialect.OracleDialect"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" />
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:ORADB" />
<property name="hibernate.connection.username" value="gk2" />
<property name="hibernate.connection.password" value="qwerty" />
<!-- <property name="hibernate.show_sql" value="true"/> -->
<property name="hibernate.flushMode" value="FLUSH_AUTO" />
<property name="hibernate.hbm2ddl.auto" value="validate" />
</properties>
</persistence-unit>
我的arquillian.xml:
<container qualifier="tomee" default="true">
<configuration>
<property name="httpPort">-1</property>
<property name="stopPort">-1</property>
<!--Optional Container Properties -->
<property name="properties">
</property>
</configuration>
</container>
我发现了问题。
应该在arquillian.xml中配置数据源:
<property name="properties">
oracle = new://Resource?type=DataSource
oracle.JdbcUrl = jdbc:oracle:thin:@localhost:1521:ORADB
oracle.JdbcDriver = oracle.jdbc.driver.OracleDriver
oracle.UserName = username
oracle.Password = password
...
</property>
我有一个基于maven的J2EE项目。此项目包含到数据库的连接,该连接是通过资源设置的。xml和持久性。xml。正常部署时,连接工作正常。 我的问题是,我想运行嵌入式TomEE服务器进行集成测试。对于这些测试,我需要使用内存数据库。 要启动TomEE,我使用如下所示的maven插件组合。 当我启动maven goal mvn安装时,服务器按预期运行,但数据库连接错误。我没有找到方法,如何设置,我需
在tome远程上执行具有阿奎利安的测试用例时,我得到以下异常 似乎没有与部署相关的其他异常。使用以下 maven 依赖项 arquillian-junit-container 1.1.9 arquillian-tomee-remote
您好,我尝试在测试前创建数据库schem,但它失败了:/这是我的脚本: 并且当我尝试使用squirell和嵌入式Derby运行该脚本时,它起作用了。 首先,我尝试在类测试之前使用注释@createSchema(“scripts/import.sql”): 接下来尝试使用@applyscriptbefore 第二次我尝试使用脚本: property name=“ScriptStoExecuteBef
问题内容: 使用嵌入式h2数据源以及JUnit(可选),用于集成测试的Spring配置看起来如何? 我第一次尝试使用SingleConnectionDataSource基本上可以成功,但是在更复杂的测试中失败了,在该测试中您需要同时进行多个连接或暂停事务。我认为基于tcp的服务器模式下的 h2 可能也能正常工作,但这可能不是内存中临时嵌入式数据库最快的通信模式。 有哪些可能性及其优势/劣势?另外,
如何配置Spring Boot应用程序,以便在运行单元测试时使用嵌入式SQL Server,从而可以执行存储过程?
这是我的职能。它获得产品的两个参数id和一个名称。使用MySQL命令删除数据库中的一行。我知道在我的代码中有缺失的行,我被卡住了,我不知道如何完成它。我还知道我的SQL行不正确。我不确定组合字符串“name”是否正确。