2

マネージドコンテナ環境でテストをデバッグしようと何度も試みました。

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>

私は何かが足りないのですか?

スクリーンショット

4

1 に答える 1

5

この場合、3つのJVMが実行されています。したがって、これは特別なデバッグケースです。

  1. 最初のJVM->テストを実行するためにArquillian/Junitによって開始されました。
  2. 2番目のJVM->マネージドJbossを実行するためにArquillianによって開始されました。
  3. 3番目のJVM->2番目のJVMをデバッグするために、JVM番号2に移植する必要があるリモートデバッグ構成です。このブログをチェックしてください

つまり、これはアイデアです。テストを実行し(2番目のJVMはJVMが接続されるまで中断されます)、新しいリモート構成を実行します。これが開始されるとすぐに、過去のJVMが実行されます。

少し紛らわしいですが、機能します。

単純なデバッグモードでJVMが2つしかない場合は、arquillian / junit JVMをデバッグすることになりますが、これは目的のJVMではありません。

ここに画像の説明を入力してください

于 2013-01-25T19:36:07.743 に答える