Ant 蚂蚁-打印集合-地图

Ant 蚂蚁-打印集合-地图,ant,map,jmx,Ant,Map,Jmx,我有一个ant脚本正在执行jmx get任务: <jmx:get name="java.lang:type=GarbageCollector,name=Copy" attribute="LastGcInfo" resultproperty="CopyLastGcInfo" /> 现在,LastGcInfo属性有一个名为memoryUsageBefor

我有一个ant脚本正在执行jmx get任务:

<jmx:get
                name="java.lang:type=GarbageCollector,name=Copy" 
                attribute="LastGcInfo"
                resultproperty="CopyLastGcInfo"
                />

现在,LastGcInfo属性有一个名为memoryUsageBeforeGC的映射。在这个映射中,有一对带有一个名为“value”的键。虽然我无法引出它并打印出来。我试着这样做:

    <echo>${CopyLastGcInfo.memoryUsageBeforeGc.value.used}</echo>
    <echo>${CopyLastGcInfo.memoryUsageBeforeGc.0.used}</echo>
    <echo>${CopyLastGcInfo.memoryUsageBeforeGc.used}</echo>
${CopyLastGcInfo.memoryUsageBeforeGc.value.used}
${CopyLastGcInfo.MEMORYUSAGEFOREGC.0.used}
${CopyLastGcInfo.MEMORYUSAGEFOREGC.used}
那没用。你对如何解决这个问题有什么建议吗


谢谢

下面的例子对我很有用:

<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:query”任务的“echo”属性可用于查看任务创建的ANT属性和值。用于故障排除

您使用的第三方JMX ANT任务是什么?嗨,Mark,这是org.apache.catalina.ANT.JMX请注意,这些表达式中使用的代的名称是特定于JVM的,并且可以在不同版本之间更改(即使是小的更新!)。@Joachimsuer同意。这就是为什么我提到使用“echo”属性来查看ANT任务创建的实际属性。
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]