Будет ли удаление EJB улучшить производительность проекта? - PullRequest
0 голосов
/ 05 марта 2012

Я работал в правительственном проекте, используя EJBs . Я обнаружил некоторые проблемы с сервером при развертывании EJB. Люди, работающие в моем проекте, думали об удалении EJB-компонентов между RequestHandler и DAO и о непосредственном вызове методов DAO из RequestHandler.

Мой аргумент в этом вопросе заключается в том, как мы можем даже думать об удалении EJB-компонентов из проекта, базовая структура которого имеет вид EJB !!!

Сообщите о правильном решении, необходимом для повышения производительности при развертывании, а также сообщите о другом способе повышения скорости и производительности.

Ответы [ 4 ]

1 голос
/ 05 марта 2012

Я работал над несколькими проектами, в которых удаление EJB значительно улучшило производительность.

Для меня использование EJB - это повышение производительности и качества решения, которое вы производите, а не беспокойство о производительности. Обычно производительность не является большой проблемой, но если это так, вы можете использовать аппаратное обеспечение и использовать облачное / распределенное решение, которое стоит дешевле, чем раньше. то есть это может быть дешевле, чем тратить больше времени на разработку.

1 голос
/ 05 марта 2012

Проверьте, выполняете ли вы удаленные вызовы EJB или локальные вызовы EJB.Выполнение удаленных вызовов в рамках проекта может привести к проблемам с производительностью (если вы логически работаете локально).

0 голосов
/ 19 ноября 2014

Зависит от того, о каких EJB вы говорите.

Сессионные бины : наличие или отсутствие их практически не повлияет на производительность.

Бины сущности : Бины сущности могут оказать существенноеспектакль.Я бы использовал их в ситуации, когда вы имеете дело со сложными транзакциями при создании, удалении или обновлении вызовов ( C R UD ).В ситуациях, когда я просто вызываю запрос (C R UD), который возвращает тысячи записей, я мог бы переключиться на чистый JDBC.

Многие контейнеры JPA / EJB в наши дни довольно умны, поэтому, возможно, они могут делегировать проблемы с производительностью на уровень базы данных.

Например: если я верну 10000 объектов клиентов, и у каждого клиента будет несколько адресов, я мог бы объединить объекты клиентов и адресов на уровне EJB.Это может быть так же быстро, как создание объединения на уровне базы данных и возвращение данных в виде представления, если контейнер EJB достаточно умен.

0 голосов
/ 05 марта 2012

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

в общем, мой совет - попытаться выяснитьпрежде чем вы начнете искать ответы, выясните, в чем заключается вопрос / проблема.

...