BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 20 май 2024, 12:15

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 18 ] 
Автор Сообщение
СообщениеДобавлено: 05 дек 2012, 10:08 
Не в сети

Зарегистрирован: 08 окт 2009, 16:06
Сообщения: 186
Карма: 20
Всем доброго дня. есть код

Код:
import java.util.*;
import java.lang.Object.*;
import bitel.billing.server.dialup.bean.*;
import bitel.billing.server.dialup.bean.CalculatePeriodManager;
import bitel.billing.common.TimeUtils;

public void main( setup, con, conSlave )
{
CPMConstr = new CalculatePeriodManager( con, 1 );
TUConstr = new TimeUtils();   

Calendar date1 = new GregorianCalendar();
Calendar date2 = new GregorianCalendar();
date2.add(Calendar.DATE, 29);

CPMConstr.updatePeriod( -1, 2254, date1, date2 );
}



в логах выдает следующее

Код:
EXCEPTIONS:
Error in method invocation: Method updatePeriod( int, int, java.util.GregorianCalendar, java.util.GregorianCalendar ) not found in class'bitel.billing.server.dialup.bean.CalculatePeriodManager'
Error in method invocation: Method updatePeriod( int, int, java.util.GregorianCalendar, java.util.GregorianCalendar ) not found in class'bitel.billing.server.dialup.bean.CalculatePeriodManager' : at Line: 16 : in file: test : CPMConstr .updatePeriod ( - 1 , 2254 , date1 , date2 )

Called from method: main : at Line: -1 : in file: <Called from Java Code> : <Compiled Java Code>
   at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:77)
   at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
   at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
   at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
   at bsh.BSHBlock.eval(BSHBlock.java:81)
   at bsh.BshMethod.invokeImpl(BshMethod.java:362)
   at bsh.BshMethod.invoke(BshMethod.java:258)
   at bsh.BshMethod.invoke(BshMethod.java:186)
   at bsh.This.invokeMethod(This.java:255)
   at bsh.This.invokeMethod(This.java:174)
   at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.invoke(ScriptInstance.java:371)
   at bitel.billing.server.script.global.bean.GlobalScriptMachine.runScriptImpl(GlobalScriptMachine.java:139)
   at bitel.billing.server.script.global.bean.GlobalScriptMachine.runScript(GlobalScriptMachine.java:73)
   at bitel.billing.server.script.global.bean.GlobalScriptManager.executeGlobalScript(GlobalScriptManager.java:38)
   at bitel.billing.server.script.global.action.ActionExecuteScript.doAction(ActionExecuteScript.java:31)
   at bitel.billing.server.Executer.doModule(Unknown Source)
   at bitel.billing.server.Executer.doPost(Unknown Source)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:49)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
   at java.lang.Thread.run(Thread.java:619)



В версии билинга 5.0 все работает. в 5.1 где то затык, не пойму где.


Код:
Клиент: вер. 5.1 сборка 685 от 12.10.2012 17:28:57
os: Windows 7; java: Java HotSpot(TM) Client VM, v.1.6.0_37
   Сервер: вер. 5.1 сборка 836 от 08.11.2012 14:14:54
os: FreeBSD; java: Diablo Java HotSpot(TM) Client VM, v.1.6.0_07
    ВНИМАНИЕ: Виртуальная машина Diablo Java HotSpot(TM) Client VM не рекомендуется

   bill вер. 5.1 сборка 263 от 12.10.2012 17:28:53
   dialup вер. 5.1 сборка 205 от 26.11.2012 11:43:46
   ipn вер. 5.1 сборка 262 от 12.10.2012 17:29:07
   mps вер. 5.1 сборка 181 от 26.10.2012 14:45:05
   npay вер. 5.1 сборка 218 от 12.10.2012 17:29:22
   reports вер. 5.1 сборка 185 от 08.11.2012 14:15:19


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 дек 2012, 18:00 
Не в сети

Зарегистрирован: 22 окт 2009, 15:45
Сообщения: 201
Карма: 15
в кофигурации модуля появился параметр
Код:
second.calculate.period = true/false

И этот параметр передается в данный метод последним параметром. Как то так сейчас выглядит метод.
Код:
public boolean updatePeriod(int id, int cid, Calendar start, Calendar end, boolean second)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 дек 2012, 18:42 
Не в сети

Зарегистрирован: 08 окт 2009, 16:06
Сообщения: 186
Карма: 20
Спасибо.

в документации ничего не нашел про него. можно плиз по подробней на что влияет данный параметр?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 дек 2012, 03:07 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
KostiK писал(а):
Как то так сейчас выглядит метод.
Код:
public boolean updatePeriod(int id, int cid, Calendar start, Calendar end, boolean second)


Обожаю нотки сомнения в постах разработчиков :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 дек 2012, 13:22 
Не в сети

Зарегистрирован: 22 окт 2009, 15:45
Сообщения: 201
Карма: 15
Данный параметр влияет на точность до секунд, если передать true


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 дек 2012, 13:04 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
стоп! учетный период теперь можно градировать до секунд?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 дек 2012, 13:06 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
Код:
205   26.11.2012 11:43:57   ДОБАВЛЕНО   DialUp, возможность учётного периода секундной точности.

Мама дорогая чтоже все молчат то.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 дек 2012, 14:33 
Не в сети

Зарегистрирован: 22 окт 2009, 15:45
Сообщения: 201
Карма: 15
да, вы правы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 дек 2012, 18:07 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
хм, а зачем же вы метод со старой сигнатурой убрали то из класа. Я бы вот сейчас взял и несмотря обновился, а потом полдня добрые взгляды отдела абонентского принимал на себя. Нехорошо однако.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 дек 2012, 18:23 
Не в сети

Зарегистрирован: 22 окт 2009, 15:45
Сообщения: 201
Карма: 15
Не всегда получается сохранить обратную совместимость....
А при обновлении нужно всегда проверять скрпты.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 дек 2012, 18:54 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
хм.
было
Код:
 public boolean updatePeriod(int id, int cid, Calendar start, Calendar end)

стало
Код:
 public boolean updatePeriod(int id, int cid, Calendar start, Calendar end, boolean second)

Что мешало оставить
Код:
@Deprecated
public boolean updatePeriod(int id, int cid, Calendar start, Calendar end){
     updatePeriod( id, cid, start, end, false)
}

выпали бы варнинги на deprecated method и можно было спокойно обновить и потом переехать.
А то как то раз и нету ушек.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 дек 2012, 23:43 
Не в сети

Зарегистрирован: 22 окт 2009, 15:45
Сообщения: 201
Карма: 15
ну конкретно это место не доглядели, согласен, наш косяк....


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 дек 2012, 12:33 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
В любом случае этот метод будет deprecated, а потом когда-нибудь пропадёт.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 дек 2012, 12:39 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
я согласен чтобы он был сначала deprecated, а потом пропадет.
меня просто пугает факт "тихого" пропадания метода, в рамках одной мажорной версии.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 дек 2012, 12:55 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
aardvark писал(а):
я согласен чтобы он был сначала deprecated, а потом пропадет.
меня просто пугает факт "тихого" пропадания метода, в рамках одной мажорной версии.

ну это неправильно, конечно. просто многие бывает и с 4.6 сразу на 5.2 обновляются. всё равно славливают так или иначе.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 дек 2012, 13:05 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Не отмазывайтесь )))

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 дек 2012, 15:43 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
Мы сейчас с вами договоримся, что я вам сейчас буду Торвальдса буду цитировать про бинарную совместимость и поломку юзерспейса, а вы мне, что всё равно не получится поддерживать.
Я прекрасно понимаю, что полную совместимость не обеспечить иногда, но всё же когда это можно сделать, как в текущем случае помоему это стоит делать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 дек 2012, 16:31 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Про текущий случай же сказали вам, что был косяк, недоглядели.

А про Торвальдса даже не смешно и про бинарную совместимость) Вы когда-нибудь поддерживали некоторое время сколько-нибудь крупный модуль ядра, особенно использующий околоядровое API? Иногда даже в минорных релизах приходится переписывать/патчить, не говорю уж о пересборке. Винда со своим "драйвер от XP на семёрке встал криво" курит в сторонке :umnik:

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.050s | 53 Queries | GZIP : On ]