forum.bitel.ru http://forum.bitel.ru/ |
|
[6.0] ServiceActivator и servParam (fixed) http://forum.bitel.ru/viewtopic.php?f=44&t=11945 |
Страница 1 из 1 |
Автор: | nik247 [ 22 сен 2016, 16:38 ] |
Заголовок сообщения: | [6.0] ServiceActivator и servParam (fixed) |
Понадобилось для TelenetServiceActivator передавать параметр с сервиса (вкладка "Дополнительно"). Но "servParam" упорно не хочет брать значения с параметрам сервиса, при этом "param" с устройства работает правильно. На типе сервиса прописано: Код: param.my_serv_param.title=Кол-во MAC Добавлено значение для этого поля в сервисе.param.my_serv_param.attribute=Mikrotik_Wireless_VLANID Код: Кол-во MAC=22. В устройстве прописано еще одна тестовая переменная:Код: my_dev_param=7 В типе устройстве прописано:Код: sa.command.serv.create.1=help serv_param-$servParam(my_serv_param,11) Но в логах мы видим:sa.command.serv.create.4=help dev_param-$servParam(my_dev_param,12) Код: 09-22/13:09:44 INFO [sa-p-11-t-86] TelnetServiceActivator - execute: help serv_param-11 Из этого видно, что:09-22/13:09:44 INFO [sa-p-11-t-86] TelnetServiceActivator - help serv_param-11 09-22/13:09:44 INFO [sa-p-11-t-86] TelnetServiceActivator - execute: help dev_param-7 09-22/13:09:44 INFO [sa-p-11-t-86] TelnetServiceActivator - help dev_param-7 1) "param" с устройства работает как положено - передает значение = "7" 2) "servParam" с сервиса игнорируется и берется значение по умолчанию = "11", хотя в сервисе прописано "22". 3) при этом в логах видно, как значение "servParam" корректно передается в radius атрибуте: Код: Mikrotik_Wireless_VLANID=22 Танцы с бубном (перезагрузки все и вся) не помогли.Информация о версии: Код: Клиент: вер. 6.0 сборка 1396 от 15.04.2016 23:41:35 os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_75 Сервер: вер. 6.0 сборка 1877 от 15.04.2016 23:41:38 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45 inet вер. 6.0 сборка 1518 от 14.04.2016 15:56:56 Хотя данный функционал заявлен: Код: 1843 01.04.2015 16:50:19 ДОБАВЛЕНО Inet: AbstractTerminalServiceActivator: Макрос $servParam(name) для получения параметра из Дополнительных параметров сервиса (param.myparamname.title=Доп_параметр в типе сервиса).
|
Автор: | nik247 [ 26 сен 2016, 14:41 ] |
Заголовок сообщения: | Re: [6.0] ServiceActivator и servParam |
UP. Уважаемые разработчики, можете подтвердить/опровергнуть работоспособность servParam для версии 6.0? Или она работает только для 6.2/7.0? |
Автор: | Amir [ 26 сен 2016, 15:24 ] |
Заголовок сообщения: | Re: [6.0] ServiceActivator и servParam |
В AbstractTerminalServiceActivator 6.0 есть макрос. Посмотрите в БД в inet_serv значение в config. По-моему там из-за поддержки добавления нескольких параметров с одним именем добавляется индекс .1. |
Автор: | nik247 [ 26 сен 2016, 16:26 ] |
Заголовок сообщения: | Re: [6.0] ServiceActivator и servParam |
Amir писал(а): В AbstractTerminalServiceActivator 6.0 есть макрос. Посмотрите в БД в inet_serv значение в config. По-моему там из-за поддержки добавления нескольких параметров с одним именем добавляется индекс .1. 1) Да макрос "servParam" есть в AbstractTerminalServiceActivator 6.0 2) Код: SELECT config FROM `inet_serv_11` where id=2999 Индекс действительно есть = 1config my_serv_param.1=22 3) При изменении в обработчике с: sa.command.serv.create.1=help serv_param-$servParam(my_serv_param,11) на: sa.command.serv.create.1=help serv_param-$servParam(my_serv_param.1,11) Увидел в логе вместо: 09-26/13:09:18 INFO [sa-p-11-t-31] TelnetServiceActivator - execute: help serv_param-11 данные с сервиса: 09-26/13:09:18 INFO [sa-p-11-t-31] TelnetServiceActivator - execute: help serv_param-22. То-есть,сейчас можно использовать данные с сервиса, дописав индекс в обработчике. Но получается его невозможно точно узнать, без просмотра БД. Хотя проверил, с несколькими значения - при одном значении индекс всегда =1. Отобразилось бы это в доке...... @Amir cпасибо за подсказку. Может еще подскажете, как переопределить обработчик устройства, без обрыва сервисов клиентам? |
Автор: | Amir [ 26 сен 2016, 18:44 ] |
Заголовок сообщения: | Re: [6.0] ServiceActivator и servParam |
Добавил в wiki. В 7.0 поменяем Код: ParameterMap config = new Preferences( configString, "\n" ); на return config.get( getString( args, 0, "" ), getString( args, 1, "" ) ); Код: ParameterMap config = new Preferences( configString, "\n" );
String key = getString( args, 0, "" ); String result = config.get( key, null ); if( result == null ) { result = config.get( key + ".1", null ); if( result == null ) { result = getString( args, 1, "" ); } } return result; |
Автор: | nik247 [ 26 сен 2016, 18:54 ] |
Заголовок сообщения: | Re: [6.0] ServiceActivator и servParam |
to Amir Я так понял, то же самое я могу изменить в AbstractTerminalServiceActivator для 6./6.2 и все будет работать? Может еще подскажете, как переопределить обработчик устройства, без удаления/создания сервисов клиентам? |
Автор: | Amir [ 26 сен 2016, 20:00 ] |
Заголовок сообщения: | Re: [6.0] ServiceActivator и servParam |
nik247 писал(а): to Amir Да. Только наши классы перетираются при обновлении.Я так понял, то же самое я могу изменить в AbstractTerminalServiceActivator для 6./6.2 и все будет работать? Цитата: Может еще подскажете, как переопределить обработчик устройства, без удаления/создания сервисов клиентам? Ответил в теме.
|
Автор: | nik247 [ 26 сен 2016, 20:12 ] |
Заголовок сообщения: | Re: [6.0] ServiceActivator и servParam |
Amir писал(а): nik247 писал(а): to Amir Да. Только наши классы перетираются при обновлении.Я так понял, то же самое я могу изменить в AbstractTerminalServiceActivator для 6./6.2 и все будет работать? Цитата: Может еще подскажете, как переопределить обработчик устройства, без удаления/создания сервисов клиентам? Ответил в теме.Я знаю, что перетираются... ручкам, если что поправлю. А может Вы и обновление выпустите для Inet 6.0... |
Автор: | nik247 [ 26 сен 2016, 20:45 ] |
Заголовок сообщения: | Re: [6.0] ServiceActivator и servParam |
Обновил AbstractTerminalServiceActivator для 6.0 вашим кодом - все заработало правильно. Может это исправление тоже попадет в ближайшее обновление для 6.0..... Спасибо еще раз. |
Автор: | Amir [ 28 сен 2016, 20:50 ] |
Заголовок сообщения: | Re: [6.0] ServiceActivator и servParam (fixed) |
Должно быть теперь в 6.0. |
Автор: | nik247 [ 28 сен 2016, 21:02 ] |
Заголовок сообщения: | Re: [6.0] ServiceActivator и servParam (fixed) |
Amir писал(а): Должно быть теперь в 6.0. Спасибо.Увидел в обновлении Код: REPLACED FILES:
/usr/local/BGBillingServer/dyn/ru/bitel/bgbilling/modules/inet/dyn/device/terminal/AbstractTerminalServiceActivator.jav |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |