Вам действительно нужны сессионные компоненты без сохранения состояния в этом случае? - PullRequest
1 голос
/ 17 июля 2009

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

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

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

Ответы [ 2 ]

3 голосов
/ 17 июля 2009

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

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

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

1 голос
/ 17 июля 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...