gpt4 book ai didi

java - JMX 更新 TabularData 值

转载 作者:行者123 更新时间:2023-11-30 06:04:37 24 4
gpt4 key购买 nike

我的情况类似于以下内容 - 请耐心等待:

我有一个 mbean,其中包含一个名为“信息”的属性。此属性的值由名为“data”的 TabularDataSupport 类的实例表示。 “数据”由 CompositeData 类的实例组成。

CompositeData 的每个实例显然都需要一个 CompositeType。这是我定义“表”的地方,它包含三部分数据:名称、持续时间和 id。

基本上,我有 10 个以特定时间间隔发生的唯一命名的进程。我希望每个进程都由一个 CompositeData 对象表示,存储在“数据”中。每次进程完成运行时,我想更新与其关联的持续时间和 ID。

这是我的场景图:

Attributes
Name Value

Information Name Value
name processA
duration 109
id 1

目前,当我想要更新这些值时,我只需将一个新的 CompositeData 对象(包含名称、持续时间和 id)放入我的“数据”对象中。这在 processA、processB 等第一次运行时有效,但之后就不起作用了。

我使用“name”作为索引,所以我不知道如何简单地更新与现有名称关联的持续时间和 ID。任何帮助将不胜感激!

最佳答案

啊,我最终找到了解决方法。基本上,我有一个方法负责更新“数据”对象中的 CompositeData(它存储名称、进程和 id)。我想检查“data”是否已包含一个 CompositeData 对象,其用作索引的键的值(在我的例子中,键“name”的值)与 CompositeData I 的键的值匹配正在尝试更新。 (例如,如果我想更新“processA”的信息,与我的索引“name”匹配的键的值“processA”是否存在?)如果是这种情况,我会删除该对象。

然后,我继续将新的 CompositeData 对象放入列表中。

所以基本上,每次想要更新 CompositeData 对象时都会删除并重新添加它,这并不理想。不过很简单。

这里令人困惑的部分是,您需要传入一个包含用作索引的键的数组,即使它只有一个键(如我的示例中所示)。

关于java - JMX 更新 TabularData 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51600982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com