JMX 更新 TabularData 值
JMX Update TabularData values
我的场景类似于以下 - 请耐心等待:
我有一个 mbean,其中包含一个名为 "Information" 的属性。此属性的值由名为 "data" 的 TabularDataSupport class 实例表示。 "Data" 由 CompositeData class.
的实例组成
CompositeData 的每个实例显然都需要一个 CompositeType。这是我定义 "table" 的地方,它包含三个数据:名称、持续时间和 ID。
基本上,我有 10 个以特定时间间隔发生的唯一命名的进程。我希望这些进程中的每一个都由存储在 "data" 中的 CompositeData 对象表示。每次进程完成 运行ning 时,我想更新与之关联的持续时间和 ID。
这是我的场景图:
Attributes
Name Value
Information Name Value
name processA
duration 109
id 1
目前,当我想更新值时,我只是将一个新的 CompositeData 对象(具有名称、持续时间和 ID)放入我的 "data" 对象中。这在第一次 processA、processB 等 运行 时起作用,但之后就不起作用了。
我正在使用 "name" 作为我的索引,所以我不知道如何简单地更新与现有名称关联的持续时间和 ID。如有任何帮助,我们将不胜感激!
啊,我终于想出了一个变通办法。基本上,我有一个方法负责更新我的 "data" 对象中的 CompositeData(它存储名称、进程和 ID)。我想检查 "data" 是否已经包含一个 CompositeData 对象,我用作索引的键的值(在我的例子中,键 "name" 的值)与键的值匹配我正在尝试更新的 CompositeData。 (例如,如果我想更新 "processA" 的信息,与我的索引 "name" 匹配的键的值 "processA" 是否存在?)如果是这样,我将其删除对象。
然后,我继续将新的 CompositeData 对象放入列表中。
基本上,每次要更新 CompositeData 对象时,您都会删除并重新添加它,这并不理想。虽然很简单。
这里令人困惑的部分是您需要传入一个数组,其中包含您用作索引的键,即使它只是像我的示例中的一个键。
我的场景类似于以下 - 请耐心等待:
我有一个 mbean,其中包含一个名为 "Information" 的属性。此属性的值由名为 "data" 的 TabularDataSupport class 实例表示。 "Data" 由 CompositeData class.
的实例组成CompositeData 的每个实例显然都需要一个 CompositeType。这是我定义 "table" 的地方,它包含三个数据:名称、持续时间和 ID。
基本上,我有 10 个以特定时间间隔发生的唯一命名的进程。我希望这些进程中的每一个都由存储在 "data" 中的 CompositeData 对象表示。每次进程完成 运行ning 时,我想更新与之关联的持续时间和 ID。
这是我的场景图:
Attributes
Name Value
Information Name Value
name processA
duration 109
id 1
目前,当我想更新值时,我只是将一个新的 CompositeData 对象(具有名称、持续时间和 ID)放入我的 "data" 对象中。这在第一次 processA、processB 等 运行 时起作用,但之后就不起作用了。
我正在使用 "name" 作为我的索引,所以我不知道如何简单地更新与现有名称关联的持续时间和 ID。如有任何帮助,我们将不胜感激!
啊,我终于想出了一个变通办法。基本上,我有一个方法负责更新我的 "data" 对象中的 CompositeData(它存储名称、进程和 ID)。我想检查 "data" 是否已经包含一个 CompositeData 对象,我用作索引的键的值(在我的例子中,键 "name" 的值)与键的值匹配我正在尝试更新的 CompositeData。 (例如,如果我想更新 "processA" 的信息,与我的索引 "name" 匹配的键的值 "processA" 是否存在?)如果是这样,我将其删除对象。
然后,我继续将新的 CompositeData 对象放入列表中。
基本上,每次要更新 CompositeData 对象时,您都会删除并重新添加它,这并不理想。虽然很简单。
这里令人困惑的部分是您需要传入一个数组,其中包含您用作索引的键,即使它只是像我的示例中的一个键。