4

私たちは tomcat 7 で arquillian を実行しています...
同僚からの MAC を使用すると、テストは正常に動作しますが、私の Linux コンピューター (両方とも 8GB の RAM を使用) では次のように失敗します。

FATAL: Error waiting for multi-thread deployment of WAR files to complete
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space

テストを開始すると、スタックに次の行が表示されます。

14:05:56.482 情報 - Tomcat を次のように起動します: [java, -Dcom.sun.management.jmxremote.port=8089, -Dcom.sun.management.jmxremote.ssl=false, -Dcom.sun.management.jmxremote.authenticate = false, -Xmx512m, -XX:MaxPermSize=128m, -classpath, /home/user/apache-tomcat-testing/bin/bootstrap.jar:/home/user/apache-tomcat-testing/bin/tomcat-juli. jar、-Djava.endorsed.dirs=/home/user/apache-tomcat-testing/endorsed、-Dcatalina.base=/home/user/apache-tomcat-testing、-Dcatalina.home=/home/user/apache- tomcat-testing、-Djava.io.tmpdir=/home/user/apache-tomcat-testing/temp、org.apache.catalina.startup.Bootstrap、-config、/home/user/apache-tomcat-testing/conf/ server.xml、開始]

で編集してみましbin/catalina.sh

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms2048m -Xmx2048m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"

しかし、まだxmx=512mスタック内にあります。forと for
も追加しましpom.xmlたが、それでも同じエラーが発生します...<argLine>-Xms2048m -Xmx2048m</argLine>failsafe-maven-pluginmaven-surefire-plugin

arquillian テスト用に xmx を変更する適切な場所はどこですか?

ありがとう!

4

1 に答える 1

5

Arquillian 管理の Tomcat 7 コンテナーを使用しているようです。arquillian.xmlのjavaVmArgumentsプロパティを使用してXmx値を指定します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://jboss.org/schema/arquillian"
    xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">

    <container qualifier="tomcat" default="true">
        <configuration>
            <property name="catalinaHome">${CATALINA_HOME:target/apache-tomcat-7.0.20}</property>
            <property name="javaVmArguments">-Xms2048m -Xmx2048m</property>
            <property name="jmxPort">8089</property>
            <property name="bindHttpPort">8080</property>
            <property name="user">manager</property>
            <property name="pass">password</property>
            <property name="serverConfig">server.xml</property>
        </configuration>
    </container>
</arquillian>

管理対象の Tomcat 7 コンテナーでサポートされているプロパティの完全なリファレンスは、Arquillian Confluence wikiにあります。

于 2012-08-24T07:44:20.753 に答える