Mar*_*rco 2 java jdbc glassfish jboss-arquillian payara
我正在按照本教程,但我有一些问题来设置jdbc连接.
在我的arquillian.xml中,我写道:
...
<container qualifier="payara-remote" default="true">
<configuration>
<property name="resourcesXml">
src/test/resources-payara-remote/glassfish-resources.xml
</property>
</configuration>
</container>
...
Run Code Online (Sandbox Code Playgroud)
当我运行我的测试时,我收到此警告:
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]
Run Code Online (Sandbox Code Playgroud)
所以我认为"resourceXml"不受支持......我如何告诉arquillian使用该文件?
而且,在该文件中我声明了一个jdbc/test.我必须在persistence.xml中编写什么才能使用该数据库连接?
先感谢您
UPDATE
我希望在"src/test/resources-payara-remote/glassfish-resources.xml"中使用我的test-db声明jdbc连接(不在远程服务器中创建jdbc连接),但我不知道如何设置arquillian以使用.xml文件中声明的jdbc连接.
如果要在远程GlasFish/Payara服务器上创建JDBC资源,最好的方法是glassfish-resources.xml在测试中打包到部署中(在@Deployment方法中,使用.addAsWebInfResource("glassfish-resources.xml").当服务器在应用程序的文件夹中找到此文件glassfish-resources.xml时WEB-INF,它将暂时创建资源,直到arquillian测试套件取消部署应用程序.
GlassFish/Payara远程arquillian连接器不提供从xml设置资源.此功能仅由glassfish-embedded连接器提供,该连接器在测试JVM中运行GlassFish/Payara.嵌入式连接器是您所说的教程中使用的连接器.实际上,如果要对远程GlassFish/Payara服务器运行测试,则应该在教程中比较测试远程WildFly的步骤.它还包括将XML和资源添加到部署中:.addAsWebInfResource("jbossas-ds.xml")
如果要将GlassFish嵌入式连接器与Payara一起使用,只需在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>
Run Code Online (Sandbox Code Playgroud)