powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / SNMP4J не высвобождает потоки и таймеры
5 сообщений из 5, страница 1 из 1
SNMP4J не высвобождает потоки и таймеры
    #37655732
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
задача простая - забрать по снмп значение через гет

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

Код: 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
SNMP4J не высвобождает потоки и таймеры
    #37655753
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дело было не в бобине..


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

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

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

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


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