Как собрать HashMap с помощью jmx fetchlet
Я использую OEM cloud control 12.1c. У меня есть процесс Java, который инструментирован для сбора некоторых показателей в моем приложении. Одним из атрибутов jmx является Map (java.util.Map).
Теперь я хочу создать OEM-плагин, который периодически собирает эту карту. Я попытался использовать утилиту jmxcli для генерации метаданных цели, но инструмент попросил меня ввести ключи карты. Ключи генерируются динамически, поэтому их нельзя вводить при создании целевых метаданных.
Кто-нибудь из вас сталкивался с этой проблемой? Как мне это решить? Я не хочу жестко кодировать ключи, нужно, чтобы полная карта отображалась на домашней странице моего плагина.
Вот фрагмент из консоли, когда я выбрал карту:
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 ответ
Вместо использования HashMap (или Map) было бы лучше вернуть TabularData, это лучшая практика JMX (и я полагаю, что JMX fetchlet не поддерживает Maps). Я смог сгенерировать метаданные с помощью утилиты jmxcli, когда использовал TabularData.