关于上一篇AGENTX MIB的一些补充

这篇博客补充了之前关于AGENTX MIB的内容,重点介绍了DefaultMOTable和DefaultMOMutableTableModel在JSNMP中的使用。通过复写类中的方法,如get、next和prepare,实现自定义功能。同时,文章还提到了CurrencyMOColumn和CurrencyRow的实现,用于处理SNMP请求和数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

偶然间发现很多人转了我之前的那篇关于SUBagentx的代码。

那个时候处于研究阶段自己也不是太明白。

其实关于JSNMP -AGENTX中的MIB很简单

我们只需要知道DefaultMOTable,和DefaultMOMutableTableModel这两个类。

对这两个类其中的方法复写可以重写我们所要的功能

  1.   /**
  2.      * 通用的MOTable
  3.      */
  4.     public class CurrencyMOTable extends DefaultMOTable {
  5.         public CurrencyMOTable(OID oid, MOTableIndex indexDef, MOColumn[] columns) {
  6.             super(oid, indexDef, columns, new DefaultMOMutableTableModel());
  7.         }
  8.         @Override
  9.         public void get(SubRequest request) {
  10.             LOGGER.info("从SNMP端执行了 OID:" + request.getVariableBinding().getOid().toString() + " 的 GET操作。");
  11.             super.get(request);
  12.         }
  13.         @Override
  14.         public boolean next(SubRequest request) {
  15.             LOGGER.info("从SNMP端执行了 OID:" + request.getVariableBinding().getOid().toString() + " 的 NEXT操作。");
  16.             return super.next(request);
  17.         }
  18.         @Override
  19.         public void prepare(SubRequest request) {
  20.             LOGGER.info("从SNMP端执行了 OID:" + request.getVariableBinding().getOid().toString() + " 的 SET操作。");
  21.             super.prepare(request);
  22.         }
  23.     }
  24.     public class CurrencyMOTableModel extends DefaultMOMutableTableModel {
  25.     }
  26.     /**
  27.      * 通用的MOColumn
  28.      */
  29.     public class CurrencyMOColumn extends MOMutableColumn {
  30.         public CurrencyMOColumn(int columnID, int syntax, MOAccess access,
  31.                 Variable defaultValue) {
  32.             super(columnID, syntax, access, defaultValue);
  33.         }
  34.     }
  35.     /**
  36.      * 通用的MORow
  37.      */
  38.     public class CurrencyRow extends DefaultMOMutableRow2PC {
  39.         private List list;
  40.         public CurrencyRow(OID index, Variable[] values, List dblist) {
  41.             super(index, values);
  42.             list = dblist;
  43.         }
  44.         public void setStaticValue(int column, Variable newValue) {
  45.             super.setValue(column, newValue);
  46.         }
  47.         @Override
  48.         public void setValue(int column, Variable newValue) {
  49.             TblSnmpInfo tblsnmpinfo = (TblSnmpInfo) list.get(column);
  50.             usercustom.getProcess(tblsnmpinfo);
  51.             super.setValue(column, newValue);
  52.         }
  53.         @Override
  54.         public Variable getValue(int column) {
  55.             TblSnmpInfo tblsnmpinfo = (TblSnmpInfo) list.get(column);
  56.             Variable nowvar = null;
  57.             try {
  58.                 nowvar = usercustom.getProcess(tblsnmpinfo);
  59.                 setStaticValue(column, nowvar);
  60.             } catch (Exception e) {
  61.                 LOGGER.fatal("错误:CORBA服务存在问题。无法从CORBA获得内容");
  62.             }
  63.             return values[column];
  64.         }
  65.     }
例如
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值