Вызов аннотированного Remote EJB 3 без сохранения состояния в локальном контексте

Я хотел бы знать, дают ли спецификация EJB 3 или особенности поставщика Weblogic информацию о производительности/накладных расходах на вызов с поиском EJB без сохранения состояния, который находится в локальном контексте (на том же сервере и в том же ухе, что и класс, вызывающий EJB), но который помечен как Remote в своем объявлении. Я сделал много поисков в Интернете по этому вопросу, и я не нашел полного ответа.

Является ли обработка вызова такой же, как если бы EJB был объявлен локальным? Так что не дорого. Или обработка вызова является удаленным вызовом EJB? Значит, дороже.

Если у вас есть ссылки на этот вопрос, было бы здорово.


person davidxxx    schedule 15.07.2016    source источник
comment
WebLogic Server может обнаружить эту ситуацию и изменить свое поведение для повышения производительности.   -  person Emmanuel Collin    schedule 15.07.2016
comment
У вас есть ссылка на документацию Weblogic об этом?   -  person davidxxx    schedule 15.07.2016


Ответы (1)


Включение локальной оптимизации — это настройка, специфичная для Weblogic. Видеть:

Если для параметра enable-call-by-reference установлено значение True, методы EJB, вызываемые из того же файла EAR или автономного файла JAR, будут передавать аргументы по ссылке. Это повышает производительность вызова метода, поскольку параметры не копируются.

Включение вызова по ссылке не строго соответствует спецификации EJB, поскольку вы не можете больше не гарантируют, что параметры удаленного интерфейса на самом деле являются клонами исходных аргументов, но на самом деле могут быть исходными объектами, поэтому при необходимости будьте осторожны и делайте защитные копии.

person Trent Bartlem    schedule 15.07.2016
comment
Спасибо за этот точный ответ. - person davidxxx; 16.07.2016