Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / SNMP4J не высвобождает потоки и таймеры / 5 сообщений из 5, страница 1 из 1
10.02.2012, 13:34:30
    #37655732
Юрий321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SNMP4J не высвобождает потоки и таймеры
задача простая - забрать по снмп значение через гет

забираю таким кодом

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
        Object ret = null;
        TransportMapping transport;
            CommunityTarget target = new CommunityTarget();
            target.setCommunity(new OctetString("public"));
            Address address = GenericAddress.parse("udp:localhost/161");
            target.setAddress(address);
            target.setVersion(SnmpConstants.version2c);
            target.setTimeout(3000);

            // create PDU
            PDU pdu = new PDU();
            pdu.setType(PDU.GET);
            pdu.addOID(new VariableBinding(".1.1.1.какой-нибудь-оид"));
            pdu.setNonRepeaters(0);

            Snmp snmp = new Snmp(transport);
            snmp.listen();

            ResponseEvent resp = snmp.send(pdu, target);
            PDU respPDU = resp.getResponse();
            Vector vbs = respPDU.getVariableBindings();
            if (vbs.size() > 0) {
                VariableBinding vb = (VariableBinding) vbs.get(0);
                ret = vb.getVariable();
            } else {
                ret = null;
            }
            snmp.close();



отлично работает, пока доступен снмп-агент

когда агент недоступен или сеть упала, на каждый гет-запрос спавнится два потока
DefaultUDPTransportMapping_127.0.0.1/0
Timer-хххх

и не умирают.
несмотря на выставленый таймаут.

если агент становится доступен, работает нормально, но старые потоки, которые успели наспавниться, так и висят.

кто-нибудь писал клиента на снмп4ж?
что за фигня?
...
Рейтинг: 0 / 0
10.02.2012, 13:42:36
    #37655753
Юрий321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SNMP4J не высвобождает потоки и таймеры
дело было не в бобине..


если агент недоступен, то в этом месте
ResponseEvent resp = snmp.send(pdu, target);
PDU respPDU = resp.getResponse();

генерируется экскепшен, и не отрабатывается snmp.close();

гк этот незакрытый шлак тоже игнорирует.
...
Рейтинг: 0 / 0
10.02.2012, 14:32:03
    #37655882
Vsablin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SNMP4J не высвобождает потоки и таймеры
Киньте ссылку на SNMPJ а то в гугле что то не получается :-(
...
Рейтинг: 0 / 0
10.02.2012, 14:34:16
    #37655889
Юрий321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SNMP4J не высвобождает потоки и таймеры
VsablinКиньте ссылку на SNMPJ а то в гугле что то не получается :-(

www.snmp4j.org
...
Рейтинг: 0 / 0
10.02.2012, 14:47:16
    #37655927
Vsablin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SNMP4J не высвобождает потоки и таймеры
спасибо
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / SNMP4J не высвобождает потоки и таймеры / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]