forum.bitel.ru http://forum.bitel.ru/ |
|
[5.2] Генерирование тестовых договоров http://forum.bitel.ru/viewtopic.php?f=44&t=8372 |
Страница 1 из 1 |
Автор: | reinover [ 21 авг 2013, 19:56 ] |
Заголовок сообщения: | [5.2] Генерирование тестовых договоров |
Для тестирования скорости списания абон. платы, нужно автоматом создать множество договоров, прилепить к ним модуль inet, и начислить на каждый договор определённую сумму. Беглый просмотр форума и wiki не дал результатов. Могу ли я реализовать вышеописанное через api? И если да - то в какую сторону копать? |
Автор: | Amir [ 21 авг 2013, 20:13 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Создать шаблон договора с NPAY и Inet и http://bgbilling.ru/v6.0/javadoc/bitel/billing/server/contract/bean/ContractManager.html#createFromPattern(int,%20java.lang.String,%20java.util.Calendar,%20java.lang.String) |
Автор: | reinover [ 28 авг 2013, 17:08 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Спасибо. Я начинающий в java и могу ошибаться, но разве для использования класса ContractManager в 5.2 не нужно иметь server.jar в библиотеках bg? Я не могу найти её в 5.2, зато она есть в 5.1. Могу ли я её использовать оттуда? |
Автор: | Amir [ 28 авг 2013, 17:11 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
В 5.2 он находится в kernel.jar. |
Автор: | borisk [ 28 авг 2013, 18:36 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Попутно - а как добавить сервис для модуля Inet с нужными мне параметрами? Ну или пусть создается из шаблона, но потом мне на нем надо поменять login/pass и ip. |
Автор: | Amir [ 28 авг 2013, 19:06 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
http://bgbilling.ru/v6.0/javadoc/ru/bitel/bgbilling/modules/inet/api/common/service/InetServService.html#inetServUpdate(ru.bitel.bgbilling.modules.inet.api.common.bean.InetServ, java.util.List, boolean, boolean, long) |
Автор: | borisk [ 29 авг 2013, 16:07 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Опять таки, это интерфейс. Как же мне его использовать как класс? Ну не настолько крут я в java ![]() |
Автор: | Amir [ 29 авг 2013, 17:40 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
ServerContext context = new ServerContext( setup, moduleId, userId ); InetServService inetServService = context.getService( InetServService.class, moduleId ); |
Автор: | borisk [ 29 авг 2013, 20:18 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Получаю exception ![]() Вот код, что я еще забыл заполнить? Цитата: InetServ inetServ = new InetServ(); inetServ.setContractId( 46 ); inetServ.setTypeId( 4 ); inetServ.setDeviceId( 20 ); inetServ.setLogin( "test" ); inetServ.setPassword( "test" ); inetServ.setDateFrom( dtYesterday ); inetServ.setDateTo( null ); inetServ.setSessionCountLimit( 1 ); inetServ.setStatus( InetServ.STATUS_ACTIVE ); inetServ.setComment( "Test" ); inetServService.inetServUpdate(inetServ, new ArrayList<InetServOption>(), false, false, 0); Цитата: EXCEPTIONS:
ru.bitel.bgbilling.common.BGMessageException: ??????????? ????? ?????? 5 ????????. at ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.inetServUpdate(InetServServiceImpl.java:250) at ru.ups.migration.MigrationScript.doCreateContract(MigrationScript.java:109) at ru.ups.migration.MigrationScript.doCreateContracts(MigrationScript.java:90) at ru.ups.migration.MigrationScript.execute(MigrationScript.java:56) at ru.bitel.bgbilling.kernel.script.server.bean.GlobalScriptInvoker.invoke(GlobalScriptInvoker.java:22) at ru.bitel.bgbilling.kernel.script.server.GlobalScriptServiceImpl.executeGlobalScript(GlobalScriptServiceImpl.java:75) 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:616) at ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo.invoke(ServiceInfo.java:102) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke(AbstractJaxWsHandler.java:192) at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler.access$1(JaxWsHandler.java:1) at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler$2.run(JaxWsHandler.java:312) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:416) at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler.invoke(JaxWsHandler.java:306) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$ServiceInstanceResolver$1.invoke(AbstractJaxWsHandler.java:304) 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.common.server.JaxWSAdapter.handle(JaxWSAdapter.java:374) at bitel.billing.server.Executer.doPost(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:140) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:679) |
Автор: | reinover [ 30 авг 2013, 17:07 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
На этапе запуска: При попытке обратиться к классу Код: try { ContractManager cm = new ContractManager(con); String mytitle = name_pattern+ "_" +i; Contract contract = cm.createFromPattern(pattern, mytitle, rightNow, password); System.out.println("pre updateContract"); cm.updateContract(contract); } catch (Exception ex) { System.out.println("ohoho"); Logger lgr = Logger.getLogger(CrContract.class.getName()); lgr.log(Level.SEVERE, ex.getMessage(), ex); } Срабатывает исключение Код: ERROR [EventProcessor-init] EventProcessor - Name java:comp is not bound in this Context javax.naming.NameNotFoundException: Name java:comp is not bound in this Context at org.apache.naming.NamingContext.lookup(NamingContext.java:770) at org.apache.naming.NamingContext.lookup(NamingContext.java:153) at javax.naming.InitialContext.lookup(InitialContext.java:411) at ru.bitel.bgbilling.kernel.event.EventProcessor.getEnv(EventProcessor.java:168) at ru.bitel.bgbilling.kernel.event.EventProcessor.access$2(EventProcessor.java:160) at ru.bitel.bgbilling.kernel.event.EventProcessor$5.call(EventProcessor.java:1050) at ru.bitel.bgbilling.kernel.event.EventProcessor$5.call(EventProcessor.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.lang.Thread.run(Thread.java:724) Может быть встречались с чем нибудь подобным? |
Автор: | Amir [ 30 авг 2013, 17:19 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Цитата: Может быть встречались с чем нибудь подобным? Нужно сначала проинициализировать ru.bitel.bgbilling.server.util.Setup (который загружает data/data.properties).Код: Setup.setSetup( new Setup( fileName ) );
|
Автор: | Amir [ 30 авг 2013, 17:21 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Цитата: Причем почему-то русских букв не видно С кодировкой что-то где-то.Ругается где-то здесь: Код: if( password.length() < minLength )
{ throw new BGMessageException( "Минимальная длина пароля " + minLength + " символов." ); } if( password.length() > maxLength ) { throw new BGMessageException( "Максимальная длина пароля " + maxLength + " символов." ); } |
Автор: | reinover [ 30 авг 2013, 19:34 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Теперь вот следующая ошибка, чем то ему mq в data.properties не нравится. Может тоже, как и для db, требуется mq.driver? ошибка Код: 08-30/17:13:07 INFO [main] DefaultServerSetup - Init DB connection pools 08-30/17:13:07 ERROR [EventProcessor-init] EventProcessor - Name mq is not bound in this Context javax.naming.NameNotFoundException: Name mq is not bound in this Context at org.apache.naming.NamingContext.lookup(NamingContext.java:770) at org.apache.naming.NamingContext.lookup(NamingContext.java:153) at ru.bitel.bgbilling.kernel.event.EventProcessor$5.call(EventProcessor.java:1051) at ru.bitel.bgbilling.kernel.event.EventProcessor$5.call(EventProcessor.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.lang.Thread.run(Thread.java:724) Exception in thread "main" java.lang.NullPointerException at ru.bitel.bgbilling.server.util.Setup.addReloadListener(Setup.java:66) at ru.bitel.bgbilling.server.util.Setup.<init>(Setup.java:54) at bgbill.CrContract.main(CrContract.java:31) data.properties Код: connector.http=*:8080
port.admin=2005 db.driver=com.mysql.jdbc.Driver db.url=jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=Cp1251&allowUrlInLocalInfile=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true&useCursorFetch=true&queryTimeoutKillsConnection=true db.user=bill db.pswd=bgbilling db.maxIdle=20 db.maxActive=300 db.validationTimeout=10 mq.url=failover:(nio://127.0.0.1:61616) mq.user=bill mq.pswd=bgbilling context.path=/bgbilling |
Автор: | reinover [ 02 сен 2013, 16:14 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Вышестоящее сообщение о ошибке появляется после добавления строк: Код: String fileName = "data.properties";
Setup.setSetup(new Setup(fileName)); |
Автор: | reinover [ 03 сен 2013, 18:04 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Как собираю и запускаю Код: #!/bin/sh cd /home/username/source/bgbill/; export PTBG=/usr/local/BGBillingServer; export CLASSPATH=$CLASSPATH:".:$PTBG/lib/app/kernel.jar:$PTBG/lib/ext/tomcat-embed-core.jar:$PTBG/lib/ext/log4j.jar:$PTBG/lib/ext/commons-pool.jar:$PTBG/lib/ext/commons-dbcp.jar:$PTBG/lib/ext/tomcat-embed-logging-log4j.jar:$PTBG/lib/ext/xalan.jar:/opt/apache-activemq-5.4.2/activemq-all-5.4.2.jar:/usr/share/java/mysql-connector-java.jar" echo "Этап компиляции"; javac -cp $CLASSPATH newbg/CrContract.java; echo "Этап запуска"; java -cp $CLASSPATH newbg/CrContract; Что пытаюсь запустить Код: package newbg; import java.io.*; import java.sql.*; import java.util.*; import java.util.logging.Level; import java.util.logging.Logger; import org.apache.log4j.*; import bitel.billing.common.*; import bitel.billing.server.contract.bean.*; import bitel.billing.server.contract.*; import ru.bitel.bgbilling.server.util.*; class CrContract { public static void main(String args[]) { // Параметры подключения к БД Connection con = null; Statement st = null; ResultSet rs = null; String url = "jdbc:mysql://localhost:3306/bgbilling"; String user = "bill"; String pass = "bgbilling"; try { con = DriverManager.getConnection(url, user, pass); st = con.createStatement(); rs = st.executeQuery("SHOW TABLES"); if (rs.next()) { System.out.println(rs.getString(1)); } // Инициализация биллинга String fileName = "/usr/local/BGBillingServer/data/data.properties"; Setup.setSetup(new Setup(fileName)); // Параметры создаваемых договоров int pattern = 1; String name_pattern = "TestInet"; Calendar rightNow = Calendar.getInstance(); String password = "trololo"; // Запуск создания договоров for(int i=1;i<3;i++) { try { ContractManager cm = new ContractManager(con); System.out.println(name_pattern+ "_" +i); String mytitle = name_pattern+ "_" +i; System.out.println(mytitle); Contract contract = cm.createFromPattern(pattern, mytitle, rightNow, password); System.out.println("pre updateContract"); cm.updateContract(contract); } catch (Exception ex) { Logger lgr = Logger.getLogger(CrContract.class.getName()); lgr.log(Level.SEVERE, ex.getMessage(), ex); } } } catch (SQLException ex) { Logger lgr = Logger.getLogger(CrContract.class.getName()); lgr.log(Level.SEVERE, ex.getMessage(), ex); } finally { try { if (con != null) { con.close(); } } catch (SQLException ex) { } } } } Останавливается на инициализации биллинга с ошибкой (на этапе запуска): Код: 09-03/15:46:52 INFO [main] DefaultServerSetup - Init DB connection pools 09-03/15:46:52 ERROR [EventProcessor-init] EventProcessor - Name mq is not bound in this Context javax.naming.NameNotFoundException: Name mq is not bound in this Context at org.apache.naming.NamingContext.lookup(NamingContext.java:803) at org.apache.naming.NamingContext.lookup(NamingContext.java:159) at ru.bitel.bgbilling.kernel.event.EventProcessor$5.call(EventProcessor.java:1051) at ru.bitel.bgbilling.kernel.event.EventProcessor$5.call(EventProcessor.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.lang.Thread.run(Thread.java:724) Exception in thread "main" java.lang.NullPointerException at ru.bitel.bgbilling.server.util.Setup.addReloadListener(Setup.java:66) at ru.bitel.bgbilling.server.util.Setup.<init>(Setup.java:54) at newbg.CrContract.main(CrContract.java:49) Шёл 15 день изучения java |
Автор: | Phricker [ 03 сен 2013, 18:35 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Эм. А что мешает из динкода выполнить что нибудь наподобии этого? Или вам так принципиально чтобы оно выполнялось из своего класса в котором вы все сами инициализируете? |
Автор: | reinover [ 03 сен 2013, 19:12 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Нет, мне лишь бы работало. Спасибо. Покурю. |
Автор: | reinover [ 04 сен 2013, 12:28 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Но таки интересно, почему то что есть - не работает. |
Автор: | reinover [ 04 сен 2013, 17:45 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Вкорячил скрипт через "глобальные скрипты поведения". Всё заработало. Спасибо. |
Автор: | borisk [ 07 сен 2013, 15:30 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
А как привязать статический IP к InetServ? IpResourceSubscription нашел, но как им манипулировать? |
Автор: | Amir [ 09 сен 2013, 17:45 ] |
Заголовок сообщения: | Re: [5.2] Генерирование тестовых договоров |
Достаточно добавлять/обновлять через InetServService - inetServService.inetServUpdate() - там внутри все само делается. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |