java - 设置 arquillian.xml 和 glassfish-resource.xml

标签 java jdbc glassfish jboss-arquillian payara

我正在关注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.js 文件。我必须在 persistence.xml 中编写什么才能使用该数据库连接?

提前谢谢

更新

我希望使用我的 test-db 在“src/test/resources-payara-remote/glassfish-resources.xml”中声明 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>

关于java - 设置 arquillian.xml 和 glassfish-resource.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40347606/

相关文章:

java - 根据另一个数组对数组进行排序

java - PostgreSQL 存储过程不工作

java - 在 Kubernetes/Docker 容器中使用 JDBC 预验证数据源

java - 如果 JsonGenerator 是在 ByteArrayOutputStream 之上创建的,那么关闭它是否有意义

java - 如何终止 JSF 中 Java 方法或 Java 类的运行 (PrimeFaces 3.0)

java - 冰面王牌 :fileEntry does not work

java - 如何使用 Java 邮件标记跟进

java - System.getProperty ("java.io.tmpdir") 什么时候返回 "c:\temp"

java - JDBC 实现的工作原理

java - Glassfish 异步仅使用 4 个核心中的 2 个。我如何告诉它使用全部 4 个核心?或者至少3个?