forum.bitel.ru http://forum.bitel.ru/ |
|
[feature request] Метод destroy для ProtocolHandler (CRM) http://forum.bitel.ru/viewtopic.php?f=44&t=8578 |
Страница 1 из 1 |
Автор: | Cromeshnic [ 15 окт 2013, 15:03 ] |
Заголовок сообщения: | [feature request] Метод destroy для ProtocolHandler |
В своём ProtocolHandler-е мне нужно следить за изменениями портов устройств, чтобы обновлять внутренний кэш, для чего я подписываюсь на событие RadiusProtocolHandler: Код: public class ISGIPoEProtocolHandler extends ISGProtocolHandler implements RadiusProtocolHandler { ... private class DeviceNasPortMap implements EventListener<DeviceInterfaceModifiedEvent> { public DeviceNasPortMap(int moduleId, int deviceId, SortedMap<Integer, ParameterMap> patternMap) throws BGException { ... EventProcessor.getInstance().addListener(this, DeviceInterfaceModifiedEvent.class); ... } ... } } Но возникает неочевидная проблема - при каждом перечитывании конфигурации (или возможно при перекомпилировании дин кода и перечитывании) предыдущий экземпляр ISGIPoEProtocolHandler.DeviceNasPortMap остаётся в памяти и в подписчиках события. Как можно этого избежать? |
Автор: | Cromeshnic [ 16 окт 2013, 07:17 ] |
Заголовок сообщения: | Re: ProtocolHandler и подписка на события |
Я думаю, в ServiceActivator и ProtocolHandler неплохо бы добавить абстрактные методы destroy() для таких вещей. Вызывать их перед перезагрузкой устройства. |
Автор: | Cromeshnic [ 17 окт 2013, 08:18 ] |
Заголовок сообщения: | Re: ProtocolHandler и подписка на события |
У ServiceActivator есть init() и destroy() У ProtocolHandler - только init() Незадача. |
Автор: | Cromeshnic [ 20 дек 2013, 13:57 ] |
Заголовок сообщения: | Re: [feature request] Метод destroy для ProtocolHandler |
up? todo? |
Автор: | Cromeshnic [ 10 янв 2014, 10:18 ] |
Заголовок сообщения: | Re: [feature request] Метод destroy для ProtocolHandler |
up? |
Автор: | Cromeshnic [ 05 фев 2015, 11:39 ] |
Заголовок сообщения: | Re: [feature request] Метод destroy для ProtocolHandler (CRM |
прошёл год... Сейчас пилю схему с авторизацией по номеру сотового, который приходит в Calling-Station-Id для схемы с L2TP из сети 3G оператора-партнёра. Мне опять же в хэндлере нужно держать кэш соответствия Title -> id интерфейса, который обновляется по системному событию изменения интерфейса. В результатепри обновлении конфига устройств старый экземпляр хэндлера остаётся подписан на событие и не уничтожается сборщиком мусора. (Номер сотового = title интерфейса, номеров конечный пул у компании, выдаём клиентам 3G модемы уже настроенные на время аварии и т.п., в биллинге заводится сервис, привязанный к соответствующему интерфейсу) |
Автор: | stark [ 05 фев 2015, 12:19 ] |
Заголовок сообщения: | Re: [feature request] Метод destroy для ProtocolHandler (CRM |
В TODO уже есть. |
Автор: | Cromeshnic [ 05 фев 2015, 12:20 ] |
Заголовок сообщения: | Re: [feature request] Метод destroy для ProtocolHandler (CRM |
Ok, спасибо |
Автор: | Cromeshnic [ 07 апр 2015, 14:50 ] |
Заголовок сообщения: | Re: [feature request] Метод destroy для ProtocolHandler (CRM |
У меня после нескольких перечитываний конфигурации начинают ругаться Access/Accounting-сервера. Я грешу на эту фичу, но проверять пока лень (снимать дамп, ковыряться) - просто рестартую их. Как там ваше TODO поживает? |
Автор: | Amir [ 21 апр 2015, 22:39 ] |
Заголовок сообщения: | Re: [feature request] Метод destroy для ProtocolHandler (CRM |
Выкладывается обновление. Нужно добавить implements ru.bitel.common.worker.Destroyable |
Автор: | Cromeshnic [ 22 апр 2015, 07:09 ] |
Заголовок сообщения: | Re: [feature request] Метод destroy для ProtocolHandler (CRM |
С 5.2? 6.0 ? |
Автор: | Amir [ 23 апр 2015, 22:17 ] |
Заголовок сообщения: | Re: [feature request] Метод destroy для ProtocolHandler (CRM |
Сейчас с 6.0. |
Автор: | Cromeshnic [ 25 сен 2017, 12:39 ] |
Заголовок сообщения: | Re: [feature request] Метод destroy для ProtocolHandler (CRM |
Обновился на 7.0, реализовал метод - всё работает, спасибо. Надо бы мне ещё статью на вики поправить.. |
Автор: | Cromeshnic [ 25 сен 2017, 12:48 ] |
Заголовок сообщения: | Re: [feature request] Метод destroy для ProtocolHandler (CRM |
...поправил: http://wiki.bitel.ru/index.php/Vlan_per ... colHandler |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |