如何在 table 中绑定子对象

How to bind child object in table

我正在使用 SNMP4J 编写一些设备模拟器。我有很多事情要做,所以写了一些东西来解析 mib 并创建一些 java 类 并用 MIB 信息注释属性。然后我写了一些东西来遍历字段并使用反射创建一些 MO。

我的第一个是基于一个相当简单的 MIB,它只有几个嵌套对象和一个 table,它由一个具有简单类型的类型组成。我写了一个包装数组列表的 table 模型。

我的第二个 mib 有一个 table 有嵌套对象,例如每行都有一个对象,这些对象也有对象。我看不出如何将它们暴露给 snmp4j,table 模型 getValue returns 一个变量。

例如,第一个很简单,只需实现一个 table 模型,returns getValue

中的索引字段
Table A[0]
  - height
  - width

下一个对象C的实例不知道怎么办

Table B[0]
  - height
  - width
  - Object C
      - someValue
      - someOtherValue

您是否检查过 MIB 的 SMIv2 语法是否正确? SMIv1 和 SMIv2 都不支持您在示例 Table B 中说明的嵌套 tables。

使用 SNMP 及其管理信息结构 (SMI),嵌套 table 是通过指定两个 "flat" table 实现的(而不是单个嵌套 table) 其中第一个和第二个 table 共享相同的索引列,但第二个添加一个或多个额外的索引列。

要检查您的 SNMP MIB 是否符合 SMI,您可以使用以下免费服务: https://agentpp.com/services/mibcheck.html