forum.bitel.ru http://forum.bitel.ru/ |
|
Событие деактивации тарифной опции http://forum.bitel.ru/viewtopic.php?f=19&t=8796 |
Страница 1 из 1 |
Автор: | Dog [ 26 дек 2013, 03:18 ] |
Заголовок сообщения: | Событие деактивации тарифной опции |
Подскажите, что я не так делаю. написан собственный класс дин кода: Код: package scripts.kernel.bonusOnPaymentHelper; ... public class activationBonusChecker extends EventScriptBase<TariffOptionDeactivatedEvent> { @Override public void onEvent(TariffOptionDeactivatedEvent event, Setup setup, ConnectionSet connectionSet) throws Exception { ... } } создан скрипт поведения, к нему добавлен этот класс с событием "Деактивированна тарифная опция" добавляю опцию на договор и тут же срабатывает этот скрипт поведения, не дожидаясь, когда будет деактивирована опция. в лог вываливается: Код: EXCEPTIONS: java.util.concurrent.ExecutionException: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232) at java.util.concurrent.FutureTask.get(FutureTask.java:91) at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:267) at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScript(DynamicScriptEventListener.java:149) at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.notify(DynamicScriptEventListener.java:117) at ru.bitel.bgbilling.kernel.event.AbstractConsumer.notify(AbstractConsumer.java:344) at ru.bitel.bgbilling.kernel.event.Consumer.notify(Consumer.java:1) at ru.bitel.bgbilling.kernel.event.Consumer.onMessage0(Consumer.java:112) at ru.bitel.bgbilling.kernel.event.Consumer$EventListenerRunnable.runImpl(Consumer.java:51) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) Caused by: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:200) at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener.access$0(DynamicScriptEventListener.java:1) at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener$1.call(DynamicScriptEventListener.java:254) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) ... 4 more Caused by: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent at scripts.kernel.bonusOnPaymentHelper.activationBonusChecker.onEvent(activationBonusChecker.java:28) at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:196) ... 8 more почему собственно говоря ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent? если я указал событие другое. ну и когда опция действительно деактивируется (т.е. истекает время её действия) ничего не происходит. что я не так понял? |
Автор: | Dog [ 26 дек 2013, 03:52 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
перезагрузил сервер,даталоадер,шедулер. добавляю опцию. вообще ничего не происходит. ни при активации, ни при деактивации опции. решил поменять событие на "Ативирована/рактивирована тарифная опция" (раньше, именно её ставил, когда начинал тестировать класс), в итоге в лог падает: Код: 12-26/01:47:09 DEBUG [event-proc-p-2-t-1] EventProcessor - Add ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener@d to BG.Event.ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent меняю обратно на "Деактивирована тарифная опция": Код: 12-26/01:47:24 DEBUG [event-proc-p-2-t-1] EventProcessor - Updated listener ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener@d to BG.Event.ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent активирую опцию: Код: 12-26/01:47:50 INFO [event-proc-p-2-t-1] ScriptEventListener - Caught event: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent 12-26/01:47:50 ERROR [event-proc-p-2-t-1] ScriptEventListener - Eval error: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent java.util.concurrent.ExecutionException: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent Caused by: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent Caused by: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent 12-26/01:47:50 ERROR [event-proc-p-2-t-1] ScriptEventListener - java.util.concurrent.ExecutionException: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent Caused by: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent Caused by: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent что за беда? Код: Сервер: вер. 6.0 сборка 1620 от 06.11.2013 18:01:46
|
Автор: | Dog [ 26 дек 2013, 04:13 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
ну и собственно, когда меняю в коде TariffOptionDeactivatedEvent на TariffOptionActivatedEvent то он успешно запускается и отрабатывает на события "Активирована/реактивирована тарифная опция" и событие "Деактивирована тарифная опция" |
Автор: | skn [ 26 дек 2013, 15:51 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
тема называется " деактивации тарифной опции" а класс называется "activationBonusChecker" с событием "TariffOptionDeactivatedEvent" при вызове класса приходит событие "TariffOptionActivatedEvent".... так вы что хотите то в итоге АКТИВИРОВАТЬ или ДЕАКТИВИРОВАТЬ? |
Автор: | Dog [ 26 дек 2013, 17:15 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
я хочу чтобы при ДЕАКТИВАЦИИ (по событию TariffOptionDeactivatedEvent) запускалось Код: package scripts.kernel.bonusOnPaymentHelper; ... public class activationBonusChecker extends EventScriptBase<TariffOptionDeactivatedEvent> { @Override public void onEvent(TariffOptionDeactivatedEvent event, Setup setup, ConnectionSet connectionSet) throws Exception { ... } } сейчас это выглядит вот так: Вложение: то как называется класс играет принципиальную роль на то как оно будет работать? |
Автор: | skn [ 26 дек 2013, 17:35 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
вы один и тот же скрипт привязываете на два события? |
Автор: | Dog [ 26 дек 2013, 17:41 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
нет, я привязывают один скрипт на одно событие. просто пробовал и на Активацию/Реактивацию (меняя в коде соответственно на TariffOptionActivatedEvent), и на Деактивацию (с TariffOptionDeactivatedEvent). c Активацией/Реактивацией код срабатывает, с Деактивацией код не работает, потому что оно запускается не по событию деактивации, а по событию Активации/Реактивации. |
Автор: | skn [ 26 дек 2013, 19:20 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
не надо пробовать, там куча кешей... попробуйте один скрипт для одного события и второй скрип для другого |
Автор: | Dog [ 26 дек 2013, 22:48 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
ок. удаляем этот скрипт поведения. останавилваем activemq,server,dataloader,scheduler. стартуем их. создаем новый скрипт поведения с событием "Деактивация опции". Активируем опцию на договоре. Ждём деактивации. в логах выполнения пусто. в логах сервера такого события не было. лог сервера с момента рестарта: Код: [root@billing server]# cat server.script.log | grep "TariffOption" 12-26/20:32:25 DEBUG [main] EventProcessor - Add Function [id:5; title:Синхронизация TV - 1] to BG.Event.ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent 12-26/20:32:25 DEBUG [main] EventProcessor - Updated listener Function [id:5; title:Синхронизация TV - 1] to BG.Event.ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent 12-26/20:32:26 DEBUG [main] ScriptEventListener - Add empty listener to BG.Event.ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent 12-26/20:32:26 DEBUG [main] EventProcessor - Add EmptyScriptEventListener to BG.Event.ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent 12-26/20:32:26 DEBUG [main] ScriptEventListener - Add empty listener to BG.Event.ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent 12-26/20:32:26 DEBUG [main] EventProcessor - Add EmptyScriptEventListener to BG.Event.ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent 12-26/20:33:28 DEBUG [event-proc-p-2-t-1] EventProcessor - Add ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener@12 to BG.Event.ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent создаем еще один скрипт поведения с событием "Активация/Реактивация опции" с тем же самым дин. кодом. Активируем опцию. Код: 12-26/20:38:09 DEBUG [event-proc-p-2-t-1] EventProcessor - Add ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener@13 to BG.Event.ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent 12-26/20:38:19 INFO [event-proc-p-2-t-1] ScriptEventListener - Caught event: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent 12-26/20:38:19 ERROR [event-proc-p-2-t-1] ScriptEventListener - Eval error: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent java.util.concurrent.ExecutionException: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent Caused by: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent Caused by: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent 12-26/20:38:19 ERROR [event-proc-p-2-t-1] ScriptEventListener - java.util.concurrent.ExecutionException: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent Caused by: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent Caused by: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionActivatedEvent cannot be cast to ru.bitel.bgbilling.kernel.tariff.option.server.event.TariffOptionDeactivatedEvent вываливается екзепшн о том, что нельзя запихнуть TariffOptionActivatedEvent в TariffOptionDeactivatedEvent, что в принципе понятно. в логах выполнения, в самом договоре появился только тот что нацелен на активацию опции. Ждём деактивации опции - и тишина. на лицо то, что события на деактивацию тарифной опции вообще не происходит, ну либо не срабатывает на него скрипт. |
Автор: | Dog [ 26 дек 2013, 22:51 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
меняю в скрипте TariffOptionDeactivatedEvent на TariffOptionActivatedEvent, перезапускаю всё. скрипты поведения остаются прошлыми. в итоге, при активации опции, тот что на Активацию/Реактивацию отрабатывает тихо и мирно, а тот что на Деактивацию вообще не отрабатывает. Что еще сделать? |
Автор: | skn [ 26 дек 2013, 23:28 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
Dog писал(а): меняю в скрипте TariffOptionDeactivatedEvent на TariffOptionActivatedEvent, перезапускаю всё. скрипты поведения остаются прошлыми. в итоге, при активации опции, тот что на Активацию/Реактивацию отрабатывает тихо и мирно, а тот что на Деактивацию вообще не отрабатывает. Что еще сделать? а что вы понимаете под "Деактивация" опции? |
Автор: | Dog [ 27 дек 2013, 00:07 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
хм, ну когда у нее заканчивается период действия, и она оправляется в Историю? или событие "Деактивация..." имеется ввиду её деактивация из ЛК? тогда какое событие совпадает с тем, что я подразумеваю по Деактивацией? |
Автор: | skn [ 27 дек 2013, 00:29 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
по моему его нету... |
Автор: | Dog [ 27 дек 2013, 01:42 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
и как быть? нужно увидеть когда закончилась одна опция, чтобы запустить следующую. |
Автор: | Cromeshnic [ 27 дек 2013, 07:11 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
Модуль "Подписки"? |
Автор: | Dog [ 27 дек 2013, 12:40 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
не, обойдусь пока что костылями. |
Автор: | Dog [ 27 дек 2013, 13:38 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
а можно как то добавлять опцию на будущее число? если например через sql в базу её пихнуть, она потом активируется? |
Автор: | Dog [ 27 дек 2013, 17:28 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
а еще судя по доке в классе bitel.billing.server.contract.bean.Payment есть методы getSum() и getSumma(). getSumma() - устарел и предполагается что нужно брать getSum() которого там нет: Код: cannot find symbol
symbol : method getSum() location: class bitel.billing.server.contract.bean.Payment |
Автор: | skn [ 27 дек 2013, 18:51 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
Dog писал(а): а еще судя по доке в классе bitel.billing.server.contract.bean.Payment есть методы getSum() и getSumma(). getSumma() - устарел и предполагается что нужно брать getSum() которого там нет: Код: cannot find symbol symbol : method getSum() location: class bitel.billing.server.contract.bean.Payment какая версия? |
Автор: | Dog [ 27 дек 2013, 19:16 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
6.0 |
Автор: | skn [ 27 дек 2013, 19:40 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
в 6 версии в данном классе есть оба метода, может у вас билд старый? |
Автор: | Dog [ 27 дек 2013, 19:42 ] |
Заголовок сообщения: | Re: Событие деактивации тарифной опции |
может быть Код: Сервер: вер. 6.0 сборка 1620 от 06.11.2013 18:01:46
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_33 |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |