forum.bitel.ru
http://forum.bitel.ru/

Где находится ServiceFactory
http://forum.bitel.ru/viewtopic.php?f=19&t=9215
Страница 1 из 1

Автор:  dm777 [ 05 май 2014, 19:36 ]
Заголовок сообщения:  Где находится ServiceFactory

Где находится ServiceFactory

Автор:  stark [ 05 май 2014, 19:41 ]
Заголовок сообщения:  Re: Где находится ServiceFactory

А зачем он вам нужен ?

Автор:  dm777 [ 05 май 2014, 20:14 ]
Заголовок сообщения:  Re: Где находится ServiceFactory

В сервлете создать сервис надо
а так

final ServerContext context = ServerContext.get();
final InetServService servService = context.newService( InetServService.class, MODULE_INET_ID );

не работает

Автор:  stark [ 05 май 2014, 20:30 ]
Заголовок сообщения:  Re: Где находится ServiceFactory

dm777 писал(а):
В сервлете создать сервис надо
а так

final ServerContext context = ServerContext.get();
final InetServService servService = context.newService( InetServService.class, MODULE_INET_ID );

не работает


Попробуйте так
Код:
Setup setup = Server.getSetupData();
ServerContext context = null;

try
{
  context = new ServerContext( setup, MODULE_INET_ID, 0 );
   final InetServService servService = context.newService( InetServService.class, MODULE_INET_ID );
}
finally
{
context.recycle();
}



Только context.recycle() обязательно, иначе соединения не будут закрываться.

Автор:  dm777 [ 05 май 2014, 21:29 ]
Заголовок сообщения:  Re: Где находится ServiceFactory

stark писал(а):
dm777 писал(а):
В сервлете создать сервис надо
а так

final ServerContext context = ServerContext.get();
final InetServService servService = context.newService( InetServService.class, MODULE_INET_ID );

не работает


Попробуйте так
Код:
Setup setup = Server.getSetupData();
ServerContext context = null;

try
{
  context = new ServerContext( setup, MODULE_INET_ID, 0 );
   final InetServService servService = context.newService( InetServService.class, MODULE_INET_ID );
}
finally
{
context.recycle();
}



Только context.recycle() обязательно, иначе соединения не будут закрываться.


Ошибочка вылазит
Код:
05-05/19:26:38  INFO [http-bio-0.0.0.0-8080-exec-6] ContractRegistration - WEB_REG:Создаем сервис: Проверку прошли для Устройства:4 Порт:12
05-05/19:26:38  INFO [http-bio-0.0.0.0-8080-exec-6] Setup - Load config for mid=1
05-05/19:26:38 ERROR [http-bio-0.0.0.0-8080-exec-6] ServiceFactory - java.lang.NullPointerException
ru.bitel.bgbilling.common.BGException: java.lang.NullPointerException
        at ru.bitel.bgbilling.kernel.container.service.server.ServiceFactory.newService(ServiceFactory.java:145)
        at ru.bitel.bgbilling.kernel.container.service.server.ServiceFactory.newService(ServiceFactory.java:114)
        at ru.bitel.bgbilling.kernel.container.resource.ServiceResourceAdapter.borrow(ServiceResourceAdapter.java:27)
        at ru.bitel.bgbilling.kernel.container.resource.ResourceManager.inject(ResourceManager.java:169)
        at ru.bitel.bgbilling.kernel.container.resource.ResourceManager.inject(ResourceManager.java:105)
        at ru.bitel.bgbilling.kernel.container.managed.ManagedBeanInfo.postConstruct(ManagedBeanInfo.java:83)
        at ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo.postConstruct(ServiceInfo.java:154)
        at ru.bitel.bgbilling.kernel.container.service.server.ServiceFactory.create(ServiceFactory.java:45)
        at ru.bitel.bgbilling.kernel.container.managed.ServerContext.newService(ServerContext.java:228)
        at ru.red26.bgbilling.module.inet.servlet.ContractRegistration.CreateInetService(ContractRegistration.java:163)
        at ru.red26.bgbilling.module.inet.servlet.ContractRegistration.processRequest(ContractRegistration.java:323)
        at ru.red26.bgbilling.module.inet.servlet.ContractRegistration.doGet(ContractRegistration.java:385)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        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)

Автор:  Artur [ 06 май 2014, 10:52 ]
Заголовок сообщения:  Re: Где находится ServiceFactory

Вот немного измененный код одного сервлета платежного модуля

Код:
Setup setup = Setup.getSetupData();
ServerContext context = new ServerContext( setup, mid, -1 );
ru.bitel.common.worker.ThreadContext parentContext = ThreadContext.push( context );
try
{
      InetServService service = context.newService( InetServService.class, mid );
      ....
      context.commit();
}
catch( BGException e )
{
   log.error( e.getMessage(), e );
}
finally
{
        context.recycle();
   ThreadContext.pop( context, parentContext );
}

Автор:  stark [ 06 май 2014, 13:54 ]
Заголовок сообщения:  Re: Где находится ServiceFactory

dm777 писал(а):
stark писал(а):
dm777 писал(а):
В сервлете создать сервис надо
а так

final ServerContext context = ServerContext.get();
final InetServService servService = context.newService( InetServService.class, MODULE_INET_ID );

не работает


Попробуйте так
Код:
Setup setup = Server.getSetupData();
ServerContext context = null;

try
{
  context = new ServerContext( setup, MODULE_INET_ID, 0 );
   final InetServService servService = context.newService( InetServService.class, MODULE_INET_ID );
}
finally
{
context.recycle();
}



Только context.recycle() обязательно, иначе соединения не будут закрываться.


Ошибочка вылазит
Код:
05-05/19:26:38  INFO [http-bio-0.0.0.0-8080-exec-6] ContractRegistration - WEB_REG:Создаем сервис: Проверку прошли для Устройства:4 Порт:12
05-05/19:26:38  INFO [http-bio-0.0.0.0-8080-exec-6] Setup - Load config for mid=1
05-05/19:26:38 ERROR [http-bio-0.0.0.0-8080-exec-6] ServiceFactory - java.lang.NullPointerException
ru.bitel.bgbilling.common.BGException: java.lang.NullPointerException
        at ru.bitel.bgbilling.kernel.container.service.server.ServiceFactory.newService(ServiceFactory.java:145)
        at ru.bitel.bgbilling.kernel.container.service.server.ServiceFactory.newService(ServiceFactory.java:114)
        at ru.bitel.bgbilling.kernel.container.resource.ServiceResourceAdapter.borrow(ServiceResourceAdapter.java:27)
        at ru.bitel.bgbilling.kernel.container.resource.ResourceManager.inject(ResourceManager.java:169)
        at ru.bitel.bgbilling.kernel.container.resource.ResourceManager.inject(ResourceManager.java:105)
        at ru.bitel.bgbilling.kernel.container.managed.ManagedBeanInfo.postConstruct(ManagedBeanInfo.java:83)
        at ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo.postConstruct(ServiceInfo.java:154)
        at ru.bitel.bgbilling.kernel.container.service.server.ServiceFactory.create(ServiceFactory.java:45)
        at ru.bitel.bgbilling.kernel.container.managed.ServerContext.newService(ServerContext.java:228)
        at ru.red26.bgbilling.module.inet.servlet.ContractRegistration.CreateInetService(ContractRegistration.java:163)
        at ru.red26.bgbilling.module.inet.servlet.ContractRegistration.processRequest(ContractRegistration.java:323)
        at ru.red26.bgbilling.module.inet.servlet.ContractRegistration.doGet(ContractRegistration.java:385)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        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)


Сервлет внутри нашего сервера работает ? И можно ошибку полнее вывести? там скорее всего ниже еще что-то есть.

Автор:  dm777 [ 06 май 2014, 18:42 ]
Заголовок сообщения:  Re: Где находится ServiceFactory

Artur писал(а):
Вот немного измененный код одного сервлета платежного модуля

Код:
Setup setup = Setup.getSetupData();
ServerContext context = new ServerContext( setup, mid, -1 );
ru.bitel.common.worker.ThreadContext parentContext = ThreadContext.push( context );
try
{
      InetServService service = context.newService( InetServService.class, mid );
      ....
      context.commit();
}
catch( BGException e )
{
   log.error( e.getMessage(), e );
}
finally
{
        context.recycle();
   ThreadContext.pop( context, parentContext );
}


Так работает

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/