java在ant脚本中将JVM参数传递给clover
我在ANT脚本中从CloverETL调用runGraph类,如下所示
<java classname="org.jetel.main.runGraph" fork="true" failonerror="true">
<arg value="${canadapostdir}/metadata/CanadaPostADDTypes34.grf"/>
<classpath>
<pathelement path="${ear.lib}/clover.jar" />
<pathelement path="${ear.libext}/oracle.jdbc/ojdbc6.jar" />
<pathelement path="${ear.libext}/mysql.jdbc/mysql-connector-java-3.0.15-ga-bin.jar" />
<fileset dir="${ear.lib}">
<include name="*.jar"/>
</fileset>
</classpath>
</java>
当clover启动时,我可以在日志中看到:
[java] [Clover] starting WatchDog thread ...
[java] [WatchDog] Thread started.
[java] [WatchDog] Running on 16 CPU(s) max available memory for JVM 3005703 kB
[java] [Clover] Initializing phase: 0
[java] all edges initialized successfully...
[java] initializing nodes:
[java] INPUT ...OK
[java] TYPEFILTER ...OK
[java] REF ...OK
[java] OUTPUT ...OK
[java] [Clover] phase: 0 initialized successfully.
[java] [WatchDog] Starting up all nodes in phase [0]
[java] [WatchDog] INPUT ... started
[java] [WatchDog] TYPEFILTER ... started
[java] [WatchDog] REF ... started
[java] [WatchDog] OUTPUT ... started
[java] [WatchDog] Sucessfully started all nodes in phase!
我的问题是:如何让clover运行的内存超过3005703 kB?这个脚本运行的服务器上实际上有100gig的可用ram
编辑:我知道我所看到的clover没有在一个单独的jvm上运行,我猜它使用了当前jvm实例上所有可用的可用内存。我需要找到一种方法在一个单独的jvm上启动clover,我可以通过-Xms10240m-Xmx10240m
# 1 楼答案
<jvmarg>
嵌套元素用于传递JVM参数:您正在另一个VM中执行该类。这就是
fork=true
的意思