我有一个执行jmx get任务的ant脚本:
<jmx:get
name="java.lang:type=GarbageCollector,name=Copy"
attribute="LastGcInfo"
resultproperty="CopyLastGcInfo"
/>
现在,LastGcInfo属性有一个名为memoryUsageBeforeGC的地图Map。在这张地图中,有一对称为“值”的键。 Althoug我无法引出它并将其打印出来。我试图像那样完成它:
<echo>${CopyLastGcInfo.memoryUsageBeforeGc.value.used}</echo>
<echo>${CopyLastGcInfo.memoryUsageBeforeGc.0.used}</echo>
<echo>${CopyLastGcInfo.memoryUsageBeforeGc.used}</echo>
那不起作用。您对如何解决这个问题有什么建议吗?
感谢。
答案 0 :(得分:1)
以下示例适用于我:
<project name="Catalina Ant JMX" xmlns:jmx="antlib:org.apache.catalina.ant.jmx" default="jmx">
<target name="jmx" description="Show JMX stats">
<jmx:open host="localhost" port="9012" username="controlRole" password="tomcat"/>
<jmx:get name="java.lang:type=GarbageCollector,name=Copy"
attribute="LastGcInfo"
resultproperty="CopyLastGcInfo"
echo="false"
/>
<echo>
memoryUsageBeforeGc
===================
Perm Gen.used=${CopyLastGcInfo.memoryUsageBeforeGc.Perm Gen.used}
Tenured Gen.used=${CopyLastGcInfo.memoryUsageBeforeGc.Tenured Gen.used}
Eden Space.used=${CopyLastGcInfo.memoryUsageBeforeGc.Eden Space.used}
Code Cache.used=${CopyLastGcInfo.memoryUsageBeforeGc.Code Cache.used}
Survivor Space.used=${CopyLastGcInfo.memoryUsageBeforeGc.Survivor Space.used}
</echo>
</target>
</project>
示例输出
jmx:
[echo]
[echo] memoryUsageBeforeGc
[echo] ===================
[echo] Perm Gen.used=9660888
[echo] Tenured Gen.used=8393792
[echo] Eden Space.used=4456448
[echo] Code Cache.used=2038016
[echo] Survivor Space.used=172784
[echo]
注意强>