| forum.bitel.ru http://forum.bitel.ru/  | 
|
| 6.2 вызов перегруженных сервисов http://forum.bitel.ru/viewtopic.php?f=19&t=12471  | 
	Страница 1 из 1 | 
| Автор: | fmaks [ 24 май 2017, 17:37 ] | 
| Заголовок сообщения: | 6.2 вызов перегруженных сервисов | 
Здравствуйте. Есть такой вопрос: Имеется dynservice, перегружающий стандартный ContractService, всё прописано в конфиге и давно прекрасно работает, недавно появилась необходимость вызвать этот сервис из дин.кода. Делаю: Код: ... private ContractService cs; ... ServerContext context = ServerContext.get(); cs = context.getService( ContractService.class , 0 ); ... Однако при вызове методов сервиса выясняется, что сервис стандартный, не перегруженный. Конечно, вот такой вариант решает проблему: Код: ... private ContractServiceImpl cs; ... ServerContext context = ServerContext.get(); cs = context.getService( ContractServiceImpl.class , 0 ); ... где ContractServiceImpl - уже моя реализация сервиса. ContractService - интерфейс, и не должен ли при вызове в первом куске кода context.getService( ContractService.class , 0 ) возвращаться перегруженный сервис? Может я просто не понимаю тонкости в java, но не будет ли вызван также не перегруженный сервис если в самом коде bg есть context.getService( ContractService.class , ... ) и не получатся ли при этом непредсказуемые результаты (в плане того, что стандартный сервис не реализует того, что требуется нам)? Вот какой-то такой вопрос.  | 
	|
| Автор: | dimOn [ 25 май 2017, 02:26 ] | 
| Заголовок сообщения: | Re: 6.2 вызов перегруженных сервисов | 
dynservice - это всего лишь костыль, который работает исключительно внутри /[web]executer и подменяет один класс другим при вызове через url. он не заменяет и никак не относится к оригинальному классу, и конечно не будет вызываться вместо изначального при прямом обращении из любых других мест  | 
	|
| Автор: | fmaks [ 25 май 2017, 17:36 ] | 
| Заголовок сообщения: | Re: 6.2 вызов перегруженных сервисов | 
Всё, спасибо! Исчерпывающий ответ Значит проблем не каких быть и не должно.  | 
	|
| Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] | 
| Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/  | 
|