Спасибо Амир.
Столкнулся вот с какой проблемой.
Кромешник писал
вот такой вот кодВ SnmpDeviceManager я добавил вот такие строки
Код:
@DeviceManagerMethod(title = "TestMAC", types = { DeviceManagerMethodType.DEVICE })
public String testMac()
throws Exception
{
final StringBuffer report = new StringBuffer();
OID testOid = new OID("1.3.6.1.2.1.17.4.3.1.1");
snmpClient.walk(testOid, String.class, new Walker<String>() {
@Override
public void walk(OID oid, String value) {
report.append(value+"\n");
}
});
return report.toString();
}
@DeviceManagerMethod(title = "TestPORT", types = { DeviceManagerMethodType.DEVICE })
public String testPort()
throws Exception
{
final StringBuffer report = new StringBuffer();
OID testOid = new OID("1.3.6.1.2.1.17.4.3.1.2");
snmpClient.walk(testOid, String.class, new Walker<String>() {
@Override
public void walk(OID oid, String value) {
report.append(value);
}
});
return report.toString();
}
Где OID("1.3.6.1.2.1.17.4.3.1.1") возвращает
А OID("1.3.6.1.2.1.17.4.3.1.2") возвращает
Проблема в следующем.
При выполнении команды TestMAC на устройстве - возвращается длинный список
А вот при выполнении TestPORT -
В логах следующее
Код:
access 06-25/15:14:12 ERROR [dm-p-13-t-44] Consumer - java.lang.ClassCastException: Cannot cast java.lang.Integer to java.lang.String
ru.bitel.bgbilling.common.BGException: java.lang.ClassCastException: Cannot cast java.lang.Integer to java.lang.String
at ru.bitel.bgbilling.modules.inet.access.manage.DeviceManageWorker.doTask(DeviceManageWorker.java:228)
at ru.bitel.bgbilling.kernel.event.EventWorker.notify(EventWorker.java:259)
at ru.bitel.bgbilling.kernel.event.Consumer.onMessage0(Consumer.java:112)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalDoTask(EventWorker.java:229)
at ru.bitel.bgbilling.kernel.event.EventWorker.doTasks(EventWorker.java:208)
at ru.bitel.bgbilling.modules.inet.access.manage.DeviceManageWorker.runWorker(DeviceManageWorker.java:170)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.manage.DeviceManageWorker.runImpl(DeviceManageWorker.java:110)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
Caused by: java.lang.ClassCastException: Cannot cast java.lang.Integer to java.lang.String
at java.lang.Class.cast(Class.java:3361)
at ru.ellcom.modules.inet.snmp.SnmpClient.castVariable(SnmpClient.java:171)
at ru.ellcom.modules.inet.snmp.SnmpClient.walk(SnmpClient.java:103)
at ru.ellcom.modules.inet.snmp.SnmpDeviceManager.testPort(SnmpDeviceManager.java:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at ru.bitel.bgbilling.modules.inet.access.manage.DeviceManageWorker.doCommand(DeviceManageWorker.java:275)
at ru.bitel.bgbilling.modules.inet.access.manage.DeviceManageWorker.doTask(DeviceManageWorker.java:217)
... 16 more
И не пойму то ли я жопорук, то ли я рукожоп.