BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 30 ] 
Автор Сообщение
 Заголовок сообщения: Вывод print error
СообщениеДобавлено: 07 апр 2017, 12:54 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Я конечно дико извиняюсь, а где смотреть вывод методов print и error из EventScriptBase при "обычной работе" (не в окне "вывод" после запуска")?
В какой лог они попадают или куда?
Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 07 апр 2017, 13:47 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
mhollow писал(а):
Я конечно дико извиняюсь, а где смотреть вывод методов print и error из EventScriptBase при "обычной работе" (не в окне "вывод" после запуска")?
В какой лог они попадают или куда?
Спасибо.


если скрипт на договоре, то в договоре есть в разделе Скрипты поведения, закладка Логи выполнения


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 09 апр 2017, 21:37 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
А почему print работает только из execute (в глобальном скрипте)?
Из всех остальных методов того же класса - java.lang.NullPointerException
at ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase.print(GlobalScriptBase.java:31)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 13:29 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 13:42 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
GENERATE_TIME: 10.04.17 10:38:55
EXECUTION_STOP_TIME: 10.04.17 10:38:55
PROCESS_TIME: 0

OUT:
print from execute


EXCEPTIONS:
java.lang.NullPointerException
at ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase.print(GlobalScriptBase.java:31)
at ru.xxx.bgbilling.kernel.TestGlobal.testMethod(TestGlobal.java:31)
at ru.xxx.bgbilling.kernel.TestGlobal.execute(TestGlobal.java:21)
at ru.bitel.bgbilling.kernel.script.server.bean.GlobalScriptInvoker.invoke(GlobalScriptInvoker.java:38)
at ru.bitel.bgbilling.kernel.script.server.GlobalScriptServiceImpl.executeGlobalScriptParams(GlobalScriptServiceImpl.java:83)
at ru.bitel.bgbilling.kernel.script.server.GlobalScriptServiceImpl.executeGlobalScript(GlobalScriptServiceImpl.java:59)
at sun.reflect.GeneratedMethodAccessor480.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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:229)
at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.access$000(AbstractJaxWsHandler.java:47)
at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$1.run(AbstractJaxWsHandler.java:276)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke(AbstractJaxWsHandler.java:270)
at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler.invoke(JaxWsHandler.java:315)
at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$ServiceInstanceResolver$1.invoke(AbstractJaxWsHandler.java:375)
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:290)
at bitel.billing.server.Executer.doPost(SourceFile:163)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

package ru.xxx.bgbilling.kernel;
import java.io.FileReader;
import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase;
import ru.bitel.bgbilling.server.util.Setup;

public class TestGlobal extends GlobalScriptBase {

@Override
public void execute(Setup setup, ConnectionSet connectionSet) {
print("print from execute");
TestGlobal tg = new TestGlobal();
tg.testMethod();
print("done from execute");
return;
}

public void TestGlobal() { }

private void testMethod() {
print("print from testMethod");
return;
}
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 13:49 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Код:
TestGlobal tg = new TestGlobal();

Так работать не будет, GlobalScriptBase там отдельно инициализируется перед запуском итд, а вы просто инстанс гольный создали, где никакие print не настроены
Почему просто testMethod() не вызвать из этого же инстанса, а не из нового tg?
Если критично писать именно так, то надо подумать как часть кода перенести, скорее всего init какой-нибудь достаточно будет.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 13:56 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Ну вообще говоря, формально мой класс расширяет GlobalScriptBase
public class TestGlobal extends GlobalScriptBase
поэтому извините, работать обязано.
А кто создает инстанс, ядро или я сам, это уже не важно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 15:04 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
все правильно
когда ядро создает инстанс, оно его и нициализирует
хотите сами его создавать будьте любезны его и сами инициализировать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 15:29 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Нет, не правильно.
Инициализация при расширении класса НЕ обязательна. Методы объявленные в расширяемом классе обязаны быть доступными в расширяющем классе без всякой дополнительной инициализации.
Хотите еще один холивар? Нет проблем. Только на этот раз все это ооочень четко описано в спецификации к Java. И я не поленюсь, найду. И окажется что вы нарушаете спецификацию языка.
Инициализация всего-лишь дополнительная возможность выполнить определенные действия по инициализации полей при создании объекта или класса. Которая мне, как создателю это класса и его инстанса в данном случае не нужна.


Последний раз редактировалось mhollow 10 апр 2017, 15:41, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 15:32 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
mhollow писал(а):
И окажется что вы нарушаете спецификацию языка.

Увы ©

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 15:34 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Sad but true © )))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 15:46 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
mhollow писал(а):
Нет, не правильно.
Инициализация при расширении класса НЕ обязательна. Методы объявленные в расширяемом классе обязаны быть доступными в расширяющем классе без всякой дополнительной инициализации.
Хотите еще один холивар? Нет проблем. Только на этот раз все это ооочень четко описано в спецификации к Java. И я не поленюсь, найду. И окажется что вы нарушаете спецификацию языка.


Спецификация тут не причем, класс компилируется, а все остальное дело автора класса и его целей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 15:56 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Моя цель в данном контексте использовать метод, объявленный в родительском классе.
И для того чтобы иметь возможность это сделать я все необходимые условия с точки зрения требований языка выполнил - расширил класс.
Но что-то пошло не так...Если я не могу этого сделать это как минимум означает, что класс родитель спроектирован не достаточно хорошо. Конечно он мне дает его вызвать, но сам метод вызывает Exception.
Нарушение спецификации в данном случае заключается не в том, что мне компилятор не дает вызвать метод родительского класса а в том что он не работает из расширяющего класса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:01 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
компилятор дает вам вызвать метод, а метод кидает Exception если для его работы чего то не хватает, обычная практика программирования, кидать исключение при нештатной ситуации...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:05 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Тогда не используете GlobalScriptBase. Вас же никто не заставляет, используйте свою реализацию интерфейса GlobalScript.
Вот вам код
Код:
public abstract class GlobalScriptBase
    implements GlobalScript
{
   private PrintStream out;
   private PrintStream err;
   private ParameterMap params;
   
   public void setOutputStream( PrintStream out )
   {
      this.out = out;
   }
   
   public void setErrorStream( PrintStream err )
   {
      this.err = err;
   }

   protected void print( Object message )
   {
      this.out.println( message );
   }
   
   protected void error( Object message )
   {
      this.err.println( message );
   }

   /**
    * Дополнительные параметры скрипта.
    * Например, сюда попадают все параметры из конфига задачи выполнения глобальных скриптов по таймеру.
    * При запуске из командной строки класса реализующего интерфейс GlobalScript попадают параметры переданные.
    */
   public ParameterMap getParams()
   {
      return params;
   }

   public void setParams(ParameterMap params)
   {
      this.params = params;
   }
}



Если очень надо именно GlobalScriptBase, мы можем в следующем обновлении сделать его конструктор приватным и вы вообще ничего не сможете создать и отнаследоваться о него.
И в это не будет ничего неправильного, Есть например такой pattern

GlobalScriptBase - это по сути наш внутренний класс, и мы можем запретить его использовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:08 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
А в чем нештатность ситуации? Я расширил класс, радостно потираю потные ручонки, вызываю метод родительского класса. А меня тут начинаю гнать не очень сухими тряпками и говорить что это нештатная ситуация.
Я очень сильно сконфужен.
Ну так запретите, потому что я, извините действую СТРОГО по инструкции, только уж будьте любезны, отразите это в документации.
https://docs.bitel.ru/pages/viewpage.action?pageId=73597356
Класс, привязанный к глобальному скрипту, должен расширять базовый класс ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase.
Там вообще кстати ни слова про интерфейс.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:13 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Комрад, поймите уже наконец, что правила игры здесь не вы устанавливаете. И максимум, на что вы можете расчитывать - это высказать пожелание и предложение. А тут получается ВЫ делаете что-то, ОНО не работает, а виноваты разработчики. Так пишите так, как говорят, как будет работать. Сколько людей пользуется глобальными скриптами (ой, вы тоже начали скриптами пользоваться?) и ни у кого не возникало ни проблем ни претензий.

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:15 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Я всё еще надеюсь изменить мир)) Ну или хотя бы разработчиков bgbilling )))))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:17 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
mhollow писал(а):
Я всё еще надеюсь изменить мир)) Ну или хотя бы разработчиков bgbilling )))))

Увы ©

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:17 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Вот вот, один Phricker меня понимает :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:22 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
mhollow писал(а):
А в чем нештатность ситуации? Я расширил класс, радостно потираю потные ручонки, вызываю метод родительского класса. А меня тут начинаю гнать не очень сухими тряпками и говорить что это нештатная ситуация.
Я очень сильно сконфужен.


Есть внутренний классы в любом api, даже в jdk есть классы в пакете sun, которые можно использовать только на свой страх и риск, никто вам не гарантирует чтобы в следующей версии они вообще будут например. Вы не можете создать любой наш класс извне.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:26 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Цитата:
Вы не можете создать любой наш класс извне.

Ладно, ладно. Как скажете, уважаемые. Я уже на всё согласная ))
Неплохо было только это где-то отразить, а то я видите-ли не знал о такой мелочи ( И Фрикер ночью во сне не явился и не просветил )))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:29 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
mhollow писал(а):
Цитата:
Вы не можете создать любой наш класс извне.

Ладно, ладно. Как скажете, уважаемые. Я уже на всё согласная ))
Неплохо было только это где-то отразить, а то я видите-ли не знал о такой мелочи (


Хорошо, мы добавили в TODO что либо сделать по этому поводу. Пока можете поставить
Код:
setOutputStream( System.out);
setErrorStream( System.err);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:33 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
https://docs.oracle.com/cd/E19798-01/82 ... index.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:37 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Ну строго говоря я не создаю а расширяю, и не любой класс, а который я обязан расширить.
Причем без всяких дополнительных инструкций по инициализации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 16:53 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Цитата:
setOutputStream( System.out);
setErrorStream( System.err);

Это куда именно поставить? Если в конструктор класса то НЕ помогает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 20:35 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
Код:
TestGlobal testGlobal = new TestGlobal();
testGlobal.setOutputStream( System.out);
testGlobal.setErrorStream( System.err);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 20:43 
Не в сети

Зарегистрирован: 20 мар 2017, 14:10
Сообщения: 440
Карма: 0
Да, спасибо, это работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 20:44 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
mhollow писал(а):
Нет, не правильно.
Инициализация при расширении класса НЕ обязательна. Методы объявленные в расширяемом классе обязаны быть доступными в расширяющем классе без всякой дополнительной инициализации.

Фигню пишете опять очень уверенно :lupa:
И методы доступны, и поля доступны. Но они НЕ ИНИЦИАЛИЗИРОВАНЫ, это делается вручную вызывающим кодом. Вообще теоретически это (а именно неконсистентность и недоинициализированность после полноценного создания инстанса объекта) не вполне корректно, если речь о публичном API(*). Но вы извращаетесь с фактически внутренним классом, который не велено трогать и создавать инстансы.

(*) и то в данном случае это очень спорно, т.к. print - второстепенная функциональность, для её работы нужна дополнительная информация, ничего страшного в этом нет. Но в таком случае надо не NPE кидать, конечно, а IllegalStateException какой-нибудь, и будет 104% корректно всё.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод print error
СообщениеДобавлено: 10 апр 2017, 20:48 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Цитата:
Ну строго говоря я не создаю а расширяю, и не любой класс, а который я обязан расширить.
Причем без всяких дополнительных инструкций по инициализации.
Цитата:
Ну так запретите, потому что я, извините действую СТРОГО по инструкции, только уж будьте любезны, отразите это в документации.
https://docs.bitel.ru/pages/viewpage.ac ... d=73597356
Класс, привязанный к глобальному скрипту, должен расширять базовый класс ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase.
Там вообще кстати ни слова про интерфейс.

Вы не расширяете, а именно создаёте новый инстанс. Расширение - это наследование. Расширение, это вот эта строка: public class TestGlobal extends GlobalScriptBase .
Эта строка: TestGlobal tg = new TestGlobal() - это создание инстанса вашего "расширенного класса". Зачем вы это делаете - вообще непонятно. Это не надо делать ни в вашей задаче, ни по какой-то инструкции. Нет там такого и быть не может. Потому что это совершенно излишне и не нужно вам.

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


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

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


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

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


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

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