2013-01-25 40 views
2

我已經嘗試了多次調試託管容器環境中的測試。在IntelliJ託管容器中使用Arquillian進行調試

我收到錯誤,如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> 

我這麼想嗎?

Screenshot

回答

5

有3個JVM在這種情況下運行。所以這是一個特殊的調試案例。

  1. 1st JVM->由Arquillian/Junit開始執行測試。
  2. 第二個JVM->由Arquillian啓動運行託管的Jboss。
  3. 第3個JVM->這是一個遠程調試配置必須移植到JVM 第2號爲了調試第2個JVM。看看這個blog

所以這樣的想法,運行測試(第2 JVM將暫停,直到JVM連接到它),然後運行一個新的遠程配置,只要這個開始,過去的JVM將運行。

這有點混亂,但工程。

請注意,如果在簡單調試模式下只有2個JVM,那麼您將調試arquillian/junit JVM,這不是您感興趣的那個。

enter image description here

相關問題