如何使用jmx fetchlet收集HashMap

时间:2013-03-18 09:22:46

标签: enterprise-manager

我正在使用OEM云控制12.1c。我有一个java进程,它可以在我的应用程序中收集一些指标。其中一个jmx属性是Map(java.util.Map)。

现在,我想创建一个OEM插件,定期收集此Map。我尝试使用jmxcli实用程序生成目标元数据,但该工具要求我输入地图的键。密钥是动态生成的,因此在创建目标元数据时无法输入这些密钥。

你们有没有遇到这个问题?我该如何解决这个问题?我不想硬编码密钥,需要在我的插件主页中显示完整的Map。

选择地图时,这是控制台的一个片段:

JavaBean (of type Map) is : TypeDistributionMap
0: empty
1: ** User defined Name Values **
Select one or more items as comma separated indices: 1
*** Getting values for User Defined properties

Looping through all user defined Keys. Enter '..' to exit loop.

Enter the key: [This key is dynamic, what should I enter here?]
Enter the DATATYPE of the value: [java.lang.String] 

1 个答案:

答案 0 :(得分:0)

不是使用HashMap(或Map),最好返回TabularData,它是JMX的最佳实践(我猜JMX fetchlet不支持Maps)。当我使用TabularData时,我能够使用jmxcli实用程序生成元数据。