forum.bitel.ru http://forum.bitel.ru/ |
|
Ошибка при сохранении истории изменения спискового параметра http://forum.bitel.ru/viewtopic.php?f=19&t=9873 |
Страница 1 из 1 |
Автор: | Phricker [ 29 окт 2014, 02:24 ] |
Заголовок сообщения: | Ошибка при сохранении истории изменения спискового параметра |
А что такого в скрипте что он вызвал вот такое будучи запущенным через дин.код? ![]() Код: package ru.ellcom.test;
import java.io.FileInputStream; import java.io.InputStreamReader; import java.sql.Connection; import java.sql.ResultSet; import java.util.List; import ru.bitel.bgbilling.kernel.module.common.bean.User; import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase; import ru.bitel.bgbilling.server.util.Setup; import ru.bitel.common.Utils; import ru.bitel.common.sql.ConnectionSet; import bitel.billing.server.contract.bean.Contract; import bitel.billing.server.contract.bean.ContractManager; import bitel.billing.server.contract.bean.ContractParameterManager; import ru.bitel.bgbilling.kernel.contract.param.common.bean.*; import com.Ostermiller.util.ExcelCSVParser; import com.mysql.jdbc.PreparedStatement; public class loadManagers extends GlobalScriptBase { int paramId = 27; int userId = 13; @Override public void execute( Setup setup, ConnectionSet connectionSet ) throws Exception { print("Start"); Connection con = connectionSet.getConnection(); ContractParameterManager cpm = new ContractParameterManager( con ); long timeStart = System.currentTimeMillis(); // удаление всех установленных менеджеров String query = "SELECT cid FROM contract_parameter_type_7 WHERE pid = ?"; java.sql.PreparedStatement ps = con.prepareStatement( query ); ps.setInt( 1, paramId ); ResultSet rs = ps.executeQuery(); int count = 0; while ( rs.next() ) { cpm.deleteListParam(rs.getInt( 1 ), paramId, User.USER_SERVER); ++count; } ps.close(); print( "Removed " + count + " values" ); // загружаем файлы loadFile( "/opt/BG/manager_new.csv", setup, con, cpm ); long timeEnd = System.currentTimeMillis(); print( "Process time: " + (timeEnd - timeStart)/1000 + " s." ); } private void loadFile( String filename, Setup setup, Connection con, ContractParameterManager cpm ) throws Exception { ContractManager cm = new ContractManager( con ); String[][] data = ExcelCSVParser.parse( new InputStreamReader( new FileInputStream( filename ), "CP1251" ) , ';' ); if( data != null && data.length > 0 ) { final int rowCount = data.length; for( int rowNum = 1; rowNum < rowCount; rowNum++ ) { String[] fields = data[rowNum]; String contractTitle; String manager; contractTitle = fields[0]; manager = fields[1]; Contract contract = null; int cid = 0; try { contract = cm.getContractByTitle(contractTitle); cid = contract.getId(); try { ListParamValue listValue = new ListParamValue(); listValue.setId(Utils.parseInt(manager)); listValue.setCustomValue(""); cpm.updateListParam(cid, paramId, listValue, User.USER_SERVER); if(contract.isSuper() == true) { List<Contract> subContracts = cm.getSubContracts(cid); for( Contract c : subContracts ) { try { cpm.updateListParam(c.getId(), paramId, listValue, User.USER_SERVER); } catch (Exception e) { error( "Error in sub: cid = " + c.getId() + " format: " + e.toString()); } } } } catch (Exception e) { error( "Error: contract = " + contractTitle + " format: " + e.toString()); } } catch (Exception e) { error( "Not found contract " + contractTitle + " format: " + e.toString()); } } } } } |
Автор: | Amir [ 29 окт 2014, 02:31 ] |
Заголовок сообщения: | Re: А что такого-то? |
Это клиент биллинга столько памяти съел? |
Автор: | Phricker [ 29 окт 2014, 02:36 ] |
Заголовок сообщения: | Re: А что такого-то? |
Да. Вывалился с ошибкой Java heap space. При этом я не нашел результатов удаления спискового параметра. По идее в истории параметров должно писаться "УДАЛЕНО". Но новые значения параметра загруженные из файла - на месте. По идее в скрипте сначала идет удаление всех найденных установленных значений спискового параметра, а потом их загрузка из файла. Загрузка есть, удаления по истории найти не могу. |
Автор: | Phricker [ 29 окт 2014, 02:42 ] |
Заголовок сообщения: | Re: А что такого-то? |
Запустил повторно через Управление динамическим кодом -> Кнопка RUN. Снова здарова. ![]() висит так уже минут 10 |
Автор: | Amir [ 29 окт 2014, 02:43 ] |
Заголовок сообщения: | Re: А что такого-то? |
Возможно очень много раз вызывается error("") - в итоге в клиент пытается прийти огромный текст как результат выполнения, который он пытается отобразить в текстовом поле. |
Автор: | Phricker [ 29 окт 2014, 10:35 ] |
Заголовок сообщения: | Re: А что такого-то? |
Комментируем строку Код: loadFile( "/opt/BG/manager_new.csv", setup, con, cpm ); Т.е. по сути загрузка файла не вызывается. В строках Код: print("Start"); Connection con = connectionSet.getConnection(); ContractParameterManager cpm = new ContractParameterManager( con ); long timeStart = System.currentTimeMillis(); // удаление всех установленных менеджеров String query = "SELECT cid FROM contract_parameter_type_7 WHERE pid = ?"; java.sql.PreparedStatement ps = con.prepareStatement( query ); ps.setInt( 1, paramId ); ResultSet rs = ps.executeQuery(); int count = 0; while ( rs.next() ) { cpm.deleteListParam(rs.getInt( 1 ), paramId, User.USER_SERVER); ++count; } rs.close(); ps.close(); print( "Removed " + count + " values" ); // загружаем файлы //loadFile( "/opt/BG/manager_new.csv", setup, con, cpm ); long timeEnd = System.currentTimeMillis(); print( "Process time: " + (timeEnd - timeStart)/1000 + " s." ); Нет ничего кощунственного? Запускаем. Получаем. ![]() |
Автор: | Phricker [ 29 окт 2014, 10:50 ] |
Заголовок сообщения: | Re: А что такого-то? |
При этом ВСЕ установленные параметры были удалены. В таблице contract_parameter_type_7 пусто. Нет ни одной записи в истории о том, что параметры были удалены. ![]() Здесь должно было быть как минимум три записи об удалено, потому что сейчас нет установленного параметра. И при каждом запуске скрипта он должен был его удалять. На тестовом сервере урезал, скрипт до 1го договора (раньше этот скрипт не вызывал проблем, т.к. запускаю его явно не в первый раз). Он выдал вот такое Код: Start java.lang.NullPointerException at bitel.billing.server.contract.bean.ContractParameterManager.updateListParamLog(ContractParameterManager.java:1153) at bitel.billing.server.contract.bean.ContractParameterManager.deleteListParam(ContractParameterManager.java:1183) at ru.ellcom.test.loadManagers.execute(loadManagers.java:44) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at ru.bitel.bgbilling.kernel.dynamic.server.DynamicCodeServiceImpl.run(DynamicCodeServiceImpl.java:329) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo.invoke(ServiceInfo.java:101) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke0(AbstractJaxWsHandler.java:195) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.access$0(AbstractJaxWsHandler.java:169) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$1.run(AbstractJaxWsHandler.java:242) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke(AbstractJaxWsHandler.java:236) at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler.invoke(JaxWsHandler.java:299) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$ServiceInstanceResolver$1.invoke(AbstractJaxWsHandler.java:335) at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:150) at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:261) at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482) at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:314) at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:608) at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:259) at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:162) at ru.bitel.bgbilling.kernel.container.ws.server.JaxWSAdapter.handle(JaxWSAdapter.java:288) at bitel.billing.server.Executer.doPost(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
|
Автор: | Phricker [ 29 окт 2014, 10:54 ] |
Заголовок сообщения: | Re: А что такого-то? |
Если удалять значение спискового параметра через клиент биллинга, а не через скрипт, в истории тоже ничего не сохраняется. Код: [root@test61 log]# cat ./server.error.log
server 10-29/08:51:30 ERROR [Thread-10] LoggingPrintStream - java.lang.NullPointerException server 10-29/08:51:30 ERROR [Thread-10] LoggingPrintStream - at bitel.billing.server.util.MailMsg.sendMessage(MailMsg.java:162) server 10-29/08:51:30 ERROR [Thread-10] LoggingPrintStream - at bitel.billing.server.util.MailMsg.sendMessage(MailMsg.java:149) server 10-29/08:51:30 ERROR [Thread-10] LoggingPrintStream - at bitel.billing.server.util.MailMsg.sendMessage(MailMsg.java:114) server 10-29/08:51:30 ERROR [Thread-10] LoggingPrintStream - at bitel.billing.server.admin.errorlog.AlarmSender.run(AlarmSender.java:245) server 10-29/08:51:35 ERROR [Thread-10] LoggingPrintStream - java.lang.NullPointerException server 10-29/08:51:35 ERROR [Thread-10] LoggingPrintStream - at bitel.billing.server.util.MailMsg.sendMessage(MailMsg.java:162) server 10-29/08:51:35 ERROR [Thread-10] LoggingPrintStream - at bitel.billing.server.util.MailMsg.sendMessage(MailMsg.java:149) server 10-29/08:51:35 ERROR [Thread-10] LoggingPrintStream - at bitel.billing.server.util.MailMsg.sendMessage(MailMsg.java:114) server 10-29/08:51:35 ERROR [Thread-10] LoggingPrintStream - at bitel.billing.server.admin.errorlog.AlarmSender.run(AlarmSender.java:245) server 10-29/08:51:41 ERROR [Thread-10] LoggingPrintStream - java.lang.NullPointerException server 10-29/08:51:41 ERROR [Thread-10] LoggingPrintStream - at bitel.billing.server.util.MailMsg.sendMessage(MailMsg.java:162) server 10-29/08:51:41 ERROR [Thread-10] LoggingPrintStream - at bitel.billing.server.util.MailMsg.sendMessage(MailMsg.java:149) server 10-29/08:51:41 ERROR [Thread-10] LoggingPrintStream - at bitel.billing.server.util.MailMsg.sendMessage(MailMsg.java:114) server 10-29/08:51:41 ERROR [Thread-10] LoggingPrintStream - at bitel.billing.server.admin.errorlog.AlarmSender.run(AlarmSender.java:245) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - java.lang.NullPointerException server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at bitel.billing.server.contract.bean.ContractParameterManager.updateListParamLog(ContractParameterManager.java:1153) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at bitel.billing.server.contract.bean.ContractParameterManager.deleteListParam(ContractParameterManager.java:1183) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at bitel.billing.server.contract.action.ActionUpdateListParam.doAction(ActionUpdateListParam.java:50) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at bitel.billing.server.Executer.doModule(Unknown Source) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at bitel.billing.server.Executer$1.run(Unknown Source) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at java.security.AccessController.doPrivileged(Native Method) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at javax.security.auth.Subject.doAs(Subject.java:415) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at bitel.billing.server.Executer.doPost(Unknown Source) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at ru.bitel.common.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) server 10-29/08:52:04 ERROR [http-bio-0.0.0.0-8080-exec-10] LoggingPrintStream - at java.lang.Thread.run(Thread.java:745) |
Автор: | Phricker [ 29 окт 2014, 11:01 ] |
Заголовок сообщения: | Re: А что такого-то? |
Код: Информация о версии: Клиент: вер. 6.1.772 / 21.08.2014 16:54:00 os: Windows 8.1; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_72 Сервер: вер. 6.1.948 / 21.08.2014 16:54:11 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_72 Код: Информация о версии:
Клиент: вер. 6.1.796 / 23.10.2014 12:24:03 os: Windows 8.1; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_72 Сервер: вер. 6.1.976 / 21.10.2014 11:47:40 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_72 ВНИМАНИЕ: Необходимо обновить таймзоны |
Автор: | skn [ 29 окт 2014, 14:16 ] |
Заголовок сообщения: | Re: Ошибка при сохранении истории изменения спискового парам |
попробуйте обновиться |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |