Arquillian - Wildfly 无法部署 test.war (无法连接到 http-remoting://127.0.0.1:9990。连接失败)

sre*_*rex 5 jboss-arquillian wildfly

我正在尝试使用 Arquillian 和 Wildfly (8.1.0.Final 和 8.2.0.Final 测试)容器运行一个简单的 JPA 测试(持久、读取、JSON 序列化),但直到现在我还无法将 test.war 部署到嵌入式服务器。该测试使用 Jboss 7.1.1.Final 容器运行。

您可以在 google Drive 上找到可下载的项目包。您可以在该包中看到 Maven 和 Arquillian 配置。我尝试过使用或不使用管理领域凭据。在配置文件wildfy81-embedded-credentials(这是包中的默认值)上,构建首先解压 wildfly 包,然后覆盖定义了管理员用户凭据和角色的 mgmt-users.properties 和 mgmt-groups.properties。

例外的是

INFO  [org.jboss.ws.common.management] JBWS022052: Starting JBoss Web Services - Stack CXF Server 4.2.4.Final
INFO  [org.jboss.as] JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
INFO  [org.jboss.as] JBAS015951: Admin console listening on http://127.0.0.1:9990
INFO  [org.jboss.as] JBAS015874: WildFly 8.1.0.Final "Kenny" started in 3401ms - Started 184 of 233 services (81 services are lazy, passive or on-demand)
INFO  [org.xnio] XNIO version 3.2.0.Beta4
INFO  [org.xnio.nio] XNIO NIO Implementation Version 3.2.0.Beta4
INFO  [org.jboss.remoting] JBoss Remoting version 4.0.3.Final
ERROR [org.jboss.remoting.remote.connection] JBREM000200: Remote connection failed: java.io.IOException: JBREM000202: Abrupt close on Remoting connection 0a93e136 to /127.0.0.1:9990
ERROR [org.jboss.remoting.remote.connection] JBREM000200: Remote connection failed: java.io.IOException: An existing connection was forcibly closed by the remote host
ERROR [org.jboss.remoting.remote.connection] JBREM000200: Remote connection failed: java.io.IOException: JBREM000202: Abrupt close on Remoting connection 084cf5d6 to /127.0.0.1:9990
ERROR [org.jboss.remoting.remote.connection] JBREM000200: Remote connection failed: java.io.IOException: An existing connection was forcibly closed by the remote host
WARN  [org.jboss.as.arquillian.container.ArchiveDeployer] Cannot undeploy: test.war: org.jboss.as.controller.client.helpers.standalone.ServerDeploymentHelper$ServerDeploymentException: java.lang.RuntimeException: java.net.ConnectException: JBAS012174: Could not connect to http-remoting://127.0.0.1:9990. The connection failed
    at org.jboss.as.controller.client.helpers.standalone.ServerDeploymentHelper.undeploy(ServerDeploymentHelper.java:109) [wildfly-controller-client-8.1.0.Final.jar:8.1.0.Final]
    at org.jboss.as.arquillian.container.ArchiveDeployer.undeploy(ArchiveDeployer.java:55) [wildfly-arquillian-common-8.1.0.Final.jar:8.1.0.Final]
    at org.jboss.as.arquillian.container.CommonDeployableContainer.undeploy(CommonDeployableContainer.java:152) [wildfly-arquillian-common-8.1.0.Final.jar:8.1.0.Final]
Caused by: java.lang.RuntimeException: java.net.ConnectException: JBAS012174: Could not connect to http-remoting://127.0.0.1:9990. The connection failed
at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeAsync(AbstractModelControllerClient.java:103) [wildfly-controller-client-8.1.0.Final.jar:8.1.0.Final]
at org.jboss.as.controller.client.helpers.standalone.impl.ModelControllerClientServerDeploymentManager.executeOperation(ModelControllerClientServerDeploymentManager.java:50) [wildfly-controller-client-8.1.0.Final.jar:8.1.0.Final]
at org.jboss.as.controller.client.helpers.standalone.impl.AbstractServerDeploymentManager.execute(AbstractServerDeploymentManager.java:79) [wildfly-controller-client-8.1.0.Final.jar:8.1.0.Final]
at org.jboss.as.controller.client.helpers.standalone.ServerDeploymentHelper.undeploy(ServerDeploymentHelper.java:106) [wildfly-controller-client-8.1.0.Final.jar:8.1.0.Final]
... 82 more
Caused by: java.net.ConnectException: JBAS012174: Could not connect to http-remoting://127.0.0.1:9990. The connection failed
    at org.jboss.as.protocol.ProtocolConnectionUtils.connectSync(ProtocolConnectionUtils.java:117) [wildfly-protocol-8.1.0.Final.jar:8.1.0.Final]
    at org.jboss.as.protocol.ProtocolConnectionManager$EstablishingConnection.connect(ProtocolConnectionManager.java:256) [wildfly-protocol-8.1.0.Final.jar:8.1.0.Final]
Run Code Online (Sandbox Code Playgroud)

您能帮我找到这里的问题吗?

提前致谢。

编辑1

来自 arquillian.xml

<container qualifier="wildfly-embedded-credentials">
        <configuration>
            <property name="jbossHome">target/wildfly-8.1.0.Final</property>
            <property name="modulePath">target/wildfly-8.1.0.Final/modules</property>
            <property name="managementAddress">127.0.0.1</property>
            <property name="managementPort">9990</property>
            <property name="username">admin</property>
            <property name="password">admin</property>
            <property name="outputToConsole">true</property>
        </configuration>
    </container>
Run Code Online (Sandbox Code Playgroud)

部署代码:

@Deployment
public static WebArchive createDeployment() {
    return ShrinkWrap.create(WebArchive.class, "test.war")
        .addPackage(MyBean.class.getPackage())
        .addAsLibraries(new File("target/test-libs/commons-collections.jar"), 
                        new File("target/test-libs/flexjson.jar"))
        .addAsResource("test-persistence.xml", "META-INF/persistence.xml")
        .addAsWebInfResource("jboss-ds.xml")
        .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
}
Run Code Online (Sandbox Code Playgroud)

我想知道这是不是因为网址的原因

INFO Http management interface listening on http://127.0.0.1:9990/management
Run Code Online (Sandbox Code Playgroud)

编辑2

在附加的项目(上面的谷歌驱动器链接)中,您将看到pom.xml 中嵌入了另一个配置文件 wildfy81,具有不同的 arquillian 配置,其中我不提供管理地址或用户名和密码,仅定义了 jbossHome 和 modulePath 文件夹。我得到同样的异常(同样的端口,9990)。

<container qualifier="wildfly-embedded">
    <configuration>
        <property name="jbossHome">target/wildfly-8.1.0.Final</property>
        <property name="modulePath">target/wildfly-8.1.0.Final/modules</property>
        <property name="outputToConsole">true</property>
    </configuration>
</container>
Run Code Online (Sandbox Code Playgroud)

在我的最后一次测试中,我注意到了另一个异常原因(可能是因为我在家使用的java版本或eclipse版本)。这是其他异常行底部的异常无法连接到 http-remoting://127.0.0.1:9990。连接失败

Caused by: java.io.IOException: Invalid response
at org.xnio.http.HttpUpgradeParser.parseVersion(HttpUpgradeParser.java:150) [xnio-api-3.2.0.Beta4.jar:3.2.0.Beta4]
at org.xnio.http.HttpUpgradeParser.parse(HttpUpgradeParser.java:53) [xnio-api-3.2.0.Beta4.jar:3.2.0.Beta4]
at org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.handleEvent(HttpUpgrade.java:299) [xnio-api-3.2.0.Beta4.jar:3.2.0.Beta4]
at org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.handleEvent(HttpUpgrade.java:279) [xnio-api-3.2.0.Beta4.jar:3.2.0.Beta4]
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) [xnio-api-3.2.0.Beta4.jar:3.2.0.Beta4]
at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) [xnio-api-3.2.0.Beta4.jar:3.2.0.Beta4]
at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:87) [xnio-nio-3.2.0.Beta4.jar:3.2.0.Beta4]
at org.xnio.nio.WorkerThread.run(WorkerThread.java:531) [xnio-nio-3.2.0.Beta4.jar:3.2.0.Beta4]
at ...asynchronous invocation...(Unknown Source)
at org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:272) [jboss-remoting-4.0.3.Final.jar:4.0.3.Final]
at org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:253) [jboss-remoting-4.0.3.Final.jar:4.0.3.Final]
at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:351) [jboss-remoting-4.0.3.Final.jar:4.0.3.Final]
at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:339) [jboss-remoting-4.0.3.Final.jar:4.0.3.Final]
at org.jboss.as.protocol.ProtocolConnectionUtils.connect(ProtocolConnectionUtils.java:78) [wildfly-protocol-8.1.0.Final.jar:8.1.0.Final]
at org.jboss.as.protocol.ProtocolConnectionUtils.connectSync(ProtocolConnectionUtils.java:109) [wildfly-protocol-8.1.0.Final.jar:8.1.0.Final]
... 95 more
Run Code Online (Sandbox Code Playgroud)

mma*_*oka 4

由于 Windows 平台上的 Nvidia 驱动程序,我曾多次遇到此异常(无效响应部分)。NVIDIA 网络服务使用与 WildFly/JBoss AS 相同的端口。如果您使用带有 nvidia 的 Windows,请转到本地服务并停止该服务,然后检查测试是否有效:)。