我已多次尝试在托管容器环境中调试测试。
我收到错误,例如 JDWP传输错误,套接字无法初始化。意味着我无法使用以下属性标记初始化arquillian。
我的arquillian.xml文件如下所示:
<arquillian xmlns="http://jboss.org/schema/arquillian"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://jboss.org/schema/arquillian
http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
<engine>
<property name="deploymentExportPath">target/arq.deployments</property>
</engine>
<container qualifier="jboss" default="true">
<protocol type="jmx-as7">
<property name="executionType">MANAGED</property>
</protocol>
<configuration>
<property name="javaVmArguments">-Xrunjdwp:transport=dt_socket,address=55407,server=y,suspend=y -Xmx512m -XX:MaxPermSize=128m</property>
</configuration>
</container>
</arquillian>
我错过了什么吗?
答案 0 :(得分:5)
在这种情况下有3个JVM在运行。所以这是一个特殊的调试案例。
所以这就是想法,Run test(第二个JVM将暂停,直到JVM连接到它),然后运行一个新的远程配置,一旦启动,过去的JVM就会运行
这有点令人困惑,但有效。
请注意,如果您在简单调试模式下只有2个JVM,那么您将调试arquillian / junit JVM,这不是您感兴趣的JVM。