设置 arquillian.xml 和 glassfish-resource.xml
set up arquillian.xml and glassfish-resource.xml
我一直在关注 this tutorial 但我在设置 jdbc 连接时遇到了一些问题。
在我的 arquillian.xml 我写道:
...
<container qualifier="payara-remote" default="true">
<configuration>
<property name="resourcesXml">
src/test/resources-payara-remote/glassfish-resources.xml
</property>
</configuration>
</container>
...
当我 运行 我的测试我收到这个警告:
AVVERTENZA: Configuration contain properties not supported by the backing object org.jboss.arquillian.container.glassfish.remote_3_1.GlassFishRestConfiguration
Unused property entries: {resourcesXml=
src/test/resources-payara-remote/glassfish-resources.xml
}
Supported property names: [adminHttps, remoteServerHttpPort, libraries, type, remoteServerAddress, target, remoteServerAdminPort, remoteServerAdminHttps, adminUser, authorisation, adminPort, properties, adminHost, adminPassword]
所以我认为 "resourceXml" 不受支持...我如何告诉 arquillian 使用该文件?
此外,在该文件中我声明了一个 jdbc/test。我必须在 persistence.xml 中写什么才能使用该数据库连接?
提前致谢
更新
我希望在 "src/test/resources-payara-remote/glassfish-resources.xml" 中使用我的测试数据库声明 jdbc 连接(而不在 远程中创建 jdbc 连接server), 但我不知道如何设置 arquillian 以使用 .xml 文件中声明的 jdbc 连接。
如果您想在远程 GlasFish/Payara 服务器上创建 JDBC 资源,最好的方法是将 glassfish-resources.xml
打包到测试中的部署中(在 @Deployment
方法,使用 .addAsWebInfResource("glassfish-resources.xml")
。当服务器在应用程序的 WEB-INF
文件夹中找到这个文件 glassfish-resources.xml
时,它将临时创建资源,直到 arquillian 测试套件取消部署应用程序.
GlassFish/Payara 远程 arquillian 连接器不提供从 xml 设置资源。此功能仅由 glassfish-embedded
连接器提供,它在您的测试 JVM 中 运行s GlassFish/Payara。嵌入式连接器是您所说的教程中使用的连接器。实际上,如果您想 运行 针对远程 GlassFish/Payara 服务器进行测试,您应该比较教程中针对远程 WildFly 进行测试的步骤。它还包括在部署中添加带有资源的 XML:.addAsWebInfResource("jbossas-ds.xml")
如果您想在 Payara 中使用 GlassFish 嵌入式连接器,只需在 maven pom.xml 中添加以下依赖项:
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-glassfish-embedded-3.1</artifactId>
<version>1.0.0.Final</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>fish.payara.extras</groupId>
<artifactId>payara-embedded-all</artifactId>
<version>4.1.1.163.0.1</version>
<scope>test</scope>
</dependency>
我一直在关注 this tutorial 但我在设置 jdbc 连接时遇到了一些问题。
在我的 arquillian.xml 我写道:
...
<container qualifier="payara-remote" default="true">
<configuration>
<property name="resourcesXml">
src/test/resources-payara-remote/glassfish-resources.xml
</property>
</configuration>
</container>
...
当我 运行 我的测试我收到这个警告:
AVVERTENZA: Configuration contain properties not supported by the backing object org.jboss.arquillian.container.glassfish.remote_3_1.GlassFishRestConfiguration
Unused property entries: {resourcesXml=
src/test/resources-payara-remote/glassfish-resources.xml
}
Supported property names: [adminHttps, remoteServerHttpPort, libraries, type, remoteServerAddress, target, remoteServerAdminPort, remoteServerAdminHttps, adminUser, authorisation, adminPort, properties, adminHost, adminPassword]
所以我认为 "resourceXml" 不受支持...我如何告诉 arquillian 使用该文件?
此外,在该文件中我声明了一个 jdbc/test。我必须在 persistence.xml 中写什么才能使用该数据库连接?
提前致谢
更新
我希望在 "src/test/resources-payara-remote/glassfish-resources.xml" 中使用我的测试数据库声明 jdbc 连接(而不在 远程中创建 jdbc 连接server), 但我不知道如何设置 arquillian 以使用 .xml 文件中声明的 jdbc 连接。
如果您想在远程 GlasFish/Payara 服务器上创建 JDBC 资源,最好的方法是将 glassfish-resources.xml
打包到测试中的部署中(在 @Deployment
方法,使用 .addAsWebInfResource("glassfish-resources.xml")
。当服务器在应用程序的 WEB-INF
文件夹中找到这个文件 glassfish-resources.xml
时,它将临时创建资源,直到 arquillian 测试套件取消部署应用程序.
GlassFish/Payara 远程 arquillian 连接器不提供从 xml 设置资源。此功能仅由 glassfish-embedded
连接器提供,它在您的测试 JVM 中 运行s GlassFish/Payara。嵌入式连接器是您所说的教程中使用的连接器。实际上,如果您想 运行 针对远程 GlassFish/Payara 服务器进行测试,您应该比较教程中针对远程 WildFly 进行测试的步骤。它还包括在部署中添加带有资源的 XML:.addAsWebInfResource("jbossas-ds.xml")
如果您想在 Payara 中使用 GlassFish 嵌入式连接器,只需在 maven pom.xml 中添加以下依赖项:
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-glassfish-embedded-3.1</artifactId>
<version>1.0.0.Final</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>fish.payara.extras</groupId>
<artifactId>payara-embedded-all</artifactId>
<version>4.1.1.163.0.1</version>
<scope>test</scope>
</dependency>