forum.bitel.ru
http://forum.bitel.ru/

BGBSScripts external jar
http://forum.bitel.ru/viewtopic.php?f=22&t=9393
Страница 1 из 1

Автор:  bpoleg [ 02 июл 2014, 15:14 ]
Заголовок сообщения:  BGBSScripts external jar

Можно пояснить как работает машина запуска BGBSscripts?
Конретно интересует возможность использования внешних библиотек в скриптах.
версия 5.2
Спасибо.

Автор:  Cromeshnic [ 02 июл 2014, 15:23 ]
Заголовок сообщения:  Re: BGBSScripts external jar

А зачем BGBS, если есть динамический код?
Внешние библиотеки работают нормально и там и там, нужно только подсунуть её в classpath (в lib/app, если она требуется в контексте радиусов и др процессов, либо lib/ext, если нет).
Ну и рестартовать сервер/шедулер/whatever else

Автор:  bpoleg [ 02 июл 2014, 15:32 ]
Заголовок сообщения:  Re: BGBSScripts external jar

1. наследие
2. что-то не видит скрипт внешнюю библиотеку. динамический код видит, отчеты видят и прочее, а скрипт не видит.

GENERATE_TIME: 02.07.14 12:26:03
EXECUTION_STOP_TIME: 02.07.14 12:26:03
PROCESS_TIME: 5

OUT:


EXCEPTIONS:
Typed variable declaration : Class: Logger not found in namespace : at Line: 21 : in file: Function [id:107; title:Активация УП Акция] : Logger

Called from method: onEvent : at Line: -1 : in file: <Called from Java Code> : <Compiled Java Code>
java.util.concurrent.ExecutionException: Typed variable declaration : Class: Logger not found in namespace : at Line: 21 : in file: Function [id:107; title:Активация УП Акция] : Logger

сам текст начала скрипта
import bitel.billing.server.contract.bean.*;
import bitel.billing.common.TimeUtils.*;
import bitel.billing.server.contract.bean.ChargeManager;
import bitel.billing.server.contract.bean.Charge;
import bitel.billing.server.dialup.bean.CalculatePeriod;
import bitel.billing.server.dialup.bean.CalculatePeriodManager;
import bitel.billing.server.contract.bean.ContractTariffManager;
import bitel.billing.common.TimeUtils;
/* Oleg begin */
import ru.mycl.Logger;
/* oleg end*/

includeBGBS( "bgbs://ru.bitel.bgbilling.kernel.script.common.bean.ScriptLibrary/bonus_api");
includeBGBS( "bgbs://ru.bitel.bgbilling.kernel.script.common.bean.ScriptLibrary/promo_lib");
includeBGBS( "bgbs://ru.bitel.bgbilling.kernel.script.common.bean.ScriptLibrary/global_constants");


void onEvent( event, setup, con, conSlave ){

/* oleg begin */
Logger lg = new Logger();
// инициализация логгера
lg.setLogF("/usr/local/BGBillingServer/tmp/event_active.log");
lg.initLog();
try {
/* oleg end*/

Автор:  bpoleg [ 04 июл 2014, 12:06 ]
Заголовок сообщения:  Re: BGBSScripts external jar

Прошу прощения. видит.
но так как есть кэширование, то пока не выгрузиться из памяти новый не загрузиться. Проверено, обычные скрипты поведения перегружаются методом выхода и захода. А вот с глобальными проблема, только перегрузка сервера. Как-то не кошерно. Можно ли подумать о принудительном обнулении ссылки на объект и запуска сборщика мусора? что бы можно было стереть из памяти старый скрипт, без перезапуска сервера? Было бы очень удобно.

Автор:  stark [ 04 июл 2014, 12:12 ]
Заголовок сообщения:  Re: BGBSScripts external jar

bpoleg писал(а):
Прошу прощения. видит.
но так как есть кэширование, то пока не выгрузиться из памяти новый не загрузиться. Проверено, обычные скрипты поведения перегружаются методом выхода и захода. А вот с глобальными проблема, только перегрузка сервера. Как-то не кошерно. Можно ли подумать о принудительном обнулении ссылки на объект и запуска сборщика мусора? что бы можно было стереть из памяти старый скрипт, без перезапуска сервера? Было бы очень удобно.


Да вообще уже мысли появляются отказываться от bgbs:
viewtopic.php?f=42&t=9361#p78325

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/