2009-07-17 1 views
1

У нас есть проект с довольно значительным количеством сессионных bean-фанов EJB 2 без состояния, которые были созданы довольно давно. Это не первые бобы, к которым обращаются от нашего клиента через RMI, скорее они используются этим кодом для выполнения определенных функций. Тем не менее, я пришел к выводу, что нет ничего, что можно было бы получить, если бы они были сессионными компонентами вообще.Действительно ли вам нужны сеансовые фанаты без состояния в этом случае?

  • Доступ к ним не требуется через RMI.
  • Не сохраняются никакие состояния, Это всего лишь код, который был учтен из первого набора бобов до уменьшить их сложность.
  • Они не имеют несколько различных реализаций, которые мы свапирование выхода, каждый из которых были, как это было в течение лет (за исключение исправлений ошибок и функция дополнения).
  • Ни один из них не изменяет сделку, которая входит в них из фасоли, называя их (то есть они не требуют новой сделки, а не участвовать в существующей, или иным образом изменять вещи).

Почему эти не все просто классы с несколькими статическими функциями и вообще без атрибутов EJB?

ответ

3

Единственная причина, по которой я вижу, - это кластеризация (если вы делаете кластеризацию). То есть, рука с этими бобами может быть на другой виртуальной машине на другой машине, если кластеризация выполняется правильно, чтобы распространять нагрузку.

Это, вероятно, не так, и движение к EJB было просто чрезмерным. Я тоже страдаю этим.

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

+0

ЕСЛИ вы переходите на POJO, вы всегда можете реализовать кластеризацию там с чем-то вроде Terracotta. – Jon

+0

Я согласен, что есть много вариантов, чтобы получить функциональность EJB без накладных расходов. Но я не думаю, что это был вопрос. – Yishai

1

Кажется, нет причин, по которым они не должны быть просто POJO, а не сессионными фанатами без состояния. Я думаю, что это вывод, что люди пришли после использования EJB 1.x таким же образом.

Это также причина, по которой каркасы, такие как Весна существуют в качестве альтернативы EJB.

Я бы сказал, чтобы изменить их, чтобы быть стандартными POJO, но убедитесь, что у вас есть защитная сетка от функциональных и функциональных тестов (что может быть немного сложнее с EJB), чтобы помочь вам.

Смежные вопросы