免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3106 | 回复: 1

Eclipse里运行正常,放到批处理就失败,求教? [复制链接]

论坛徽章:
0
发表于 2011-07-03 10:10 |显示全部楼层
Snmp4j开源包里自带了一个命令行Snmp工具,但使用过程发现用它来获取网络设备Snmp性能时失败.命令参数:-c !xmcT%^&8 -v 2c -Ot -t 1000 10.4.3.144 1.3.6.1.2.1.2.2.1.2.

调试源码发现在 Eclipse可以取到远端mib数据,但是打包放到 批处理bat文件里调用就失败.
跟踪 org.snmp4j.tools.console.SnmpRequest.java 发现 下面代码中的synchronized (counter) 同步块在批处理执行时失效,直接线程中断退出了。

请教为何在Eclipse可以执行的得到结果,在批处理里执行却不行?

public void table() throws IOException {
  Snmp snmp = createSnmpSession();
  this.target = createTarget();
  target.setVersion(version);
  target.setAddress(address);
  target.setRetries(retries);
  target.setTimeout(timeout);
  snmp.listen();

  TableUtils tableUtils = new TableUtils(snmp, this);
  tableUtils.setMaxNumRowsPerPDU(maxRepetitions);
  Counter32 counter = new Counter32();

  OID[] columns = new OID[vbs.size()];
  for (int i=0; i<columns.length; i++) {
  columns = ((VariableBinding)vbs.get(i)).getOid();
  }
  long startTime = System.currentTimeMillis();
  synchronized (counter) {

  TableListener listener;
  if (operation == TABLE) {
  listener = new TextTableListener();
  }
  else {
  listener = new CVSTableListener(System.currentTimeMillis());
  }
  if (useDenseTableOperation) {
  tableUtils.getDenseTable(target, columns, listener, counter,
  lowerBoundIndex, upperBoundIndex);
  }
  else {
  tableUtils.getTable(target, columns, listener, counter,
  lowerBoundIndex, upperBoundIndex);
  }
  try {
  counter.wait(timeout);
  }
  catch (InterruptedException ex) {
  Thread.currentThread().interrupt();
  }
  }

  //System.out.println("Table received in "+
  // (System.currentTimeMillis()-startTime)+" milliseconds.");
  snmp.close();
  }

论坛徽章:
0
发表于 2011-07-03 12:16 |显示全部楼层
直觉说:classpath缺包
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP