powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Флейм: что вам не нравится в EJB 3.x?
116 сообщений из 116, показаны все 5 страниц
Флейм: что вам не нравится в EJB 3.x?
    #37511382
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Некоторые java-программисты относятся к EJB несколько предвзято, предпочитая использовать заменяющие технологии (напр. Spring). Их можно понять, если говорить о EJB версий 1.х и 2.х, но ведь предвзятое отношение часто переносится и на версию 3.х, что приводит к вот таким (например) высказываниям - 11548196 .

Давайте в этой теме обсудим EJB 3.x и смежные технологии звена бизнес-логики - CDI и JPA.

Расскажите, что вам не нравится в EJB (CDI и JPA) и мы попытаемся разобраться, насколько претензии обоснованы.


Пара популярных мифов о EJB:

Миф 1. "EJB это сложно".

На самом деле, простейший EJB проще чем можно себе представить:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
@Stateless
 public   class  TestBean {
     public   void  method() {
        // при входе в этот метод менеджер транзакций начнёт транзакцию, а по выходу выполнит commit
        // либо rollback, если в методе произошло исключение.
    }
}
Добавив аннотацию @Stateless к обычному java-классу, мы превратили его в Stateless Session Bean, и сделали метод method() транзакционным. По необходимости класс может имплементить интерфейс (например, если метод нужно вызывать удалённо или для уменьшения зависимостей).

Миф 2. "Сервера приложений для Java EE очень жирные и тормозные".

На самом деле, посмотрим на этот обзор - http://agoncal.wordpress.com/2011/10/20/o-java-ee-6-application-servers-where-art-thou/
Жирная там только IBM Websphere (это же IBM, несолидно весить меньше 2-ух гиг). Все остальные (GlassFish, Resin, JBoss, TomEE, Geronimo, etc) небольшого размера и запускаются за секунды.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511439
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2Некоторые java-программисты относятся к EJB несколько предвзято, предпочитая использовать заменяющие технологии (напр. Spring). Их можно понять, если говорить о EJB версий 1.х и 2.х, но ведь предвзятое отношение часто переносится и на версию 3.х, что приводит к вот таким (например) высказываниям - 11548196 .
Можно перечитать
Expert One-on-One J2EE Development without EJB
многое осталось актуальным и в EJB 3

eros2 Миф 1. "EJB это сложно".

Вспоминая последние темы на форуме
Session Beans ведут себя не тривиально в случае многопоточности. Stateful тупо сериализуют запросы. Stateless выдают инстансы из пула. Как с таким поведением воспользоватся всеми прелестями java.util.concurrent ?
Как связать EJB и HTTP?

eros2На самом деле, простейший EJB проще чем можно себе представить:

На самом деле упрощен только синтаксис.

eros2 Миф 2. "Сервера приложений для Java EE очень жирные и тормозные".

Разве не так? JBoss 4 или WebSphere CE сами по себе без дополнительных приложений стартуют пол минуты. За это же время разворачивается проект на Spring+Tomcat+MINA.

eros2На самом деле, посмотрим на этот обзор - http://agoncal.wordpress.com/2011/10/20/o-java-ee-6-application-servers-where-art-thou/
Жирная там только IBM Websphere (это же IBM, несолидно весить меньше 2-ух гиг). Все остальные (GlassFish, Resin, JBoss, TomEE, Geronimo, etc) небольшого размера и запускаются за секунды.
о! Свежие данные. Показывают очевидное превосходство томката над остальными бесплатными контейнерами.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511448
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczSession Beans ведут себя не тривиально в случае многопоточности. Stateful тупо сериализуют запросы. Stateless выдают инстансы из пула.
Как раз ведут себя предсказуемо, программисту вообще не нужно волноваться о конкурентности.

BlazkowiczКак с таким поведением воспользоватся всеми прелестями java.util.concurrent ?
Используйте @Singleton с @ConcurrencyManagement(ConcurrencyManagementType.BEAN) - и пользуйтесь прелестями java.util.concurrent.

BlazkowiczКак связать EJB и HTTP?
Можно подробнее, что имеется в виду?

Ну и простейший пример - http://www.adam-bien.com/roller/abien/entry/ejb_3_1_killed_the

BlazkowiczНа самом деле упрощен только синтаксис.
+ интуитивно-понятное поведение (дефолтовое вообще без конфигурирования).

BlazkowiczРазве не так? JBoss 4 или WebSphere CE сами по себе без дополнительных приложений стартуют пол минуты. За это же время разворачивается проект на Spring+Tomcat+MINA.
Не будем вспоминать древности.

Blazkowiczо! Свежие данные. Показывают очевидное превосходство томката над остальными бесплатными контейнерами.
Да, только в проект на томкате ещё нужно добавить несколько метров хибернейта, несколько метров спринга, и т.д.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511696
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczSession Beans ведут себя не тривиально в случае многопоточности. Stateful тупо сериализуют запросы. Stateless выдают инстансы из пула. Как с таким поведением воспользоватся всеми прелестями java.util.concurrent ?

- доступные инструменты для реализации контролируемой многопоточности: Singleton + ConcurrencyManagement, Asynchronous, ну и конечно древние MDB-компоненты

BlazkowiczКак связать EJB и HTTP?
- а в чем тут проблема? сервлеты + аннотация EJB. Можно использовать EJB Lite, если все "прелести" EJB не нужны. Для web-сервисов аннотация WebService

BlazkowiczНа самом деле упрощен только синтаксис.

- синтаксис упрощен радикально - он стал действительно простой


BlazkowiczJBoss 4 или WebSphere CE сами по себе без дополнительных приложений стартуют пол минуты. За это же время разворачивается проект на Spring+Tomcat+MINA.

Apache TomEE , скорость работы во встроенном режиме - операции start/deploy/test/undeploy/stop занимают по 2-3 секунды

BlazkowiczСвежие данные. Показывают очевидное превосходство томката над остальными бесплатными контейнерами.
- ирония не понятна, так как не секрет что большинство JavaEE серверов приложений используют Embeded Tomcat в качестве контейнера сервлетов + MOM + пулы тредов и объектов. Собственно скорость запуска определяется в основном настройками базового ПО. Наивно требовать от БелАЗа скорости Феррари и от Феррари грузоподъемности БелАЗа, это я к тому, что "скорость" понятие относительное.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511745
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov- доступные инструменты для реализации контролируемой многопоточности: Singleton + ConcurrencyManagement, Asynchronous, ну и конечно древние MDB-компоненты

Это видимость контроля. Как и прежде всегда есть какие-то corner cases, не описаные в спецификаии и не понятно как реализуемые.

Kachalov- а в чем тут проблема?
В сессии.

Kachalov Apache TomEE , скорость работы во встроенном режиме - операции start/deploy/test/undeploy/stop занимают по 2-3 секунды
Деплой не может занимать 2х секунд, потому что контейнеру приходится сканировать все доступные классы на предмет аннотаций.
Разве что на SSD всё размещать.


KachalovНаивно требовать от БелАЗа скорости Феррари и от Феррари грузоподъемности БелАЗа, это я к тому, что "скорость" понятие относительное.
При чем здесь относительность? Приложения идентичные. Деплоймент и запуск во всех JEE контейнерах, которые довелось испробовать, дольше (и порой на много) чем запуск приложения в Spring контейнере на томкате. В том-то и прелесть, что JEE контейнеры приходится ещё долго и нудно конфигурировать для получения желаемого времени стартапа.
TomEE попробуем. Спасибо.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511774
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не нравиться в EJB отсутствие пассивного разрешения зависимостей в DI. Какой там финансовый и гос. сектор, открываем абсолютно любой учебник для школоты по басику и там будет написано, что конфигурацию нужно выносить из кода.

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

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

Не нравится несовместимость конфигов для разных серверов.

Не нравятся многочисленные лисопеды типа пула stateless объектов, для спрингера это полный идиотизм держать в памяти много полностью идентичных объектов, пул которых еще и может стать бутылочным горлышком, маразм да и только.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511787
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2Давайте в этой теме обсудим EJB 3.x и смежные технологии звена бизнес-логики - CDI и JPA.

Вы это на полном серьёзе заявили, или Вам на выходных заняться нечем? JPA скопипижжен с hibernate, и постоянно отстаёт от hibernate, так как физически невозможно украсть идею быстрее чем она опубликованна, а CDI до DI от Spring как до парижу раком.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511796
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba а CDI до DI от Spring как до парижу раком.
Я да же более того скажу, Dependency Injection от спринг не имеет аналогов, в мире такой фабрики объектов, еще не существовало, со Spring можно занжектить что угодно, куда угодно, натовцы были полные идиоты воюя с каддафи, достаточно было обратиться в спринговский саппорт, и там бы заинжектели каддафи ампулу ционистого калия, и всё.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511841
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vimbaНе нравиться в EJB отсутствие пассивного разрешения зависимостей в DI. Какой там финансовый и гос. сектор, открываем абсолютно любой учебник для школоты по басику и там будет написано, что конфигурацию нужно выносить из кода.
Можно вынести в beans.xml. Там можно указать alternatives и stereotypes.

vimbaНе нравиться Local и Remote интерфейсы, я чо попугай что-ли повторять одно и то-же по два раза, есть сервис он может делать что-то полезное, а могу я до него рукой достать или мне нужно сделать пару шагов, меня как разработчика это интересовать не должно, это опять же дело конфигурации, которая должна быть вынесенна из кода.
Ну да, конфигурируется всё.

vimbaНе нравяться тормоза. Тут конечно Вы придеретесь, как это так, ведь EJB всего лишь спека, а документ тормозить не может, но абсолютно все реализации EJB конкретным производителем которые я видел, без единого шанса сливали спрингу.
Нет, не придерусь. Но интересно узнать что тормозило.

vimbaНе нравится несовместимость конфигов для разных серверов.
Разное там конечно есть, но не так уж много. Навскидку login configuration и описание datasource. Дальше что?... persistence.xml, application.xml и beans.xml от сервера не зависят.

vimbaНе нравятся многочисленные лисопеды типа пула stateless объектов, для спрингера это полный идиотизм держать в памяти много полностью идентичных объектов, пул которых еще и может стать бутылочным горлышком, маразм да и только.
Как раз за счёт пула мы получаем скорость, не нужно при каждом вызове создавать объекты, это же маразм - создавать stateless объекты при каждом вызове, правда?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511846
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vimbaВы это на полном серьёзе заявили, или Вам на выходных заняться нечем?
Да.))

vimbaJPA скопипижжен с hibernate, и постоянно отстаёт от hibernate, так как физически невозможно украсть идею быстрее чем она опубликованна
Значит JPA так же хорош как hibernate! (раз скопипижжен.) Более того, неудачные моменты убираются в процессе стандартизации!
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511847
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2Как раз за счёт пула мы получаем скорость, не нужно при каждом вызове создавать объекты, это же маразм - создавать stateless объекты при каждом вызове, правда?
Маразм это гарантировать stateless при помощи пула. Нужен stateless объект - не пиши там полей. Куда проще?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511853
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2Значит JPA так же хорош как hibernate! (раз скопипижжен.) Более того, неудачные моменты убираются в процессе стандартизации!
Логику включи. JPA урезан потому что ему нужны разные вендоры и уходит куча времени на стандартизацию. А не потому что там "неудачные моменты убираются", а потом в следующих версиях удивительным образом добавляются обратно. Criteria API, видать, вообще не удачная фича целиком и полностью, раз в JPA сразу не включили.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511858
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спринг хорош тем, что он как "стандарт". стандарт - это то, что очень мало меняется. да?

а ejb что? сколько этих спецификаций было? сто тыщ.
разве можно такое назвать стандартом?

щас прочитаю всё, что вы тут понаписали :)
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511867
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2BlazkowiczКак связать EJB и HTTP?
Можно подробнее, что имеется в виду?
Ну и простейший пример - http://www.adam-bien.com/roller/abien/entry/ejb_3_1_killed_the

Пример показывает однонаправленность мозгов Адама. Т.е. помимо JSF другого Web на Java не существует.
Интересно почитать про EJB в качестве бэкенда к GWT и Flex. Был уже у кого опыт?
Spring 3, например, REST JSON и Hessian Remoting из коробки поддерживает.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511871
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczCriteria API, видать, вообще не удачная фича целиком и полностью, раз в JPA сразу не включили.
Видимо, им не нравилось, как она в hibernate реализована.
Не скажу, что в JPA критерии выглядят хорошо. Скажу даже, что они выглядят ужасно.))
Но это оттого, что они хотели чтоб с помощью метамодели можно было проверять корректность запросов на этапе компиляции. И это работает.
Я сам очень хорошо отношусь к hibernate, и при необходимости использую фичи хибернейта из JPA, благо
Код: plaintext
Session sess = em.unwrap( Session. class  );
сделать не сложно.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511873
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже одержимость EJB, кроме как святой водой и молитвами ничем не лечиться, самое интересное что Вы похоже искренне за него агитируете, а не получаете проценты с откатов от IBM и ORACLE.
авторМожно вынести в beans.xml. Там можно указать alternatives и stereotypes.

Есть у меня интерфейс сервиса для справочников допустим: записать, создать, удалить, найти по критерию. Он универсальный интерфейс и у него возможно и реализация одна, но в рабочем приложении нужно 20-30 экзепляров, короче по числу справочников, каждая реализация сконфигурированна конкретным ДАО которое умеет работать с конкретной сущностью. Как я с помощью альтернатив опишу тридцать реализаций одного и того же интерфейса? Допустим сервис для клиентов представляется как стандартный справочник и мне нужно заинжектить в него в сервис для накладных:
Код: plaintext
1.
2.
3.
4.
5.
6.
InvoiceService {
    
// Каким х, я  смогу в EJB воткнуть сюда конкретную реализацию если у меня в приложении  30  реализаций интерфейсов ReferenceService, здесь DI на аннотациях явно просасывает
   private ReferenceService clientService;

}
eros2Ну да, конфигурируется всё.

И что по вашему это фича EJB? В spring я не должен копипастить, а в EJB доолжен и это плюс EJB???
eros2Как раз за счёт пула мы получаем скорость, не нужно при каждом вызове создавать объекты, это же маразм - создавать stateless объекты при каждом вызове, правда?

Я под столом. Насколько же нужно быть упоротым на EJB, чтобы в упор не замечать что этот пул вообще не нужен, что он является издержками джамшутовского дизайна, ведь достаточно только одного объекта на каждом экземпляре в кластере.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511875
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczИнтересно почитать про EJB в качестве бэкенда к GWT и Flex. Был уже у кого опыт?
Тут сказать ничего не могу, не знаком с GWT и Flex.
BlazkowiczSpring 3, например, REST JSON и Hessian Remoting из коробки поддерживает.
Hessian-а, конечно нет. Но REST JSON разве EE6 не поддерживает?

Например такой класс автоматом выдаст хеш-таблицу в виде JSON:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
@Path("testrest")
 public   class  ...
{
    @GET
     public  Map<String, String> getTest() {
        Map<String, String> qq =  new  HashMap<String, String>();
        qq.put( "key", "value" );
        .......
         return  qq;
    }
}
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511879
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал про metamodel. Ужаснулся. Т.е. теперь каждый изобретает свои свойства только потому что в Java нет нормального способа получить ссылку на оное. В JavaFX новые методы, в JPA - metamodel.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511898
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczИнтересно почитать про EJB в качестве бэкенда к GWT и Flex.
у меня.
у меня вообще оч. большой опыт на всём этом.
и поэтому я могу сказать, что
JSF - плохо
GWT - плохо
Flex - очень хорошо

/ну, и чтобы всё ок было: Click - очень хорошо/
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511901
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczSpring 3, например, Hessian Remoting из коробки поддерживает
это слегка странно приводить в пример, потому что:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 public   class  GabbaGabba  extends  HessianServlet /* или HessianEndpoint - не помню :) */  implements  ... {
  @EJB
   private  GabbaGabbaService gabbaGabbaService;

   public   int  hessianAdd( int  a1,  int  a2) {
     return  gabbaGabbaService.add(a1, a2);
  }
}

и тоже из коробки получается )
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511907
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vimbaЕсть у меня интерфейс сервиса для справочников допустим: записать, создать, удалить, найти по критерию. Он универсальный интерфейс и у него возможно и реализация одна, но в рабочем приложении нужно 20-30 экзепляров, короче по числу справочников, каждая реализация сконфигурированна конкретным ДАО которое умеет работать с конкретной сущностью. Как я с помощью альтернатив опишу тридцать реализаций одного и того же интерфейса? Допустим сервис для клиентов представляется как стандартный справочник и мне нужно заинжектить в него в сервис для накладных:
Код: plaintext
1.
2.
3.
4.
5.
6.
InvoiceService {
    
// Каким х, я  смогу в EJB воткнуть сюда конкретную реализацию если у меня в приложении  30  реализаций интерфейсов ReferenceService, здесь DI на аннотациях явно просасывает
   private ReferenceService clientService;

}

Хороший вопрос. Пока ответить не могу, постараюсь разобраться и скажу, можно ли так сделать с помощью CDI.

vimbaЯ под столом. Насколько же нужно быть упоротым на EJB, чтобы в упор не замечать что этот пул вообще не нужен, что он является издержками джамшутовского дизайна, ведь достаточно только одного объекта на каждом экземпляре в кластере.
На одном экземпляре мы не получим возможность использования instance variables, т.к. они могут быть модифицированы разниыми тредами, а стандарт гарантирует, что никто не тронет ваши instance variables пока идёт выполнение бизнес-метода.
Тут вы можете сказать, что просто не нужно использовать instance variables, нужно обойтись локальными и всё будет хорошо. Однако, представьте, что ваш бизнес-метод вызывает ещё много приватных методов - и если нужно передавать между ними много параметров, то проще использовать именно instance variables, чтобы не описывать кучу аргументов для каждого приватного метода. Так что без пула никак. А один объект на каждом экземпляре в кластере - это уже синглтон получается.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511918
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2Однако, представьте, что ваш бизнес-метод вызывает ещё много приватных методов - и если нужно передавать между ними много параметров, то проще использовать именно instance variables, чтобы не описывать кучу аргументов для каждого приватного метода.
Множества параметров чудестно группируются в объекты. А вот то что вы описываете, приводит к кошмару при рефакторинге. Все методы на прямую зависят от полей. И любой перенос методов выливается в их переписываение и расцепление зависимостей с полями классов. Локализация использования полей, как раз, позволяет лучше достичь low coupling. Методы проще перемещать между классами. Зависимости между классами и методами меньше. Всеобщее счастье и гармония.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511932
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2Расскажите, что вам не нравится в EJB (CDI и JPA) и мы попытаемся разобраться, насколько претензии обоснованы.

На самом деле вопрос стоит не совсем верно. Очевидно что EJB становится всё лучше и вкуснее. Но на данном этапе актуальным вопросом становится
"а что мне такого может дать EJB, если всё что мне нужно я имею в Spring/Hibernate и не жалуюсь". Spring уже давно доказал своё превосходство и отвоевал свою нишу. Поэтому вопрос о том чем EJB хуже - не актуален. Даже если он не хуже (а corner cases в проприетарном API никто не отменял), то он и ни чем не лучше.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511945
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczНа самом деле вопрос стоит не совсем верно. Очевидно что EJB становится всё лучше и вкуснее. Но на данном этапе актуальным вопросом становится "а что мне такого может дать EJB, если всё что мне нужно я имею в Spring/Hibernate и не жалуюсь". Spring уже давно доказал своё превосходство и отвоевал свою нишу. Поэтому вопрос о том чем EJB хуже - не актуален. Даже если он не хуже (а corner cases в проприетарном API никто не отменял), то он и ни чем не лучше.
ну вот, практически закрыли тему. (((
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511953
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2ну вот, практически закрыли тему. (((
Однобокий разговор выходит. Очередь экспертов EJB обосновать чем же Spring может быть хуже.

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

Или, вот, проблемы с classloading в Geronimo. Запихали они туда свой собственный кривой Axis 2 с методами SAAJ, которые тупо кидают UnsupportedException , и теперь у меня JAX-RPC целиком и поностью пошел под откос.

В Spring-based приложении, кластеризация ведёт себя так как я её реализую. И библиотеки там только те, которые моему приложениую нужны.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511972
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2 Ты могучий воин, респект тебе и уважуха, я бы наверно не смог, так как ты программить на legacy технологии и рискнуть при этом схлеснуться с прогрессивным сообществом, уже очевидно что ты искренне веришь в EJB и не запятнан связанными с ним откатами и распилами, но пора открыть глаза и увидеть новый мир, в котором EJB отводиться роль всего лишь еще одной технологии с которой Spring играючи интегрируется. Spring сегодня стандарт де факто, а EJB всего лишь маленький ослик, который забыл дорогу домой()
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511990
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2На одном экземпляре мы не получим возможность использования instance variables, т.к. они могут быть модифицированы разниыми тредами, а стандарт гарантирует, что никто не тронет ваши instance variables пока идёт выполнение бизнес-метода.
Тут вы можете сказать, что просто не нужно использовать instance variables, нужно обойтись локальными и всё будет хорошо. Однако, представьте, что ваш бизнес-метод вызывает ещё много приватных методов - и если нужно передавать между ними много параметров, то проще использовать именно instance variables, чтобы не описывать кучу аргументов для каждого приватного метода. Так что без пула никак. А один объект на каждом экземпляре в кластере - это уже синглтон получается.
Я просто применю паттерн method object и всё, при том что необходимость method object даже при унылом anemic возникает навскидку только в 60-80% случаев, а при том условии что как првило у меня Rich Domain Model и необходимость method object всегда равна нулю, то пул stateless объектов для меня ненужная ноша.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37511993
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot vimbaпри том что необходимость method object даже при унылом anemic возникает навскидку только в 60-80%[/quot]
Описался, хотел сказать что даже при anemic method object или поля класса не нужны 60-80% случаев
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512006
sys_daemon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2Некоторые java-программисты относятся к EJB несколько предвзято, предпочитая использовать заменяющие технологии (напр. Spring). Их можно понять, если говорить о EJB версий 1.х и 2.х, но ведь предвзятое отношение часто переносится и на версию 3.х,

В российском фольклоре есть поговорка <береги честь с молоду>. Джуниоры ничего не решают, а мидлы, синьоры и архитекторы уже столкнулись, хоть раз но столкнулись с ежами и врят ли им это доставило удовольствие. Вы вот взяли бы в жены сиповку которая сдела минет всему району и занялась анальным сексом более чем с половиной? Врят ли, поэтому у ORACLE только один шанс вернуться в интерпрайс не связанный с откатами, шанс этот полностью откреститься от EJB и придумать что-то новое(скорее всего это будет копипаста на Spring).
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512012
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прикольные в ростове раёны..
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512027
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не, Вы не так поняли, таких девушек у нас нет. Просто общественность враждебно настроены по поводу EJB, пусть ORACLE хоть в попу теперь целует, но врят-ли человек познавший Spring перейдёт на ежи, а сарафанное радио препятствует входу в EJB3 независимым начинающим разработчикам, Oracle сейчас нужен какой-то нестандартный ход, настолько нестандартный, что никто даже не может предполагать какой, чтобы вернуть доверие: EJB, JSF, JPA, JSP слишком много зафейлившихся стандартов, которые Spring, Hibernate, ZK, GWT рвут как тузик грелку. В то же время всё это барахло Oracle может со спокойной душой списать на SUN, и предложить свои стандарты.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512047
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaДа не, Вы не так поняли, таких девушек у нас нет.а, ну ок
а то на днях туда лететь надо
хорошо, что девушки у вас не такие
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512050
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас на 9-е чило намечено собрание ростовского JUG, если попадаешь по числам, то пиши в личку, будешь гостем, накормим напоим и спать уложим.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512060
sys_daemon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netхорошо, что девушки у вас не такие
Если попадаешь на озвученное выше мероприятие, то можем тебе найти как таких, так и не таких, южане народ гостеприимный.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512069
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vimba// Каким х, я смогу в EJB воткнуть сюда конкретную реализацию если у меня в приложении 30 реализаций интерфейсов ReferenceService, здесь DI на аннотациях явно просасывает

Можно сделать так:

Описываем аннотации Imp1 и Imp2:
Код: plaintext
1.
2.
3.
4.
5.
@Qualifier
@Retention(RUNTIME)
@Target({METHOD, FIELD, PARAMETER, TYPE})
 public  @ interface  Imp1 {
}
Код: plaintext
1.
2.
3.
4.
5.
@Qualifier
@Retention(RUNTIME)
@Target({METHOD, FIELD, PARAMETER, TYPE})
 public  @ interface  Imp2 {
}

Делаем две реализации, и одну аннтатим Imp1, другую Imp2:
Код: plaintext
1.
2.
3.
4.
5.
6.
@Imp1
 public   class  ImplementationOne  implements  SomeInterface {
    @Override
     public   void  someMethod() {
    }
}

Код: plaintext
1.
2.
3.
4.
5.
6.
@Imp2
 public   class  ImplementationTwo  implements  SomeInterface {
    @Override
     public   void  someMethod() {
    }
}

И теперь в нужном месте выбираем нужную реализацию. Т.е. никакого XML-я.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 public   class  ...
{
    @Inject @Imp1
     private  SomeInterface si1; // тут будет ImplementationOne

    @Inject @Imp2
     private  SomeInterface si2; // тут будет ImplementationTwo

     public   void  zzz() {
        si1.someMethod();
        si2.someMethod();
    }
}
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512092
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Без обид, eros2 дело не в тебе, я искренне желаю тебе успехов, но дело в том что предложить писать спрингеру код который нужен только для DI, и не связан с бизнес логикой, это всё равно что наблевать ему на ботинки. Тем более что ты раскрыл задачу только двух справочников, а я говорил о 15-20, но естественно не нужно писать двадцать аннотаций, ты здесь никому ничего этим не докажешь, о EJB сейчас говорят уже больше в прошедшем времени, так что не нужно отвечать на мой вопрос полностью.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512104
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sys_daemonюжане народ гостеприимныйэто я в курсе ) еле с краснодара недавно отпустили :))
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512107
jsecoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vimba ты какие-то слабые задачи задаешь, как буд-то собеседование принимаешь. Что это вообще за задача внедрить один из экземпляров интерфейса, так семечки для рядового спрингера. Вот когда нужно будет в PaymentService внедрить реализацию ReferenceService и при этом скажем нужно в приложении два PaymentService для юр и физ лиц или VIP и обычных клиентов вот тогда начнеться веселуха от которой у преверженцев DI на аннотациях крыша съедет.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512113
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
(глядя на поле "откуда") В Ростове-на-Дону обнаружено гнездо спрингеров!
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512179
dominator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2,

Вы не указали очень важную характеристику - удобство модульного тестирования и интеграционного тестирования. Так вот тесты для EJB это сплошной геморрой, причем все равно для этого приходится использовать Spring. Для нас это стало решающим фактором при переходе с EJB3 на Spring. Вообще Spring дает проекту динамику и гибкость так как ЛЮБОЙ компонент можно расширить или заменить. Можно сколько угодно хвалить EJB, но я лично попробовал и то и другое и после перехода на Spring использование EJB стало просто leagacy кодом.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512191
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2(глядя на поле "откуда") В Ростове-на-Дону обнаружено гнездо спрингеров! да ужас просто )
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512283
ArmenA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы на EJB3 написали очень большой проект, где сотни entity classes , очень много facades, и там есть все что угодно. Во первыx EJB3/EJB3.1 Java EE стандарт, во вторыx если у Вас application server JBoss /Glassfish то не имеет смысла использовать Spring.
Тест классы для EJB3 очень удобно и легко писать, но ведь это не главное?
Spring удобно если у Вас tomcat, но всеровного в спринге нет ничего что более ясно и легко не предложил EJB3/EJB3.1. В спринге ты всегда помнишь что это спринг а в EJB3 после первого запуска, у тебя только одна задача - писать код на java. И потом большие преложения не желательно сопровождать со спрингом.
Если у Вас есть выбор, всегда выбирайте Java 6 EE(EJB3, JSF 2.0, REST)+JBoss/Glassfish. А EJB3.1 - это чудо, нет альтернативы.:)
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512295
jsecoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArmenAМы на EJB3 написали очень большой проект, где сотни entity classes , очень много facades, и там есть все что угодно. Во первыx EJB3/EJB3.1 Java EE стандарт, во вторыx если у Вас application server JBoss /Glassfish то не имеет смысла использовать Spring.
Тест классы для EJB3 очень удобно и легко писать, но ведь это не главное?
Spring удобно если у Вас tomcat, но всеровного в спринге нет ничего что более ясно и легко не предложил EJB3/EJB3.1. В спринге ты всегда помнишь что это спринг а в EJB3 после первого запуска, у тебя только одна задача - писать код на java. И потом большие преложения не желательно сопровождать со спрингом.
Если у Вас есть выбор, всегда выбирайте Java 6 EE(EJB3, JSF 2.0, REST)+JBoss/Glassfish. А EJB3.1 - это чудо, нет альтернативы.:)

Скажи честно ты это откуда-то скопировал и прогнал через google-translate? Да значит, да, никаких вопросов к тебе, если же это твоё мнения, то придется тебя допросить с пристрастием по всем пунктам.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512534
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaБез обид, eros2 дело не в тебе, я искренне желаю тебе успехов, но дело в том что предложить писать спрингеру код который нужен только для DI, и не связан с бизнес логикой, это всё равно что наблевать ему на ботинки. Тем более что ты раскрыл задачу только двух справочников, а я говорил о 15-20, но естественно не нужно писать двадцать аннотаций, ты здесь никому ничего этим не докажешь, о EJB сейчас говорят уже больше в прошедшем времени, так что не нужно отвечать на мой вопрос полностью. а покаж-ка своё решение для двух справочников
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512578
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArmenAВо первыx EJB3/EJB3.1 Java EE стандарт
Единственный аргумент приверженцев JEE во всех темах. Ну, стандарт. И ЧТО? Как мне, как архитектору, это помогает? А как кодеру? Да, вообще никак. Даже маркетологам это будет не интересно.

ArmenAво вторыx если у Вас application server JBoss /Glassfish то не имеет смысла использовать Spring.
Железный аргумент. Если у вас уже есть горшок с кактусом, то нет смысла заводить другие цветы.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512582
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KachalovВ EJB/JPA сообществе программисты явно поприличней, видимо из-за того что меньше шансов для профессональной реализации быдлокодеров.
http://lib.ru/SOCFANT/CHAPEK/gazeta.txt
№1

По теме есть ли у кого что сказать?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512597
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArmenAВо первыx EJB3/EJB3.1 Java EE стандартя вот тут про стандарт написал.
я спринг больше принимаю за стандарт по таким критериям.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512608
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netа покаж-ка своё решение для двух справочников
А что показывать-то приватное поле и set Метод? Ты прекрасно можешь написать это сам за 20-30 секунд.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512612
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мм?
Код: plaintext
1.
2.
3.
4.
 private  RefService refService;
 public   void  setRefService(RefService value) {
  refService = value;
}

реально два справочника, да? круто.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512617
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbagrasoff.netа покаж-ка своё решение для двух справочников
А что показывать-то приватное поле и set Метод? Ты прекрасно можешь написать это сам за 20-30 секунд. дело в том, что eros2 написал няшное решение, которое из моих коллег (~200 человек) может предложить пара человек.
и, обрати внимание, в его решении даже сеттеров нет.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512694
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netреально два справочника, да? круто.
Ну я же говорил, что Spring круто, вообще никакой зависимости на фреймворк, меньше кода. По поводу цифры 2, я вообще то писал что сервису для приема оплат нужен справочник клиентов, но если ты так уцепился за цифру два давай дофантазируем задачу и предположим, что понадобился еще справочник типов оплат, тогда выйдем на цифру 2

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class PaymentServiceImpl implements PaymentService {
    private RefService clientService;
    private RefService paymentTypeService;

    public void setClientService(RefService clientService) {
       this.clientService = clientService;
    }
 
    public void setPaymentTypeService(RefService paymentTypeService) {
        this.paymentTypeService = paymentTypeService;
   }
}

grasoff.netдело в том, что eros2 написал няшное решение, которое из моих коллег (~200 человек) может предложить пара человек.
и, обрати внимание, в его решении даже сеттеров нет.
Не нужно пожалуста жаловаться на то, что у тебя 198 безграмотных коллег, подобные инъекшены на spring делает сопливый джуниор который работает без году неделя. По поводу сетеров, я могу их спойно убрать так как spring может инжектить приватные поля и без сеттеров, но тогда получиться завязка на spring-framework из-за аннотации которая в этом фреймворке описана, так как по скорости написания сеттер пишется быстрее, по крайней мере в клипсе, поэтому я на фреймворк обычно не завязываюсь, но если б решил завязаться то получилось бы следующие:
Код: plaintext
1.
2.
3.
4.
5.
6.
class PaymentServiceImpl implements PaymentService {
    @Autowired
    private RefService clientService;
    @Autowired
    private RefService paymentTypeService;
}
Итого получили, что код на spring короче так, как нет самописных аннотаций которые только как для DI, он еще и гибче так как до самого последнего момента не известно ни реализации каких классов будут подставлены, ни как экземплярыы этих классов будут сконфигурированны. Вообще в ежах очень многое пишется исключительно для DI, если ORACLE сможет предложить стандарты на пассивное DI, то в индии поднимется национальное восстание, так как абдурахманы начнут получать меньше денег из-за того, что пишут меньше кода.

И в догонку задачка на размышление, если элементарную может решить двое из двухсот, то я думаю эту не сможет решить никто из ежебэшников:
Классы все те же самые, интерфейс реализация ClientService implements RefService написанна сторонней фирмой распространяется только в бинарниках и не подлежит модификации, никаких эжб аннотаций на ней не стоит. В приложении нужно два экземпляра ClientService по разному сконфигурированных и два экземпляра PaymentServiceImpl, то есть имплиментация одна
PaymentServiceImpl, но количество инстансов 2, и каждому инстансу нужен свой инстанс ClientService, и на всё это накладывается ограничение, что Вы устроились в Европейскую компанию в которой количество исходного кода никак не оплачивается, а платят за результат. Вот пример решения на спринге который никак не затронет исходники, уже готовые компоненты просто по разному конфишурируются:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<bean id="paymentService" class="com.mycompany.PaymentServiceImpl">
    <property name="clientService" ref="clientService">
</bean>

<bean id="paymentServiceForVIPClients" class="com.mycompany.PaymentServiceImpl">
    <property name="clientService" ref="clientServiceForVIP">
</bean>

<bean id="clientService" class="com.crazyoutsorser.ClientService">
    <property name="..." />
    <!-- В общем настраиваем инстанс стороннего производителя как нам нужно -->
</bean>

<bean id="paymentServiceForVIPClients" class="com.crazyoutsorser.ClientService">
    <property name="..." />
    <!-- В общем настраиваем инстанс стороннего производителя как нужно для VIP клиентов -->
</bean>
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512714
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильно ведь я понял, что для 20 справочников xml увеличится на 18 * (3 + 1 + 1) = 90 строк?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512717
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 class  PaymentServiceImpl  implements  PaymentService {
     private  RefService clientService;
     private  RefService paymentTypeService;

     public   void  setClientService(RefService clientService) {
        this .clientService = clientService;
    }
 
     public   void  setPaymentTypeService(RefService paymentTypeService) {
         this .paymentTypeService = paymentTypeService;
   }
}


есть две реализации этих справочников. спринг каким образом узнает, что экземпляр GegelClientService надо в clientService, а экземпляр SunPaymentTypeService в paymentTypeService?
подскажи, плииииз.
Код: plaintext
1.
2.
3.
4.
5.
 class  GegelClientService  implements  RefService {
}

 class  SunPaymentTypeService  implements  RefService {
}
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512718
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba тогда получиться завязка на spring-framework из-за аннотацииа что в этом плохого?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512723
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netа что в этом плохого?
Вы задаете очень правильный вопрос. Но более того, vimba тут лукавит немного. На самом деле и в Spring и в EJB связанность кода с фреймворком примерно одинакова.
Главный момент, почему спринговцы (к коим отношусь и я) считают, что у них "код не завязан на Spring" (к этим я уже не отношусь ) - потому что Spring не виден в коде. Это да, есть такое. Но вот незадача - если мы уберем Spring, то код не будет работать - ничего же не свяжется. А заменить его не на что. Получается, что на самом деле, что EJB жестко влезает в проект, но и Spring ничем не лучше. И как следствие, проект написанный под Spring навсегда намертво привязывается к спрингу, хоть вы это и не видите явно в коде.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512724
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom,

экий ты.. взял вот и рассказал всё :( но, возможно, вимба и не увидит твой ответ )
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512732
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильно ведь я понял, что для 20 справочников xml увеличится на 18 * (3 + 1 + 1) = 90 строк?

Не совсем понимаю твою арифметику тут вроде как 3 строки:
Код: plaintext
1.
2.
3.
<bean id="paymentServiceForVIPClients" class="com.mycompany.PaymentServiceImpl">
    <property name="clientService" ref="clientServiceForVIP">
</bean>
Но так же есть сокращенная запись, на тот случай если ты решил до числа строчек докопаться
Код: plaintext
1.
<bean id="paymentServiceForVIPClients" class="com.mycompany.PaymentServiceImpl" p:clientService-ref="clientServiceForVIP">

svenomВы задаете очень правильный вопрос. Но более того, vimba тут лукавит немного. На самом деле и в Spring и в EJB связанность кода с фреймворком примерно одинакова.
Лол што? Я плакаю ;-) Покажи зависимость от spring в моем коде, не в том где аннотация @Autowired, а там где чистый POJO, ударь так скажем не в бровь а глаз и продемонстрируй где такой способ написания кода помешает мне использовать его в google-quice?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512734
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba,

я ни до чего не докапываюсь, не парься.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512736
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaтам где чистый POJO, ударь так скажем не в бровь а глаз и продемонстрируй где такой способ написания кода помешает мне использовать его в google-quice?
этот микропример запросто (без аннотаций и прочего) будет работать и в ejb-контейнере
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512738
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaтакой способ написания кода помешает мне использовать его в google-quice?наверное, когда понадобится что-то, чего нет в google-guice?

ps guice, а не quice
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512742
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netvimba
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 class  PaymentServiceImpl  implements  PaymentService {
     private  RefService clientService;
     private  RefService paymentTypeService;

     public   void  setClientService(RefService clientService) {
        this .clientService = clientService;
    }
 
     public   void  setPaymentTypeService(RefService paymentTypeService) {
         this .paymentTypeService = paymentTypeService;
   }
}


есть две реализации этих справочников. спринг каким образом узнает, что экземпляр GegelClientService надо в clientService, а экземпляр SunPaymentTypeService в paymentTypeService?
подскажи, плииииз.
Код: plaintext
1.
2.
3.
4.
5.
 class  GegelClientService  implements  RefService {
}

 class  SunPaymentTypeService  implements  RefService {
}

Через XML батенька, через XML, каждый разработчик и пара разработчиков пишет свой кусок кода который в отличии от EJB может хоть тысячу раз переиспользоваться. Да кстате года два назад читал про разделение ролей в J2EE так вот EJB3 не следует разделению ролей, там тот кто пишет компоненты, тот и собирает приложения, так как использует аннотации для активного разрешения DI, в то время как spring следует разделению ролей в полной мере.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512743
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaтысячу раз переиспользоватьсялично сам хоть 500 раз переиспользовал?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512744
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba собирает приложениячто такое "собирать приложение"?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512747
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netvimbaтакой способ написания кода помешает мне использовать его в google-quice?наверное, когда понадобится что-то, чего нет в google-guice?

ps guice, а не quice
Это пипец, Вы как дети. У меня и так POJO который и знать ничего не знает ни о каких серверах, фабриках объектов и прочей инфраструктуре, что ему может понадобиться если он и так написан как будто в 1995 году, когда java под стол пешком ходила и J2EE вообще не было?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512749
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaЭто пипец, Вы как дети. У меня и так POJO который и знать ничего не знает ни о каких серверах, фабриках объектов и прочей инфраструктуре, что ему может понадобиться если он и так написан как будто в 1995 году, когда java под стол пешком ходила и J2EE вообще не было?
ок.

есть у тебя метод transfer() - он у тебя под транзакцией. да? да.
ты убрал спринг, ведь твой проект не зависит от спринга. что будет с транзакцией?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512758
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netvimbaтысячу раз переиспользоватьсялично сам хоть 500 раз переиспользовал?
Тысячу конечно нет, но если удалять копипаст то переиспользовать некоторые классы будешь постоянно. По поводу переиспользования я, на прошлой неделе даже не знал что мне делать плакать или смеяться? Идиоты написали N классов class1, class2, class3 ... classN
[code]
class abstract MessageProcessor {

void processMessage(Message message) {
... общий код обработки JMS сообщения
}
}

class abstract MessageProcessor1 implements MessageListener {

@Override
void onMessage(Message message) {
processMessage(message);
}
}

class abstract MessageProcessor2 implements MessageListener {

@Override
void onMessage(Message message) {
processMessage(message);
}
}

...

class abstract MessageProcessorN implements MessageListener {

@Override
void onMessage(Message message) {
processMessage(message);
}
}
[code]
Всё только из за того что MDB с полностью одинаковым кодом должны были слушать сообщения из разных очередей, думаю этим EJB дебилам повтороное использование одного и того же класса не помешало бы.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512765
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точнее
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
class abstract MessageProcessor {

     void processMessage(Message message) {
     ... общий код обработки JMS сообщения
     }
}

class abstract MessageProcessor1 extends MessageProcessor  implements MessageListener {

     @Override
     void onMessage(Message message) {
         processMessage(message);
     }
}

class abstract MessageProcessor2 extends MessageProcessor  implements MessageListener {

    @Override
    void onMessage(Message message) {
        processMessage(message);
    } 
}

...

class abstract MessageProcessorN extends MessageProcessor  implements MessageListener {

    @Override
    void onMessage(Message message) {
        processMessage(message);
    } 
}
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512771
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой.. ну как с тобой разговаривать.
тебя по делу просишь что-то рассказать, а ты куда-то совершенно не в ту сторону уходишь..

ну ок.

ps я думаю, что если ты перестанешь называть людей за глаза называть дебилами и идиотами, то мир станет для тебя ярче и добродушнее.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512776
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netvimbaЭто пипец, Вы как дети. У меня и так POJO который и знать ничего не знает ни о каких серверах, фабриках объектов и прочей инфраструктуре, что ему может понадобиться если он и так написан как будто в 1995 году, когда java под стол пешком ходила и J2EE вообще не было?
ок.

есть у тебя метод transfer() - он у тебя под транзакцией. да? да.
ты убрал спринг, ведь твой проект не зависит от спринга. что будет с транзакцией?
А что с ней будет? В google guice убрали транзакции и сказали гугл принципиально против транзакций?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512780
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netой.. ну как с тобой разговаривать.
тебя по делу просишь что-то рассказать, а ты куда-то совершенно не в ту сторону уходишь..

ну ок.

ps я думаю, что если ты перестанешь называть людей за глаза называть дебилами и идиотами, то мир станет для тебя ярче и добродушнее.
Я бы рад назвать, и что бы им было стыдно, но код изначально делали оутсорсеры из польши, а стиль именования @author iwójcik, на фамилию одна буква, а имя пишется полностью, тут даже бы если русские писали при таком стиле указания автора краёв не найти.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512786
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netvimba собирает приложениячто такое "собирать приложение"?
SUNApplication Assembler

The application assembler is the company or person who receives application component JAR files from component providers and assembles them into a J2EE application EAR file. The assembler or deployer can edit the deployment descriptor directly or use tools that correctly add XML tags according to interactive selections. A software developer performs the following tasks to deliver an EAR file containing the J2EE application:

Assembles EJB JAR and WAR files created in the previous phases into a J2EE application (EAR) file
Specifies the deployment descriptor for the J2EE application
Verifies that the contents of the EAR file are well formed and comply with the J2EE specification
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512799
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczKachalovВ EJB/JPA сообществе программисты явно поприличней, видимо из-за того что меньше шансов для профессональной реализации быдлокодеров.
http://lib.ru/SOCFANT/CHAPEK/gazeta.txt №1
- к сожалению, факт, что большинство записных преверженцев Spring в данном топике легко и немотивированно используют мат, сексуальные аналогии и воспоминания о "блевотине и ботинках". Уверен что Чапека они просто не читали. В целом, дискутировать в таком тоне, пусть даже с профессионалами (?), просто противно (извиняюсь за эстетство, но общения с быдлом хватает и в электричках).

BlazkowiczПо теме есть ли у кого что сказать?
- по теме: мне EJB 3.1 помогает получать зарплату и успешно реализовывать ECM содержащую в данный около 100 тыс. документов, не вижу причин по которым должен сменить EJB на Spring. Все что мне надо я успешно делаю через инструментарий EJB, если у кого-то не получается с EJB, то это не проблема EJB.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512801
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netя спринг больше принимаю за стандарт по таким критериям.
- а сертификации по Spring есть? или как в Spring-сообществе производится контроль квалификации и знаний технологии?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512830
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov- по теме: мне EJB 3.1 помогает получать зарплату и успешно реализовывать ECM содержащую в данный около 100 тыс. документов, не вижу причин по которым должен сменить EJB на Spring. Все что мне надо я успешно делаю через инструментарий EJB, если у кого-то не получается с EJB, то это не проблема EJB.
Ну есть люди на лошадях пашут, и не видят необходимости менять их на комбайны и трактора, это не показатель, это лишь показатель деградации селького-хозяйства в этой деревни, области, стране. Показателям же является то что крупные проекты бегут с EJB, я в качестве готовых решений в разное время использовал Mule для ESB, Alfresco для документо-оборота и lifreray для корпаративного портала, знаете что между ними общего? Все они убёгли с EJB на Spring, и все они очень крупные приложения.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512833
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KachalovBlazkowiczпропущено...

http://lib.ru/SOCFANT/CHAPEK/gazeta.txt №1
В целом, дискутировать в таком тоне, пусть даже с профессионалами (?), просто противно (извиняюсь за эстетство, но общения с быдлом хватает и в электричках).

А ты не дискутируй ты просто реши поставленную выше задачу на DI, я её написал за несколько минут без xml редактора прям здесь на форуме, если быдло может а ты нет, то даже страшно представить как тебя называть, недобыдло наверно.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512857
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaдаже страшно представить как тебя называть, недобыдло наверно.
- да, конечно, Вы правы - я недобыдло, надеюсь от такого признания Вам стало легче и Вы продолжите дарить человечеству доброе и вечное не отвлекаясь на мою ничтожную персону
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512867
jsecoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Градус накаляется :-) вброшу немного напалма:
Сервлет не сервлет, может просто Hessian сервис или просто Soap сервис, не важно в общем важно то, что заранее не известно будет ли предстваление web.war функционировать на одной JVM с реализацией логики предметной области core.jar. Итак:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
@WebService
OrderWebService {

     // @EJB
     // private OrderServiceLocal orderService;
     // @EJB
     // private OrderServiceRemote orderService;
     // Код закоментирован не случайно так как он не хиляет в случае если мы не знаем каков будет расклад при деплойменте
     
     /*
      * Ну java разработчики не лыком шиты, все ходют по форумам, читают доки поэтому рано или поздно наткнуться на паттерн делегат,
      * введенный в оборот еще в EJB 1.x, в конструкторе этот зверь сам распознает окружений remote или local
      */
      OrderServiceDelegate orderServiceDelegate = new OrderServiceDelegate();

      @WebMethod
      public void do something() {
          orderServiceDelegate.doSomething();
      }
}
теперь внимание код этого делегата
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
public class OrderServiceDelegate  {
     private boolean isLocal;
     private static final String LOCAL_BEAN_NAME = ...;
     private static final String REMOTE_BEAN_NAME = ...;
     
     public OrderServiceDelegate () {
         isLocal = ... здесь по каким то признакам, скорее всего через JNDI определяем какой вызов нам нужен локальный или удаленный.
     }

     public void doSomething() {
         if (isLocal) {
             getLocalService().doSomething();
         } else {
             getRemoteService().doSomething();
         }
     }
     
     private  OrderServiceLocal getLocalService() {
           ... здесь нужно через JNDI вытащить local сервис
     }

     private  OrderServiceRemote getLocalService() {
           ... здесь нужно через JNDI вытащить remote сервис
     }
   
 }
Вот так легко и непринужденно инфраструктурные проблемы связанные банально в различии remote и local вызовов, ставят EJB разработчиков на колени, заставляя писать ненужный код, хотя казалось бы проповедники великой аферы всех времен и народов в каждом хеловорде кричат что в EJB берёт на себя всю работу с инфраструктурой.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512884
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov, у Вас больше пяти тысяx сообщений, неужели спасуете перед быдлом из Ростова у которого и метро то в городе нет :-) ? Давай включай серое вещество, решай задачку на DI на своем EJB, иначе складывается впечатления что несмотря на то что живешь в России, ты то же получаешь зарплату в зависимости от количества строчек кода.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37512966
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне все равно, Spring или EJB (с послденим я просто не работал), но Kachalov прав - в этом топике в целом сторонников EJB читать приятней.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37513089
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jsecoder вброшу немного напалма:

А я немного говна на вентилятор, есть допустим отдел кадров, и нужно например реагировать на события жизненного цикла сотрудников, при приеме на работу например заводить в домене, в контрольно пропускной системе, в системе заказов горячих обедов и.т.д. естественно тут скажут что через MDB это решается, но суть не в этом, это просто иллюстрация того что нужно заинжектить список:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class PersonnelDepartment {

    private List<PersonalListener> listeners;
    
    public void addEmployee(Employee employee) {
        dao.insert(employee);
        for (PersonalListener listener: listeners) {
            listener.onNewEmployee(employee);
        }
    }

}
Как тут ежэбэшники будут список инжектить я ума не приложу.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37513827
пролетевший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaКак тут ежэбэшники будут список инжектить я ума не приложу.
A список и не надо инжектить ( хотя и можно, довольно легко ). Такие вещи лучше через события делать
[src]
public class PersonnelDepartment {

@Inject @Add Event<Employee> addEmployee

public void addEmployee(Employee employee) {
dao.insert(employee);
addEmployee.fire(employee);
}

}
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37514051
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весело тут у вас )
Внесу свои пять копеек. Имеем сервер с задеплоеными ежами(всё что нужно сконфигурено и оттестировано), так сказать ядрышко. Сиё хозяйство использует несколько web и десктоп приложений. Вопрос к спринговцам, как такое организовать на спринге?
зы
кушаю ejb начиная c 2.0
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37515293
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пролетевшийA список и не надо инжектить ( хотя и можно, довольно легко ). Такие вещи лучше через события делать

Ты давай исходи из того что список инжектить надо, нефик оффтопить.

zalexakaВесело тут у вас )
Внесу свои пять копеек. Имеем сервер с задеплоеными ежами(всё что нужно сконфигурено и оттестировано), так сказать ядрышко. Сиё хозяйство использует несколько web и десктоп приложений. Вопрос к спринговцам, как такое организовать на спринге?

Имеем сервер с задеплоеным спрингом(всё что нужно сконфигурено и оттестировано), так сказать ядрышко. Сиё хозяйство использует несколько web приложений. А десктоп не пишем, времена нынче не те, хотя одно небольшое проскакивало, был hessian как связующие звено между сервером приложений и клиентом.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37515583
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zalexakaВесело тут у вас )
Внесу свои пять копеек. Имеем сервер с задеплоеными ежами(всё что нужно сконфигурено и оттестировано), так сказать ядрышко. Сиё хозяйство использует несколько web и десктоп приложений. Вопрос к спринговцам, как такое организовать на спринге?странный вопрос
если с 0, то никаких проблем и нет
если надо существующее приложение избавить от зависимости от ejb, то тоже особо ничего нет, если писалось это по вполне вменяемым принципам
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37515838
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zalexakaВнесу свои пять копеек. Имеем сервер с задеплоеными ежами(всё что нужно сконфигурено и оттестировано), так сказать ядрышко. Сиё хозяйство использует несколько web и десктоп приложений. Вопрос к спринговцам, как такое организовать на спринге?
зы

Spring позволяет любой сервис опубликовать как
Http Invoker, RMI, Hessian, SOAP(с возможностью использовать любую реализацию, а не ту что у вас в контейнер вбита), JSON и пр. Список протоколов этим не заканчивается. Поверх EJB прикрутить любой протокол не так просто.
Или вот MINA использовать для высоконагруженого сокет сервера. В EJB это тоже просто?

Допустим ОК. Hessian с горем попалам прикрутили. И тут вдруг оказывается что есть более производительные протоколы ( http://code.google.com/p/kryo/).
Куда бежать? Как к EJB привинчивать?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37515841
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Остаётся отрытым вопрос, что такого принципиально интересного в EJB, что может заставить девелопера захотеть отказатся от Spring и его opensource зоопарком?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37515845
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.net,

Контекст ядра к jndi прибиваем или

Код: plaintext
1.
2.
3.
4.
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:blah/blah/blah/core.xml</param-value>
    </context-param>
?
зы
жарку ядра соотв. в TOMCAT_HOME/shared/lib
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37515857
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про то как менять топологию кластера в EJB приложении мне тоже что-то никто не торопится отвечать.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37515858
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
Да не, никто от спринга не отказывается и всё новое с его помощью и реализуются. Про
BlazkowiczHttp Invoker, RMI, Hessian, SOAP(с возможностью использовать любую реализацию, а не ту что у вас в контейнер вбита), JSON и пр. я в курсе ). Спасибо за внимание.
зы
после праздников в себя просто ещё никак не приду
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37515937
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Blazkowicz!

> Остаётся отрытым вопрос, что такого принципиально интересного в EJB, что
> может заставить девелопера захотеть отказатся от Spring и его opensource
> зоопарком?

Любопытно вообще.
А насколько сложно переехать с EJB+JPA+JMS на Spring+HornetQ?

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37515953
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraЛюбопытно вообще.
А насколько сложно переехать с EJB+JPA+JMS на Spring+HornetQ?

Принципиальная разница только в нюансах поведения Stateful, Stateless. В остальном перезд вроде должен быть прозрачен.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37517110
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37518637
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Я удалил сообщение от "Всем привет" - явный развод на флейм, еще и не по теме обсуждения.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37518648
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaА что с ней будет? В google guice убрали транзакции и сказали гугл принципиально против транзакций?
@Transactional - это будет зависимость от guice :)
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37518660
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.net имхо слишком тонко намекает:)
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37523923
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже слишком тонко намекает, я например ни как не понимаю, что мне помешает осуществлять транзакции через AOP не меняя исходного кода, точно так же как я обхожусь без аннотации @Transactional в spring?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37524560
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbaкак я обхожусь без аннотации @Transactional в spring?наверное, потому что в спринге нет такой аннотации?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37525424
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netнаверное, потому что в спринге нет такой аннотации?
В спринге есть такая аннотация. А ещё не менее удобно в XML навернуть транзакции на методы Фасада или Серивиса. Например, все классы *Service, все методы get* - read-only транзакции.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37526146
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczВ спринге есть такая аннотациянет )
я говорю о com.google.guice.Transactional
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37526148
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а c xml и в ejb всё ок
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37534869
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.netBlazkowiczВ спринге есть такая аннотациянет )
я говорю о com.google.guice.Transactional
А я говрил о транзакциях через AOP.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37535979
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimbagrasoff.netпропущено...
нет )
я говорю о com.google.guice.Transactional
А я говрил о транзакциях через AOP. покажи плиз как это в guice и как в spring
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37548898
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37550595
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2 http://www.javacodegeeks.com/2011/11/from-spring-to-java-ee-6.html
http://ocpsoft.com/java/spring-to-java-ee-a-migration-guide-cdi-jsf-jpa-jta-ejb/
В обоих темах авторы писаются от счастья, что в JEE теперь можно писать так же просто как в Spring. Но на вопрос "а зачем?" там ответа нет. Вторая статья вообще порвала. Один из основных доводов - у EJB комьюнити побольше и по вежливее.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37835712
sys_daemon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczeros2 http://www.javacodegeeks.com/2011/11/from-spring-to-java-ee-6.html
http://ocpsoft.com/java/spring-to-java-ee-a-migration-guide-cdi-jsf-jpa-jta-ejb/
В обоих темах авторы писаются от счастья, что в JEE теперь можно писать так же просто как в Spring.
Нельзя в J2EE писать с той же эффективностью как на spring, слишком уж spring ушел вперёд в плане DI, и похоже за ним уже никто не собирается гнаться, конкуренты просто сдались, и вопреки здравому смыслу и урокам информатики в седьмом классе на которых учитель рассказывая про VisualBasic говорил как хорошо выносить конфигурацию из кода, и Guice и J2EE и им подобные эту конфигурацию в код наоборот всячески заносят в виде аннотаций, чем серьёзно затрудняют повторное переиспользование компонентов и высокоуровневое осмысление архитектуры проекта, одно дело прочитать XML для какого-нибудь модуля не заглядывая особо в код, другое дело лазить по исходному коду как обезьяна по пальмам выискивая зависимости, при этом не дай бог один и тот же компонент нам придется задействовать дважды в разных конфигурациях.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37835891
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sys_daemon,

и аннотации и XML выносят конфигурации из кода.
Если нравится выносить их "подальше", то выносить нужно в IDE просмотрщик конфигов.
А ему пофигу, аннотация это, ini \ XAML или XML.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37836432
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бизнес-логику, заключенную в спринг бинах, невозможно никак выставить наружу. Как интегрировать спринг-приложения друг с другом, неясно. В Expert One-on-One J2EE Development without EJB так и написано - если хотите сынтегрировать два приложения, суньте их в одну JVM.
По сравнению с хранимыми процедурами в СУБД, которые можно без проблем вызвать когда угодно откуда угодно, это выглядит крайне уныло. JavaEE хотя бы подразумевает возможность интеграции разных приложений.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37836463
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪБизнес-логику, заключенную в спринг бинах, невозможно никак выставить наружу.
Глава 19я из Spring Framework Reference Manual ничего не знает о том что она невозможна.
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/remoting.html
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37836469
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪВ Expert One-on-One J2EE Development without EJB так и написано - если хотите сынтегрировать два приложения, суньте их в одну JVM.
Это не к вопросу о Spring это к вопросу об интеграции вообще.
Смотри Patterns of Enterprise Application Architecture - Distribution Strategies - The Allure of Distributed Objects
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37836482
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНельзя в J2EE писать с той же эффективностью как на spring, слишком уж spring ушел вперёд в плане DI, и похоже за ним уже никто не собирается гнаться, конкуренты просто сдались, и вопреки здравому смыслу и урокам информатики в седьмом классе на которых учитель рассказывая про VisualBasic говорил как хорошо выносить конфигурацию из кода, и Guice и J2EE и им подобные эту конфигурацию в код наоборот всячески заносят в виде аннотаций, чем серьёзно затрудняют повторное переиспользование компонентов и высокоуровневое осмысление архитектуры проекта, одно дело прочитать XML для какого-нибудь модуля не заглядывая особо в код, другое дело лазить по исходному коду как обезьяна по пальмам выискивая зависимости, при этом не дай бог один и тот же компонент нам придется задействовать дважды в разных конфигурациях.

Вы конечно извините но не стоит писать посты подобного содержания с такой категоричностью:) Вообще, сложилось впечатление, что вы не особо плотно работали с Guice и J2EE, и наслушались трепа маркетологов про спринг. Я не буду так категоричен, но все же прокомментирую вас. итак

авторНельзя в J2EE писать с той же эффективностью как на spring
Крайне спорно, хотя бы потому что человек знающий J2EE и не очень владеющий spring очевидно напишет приложение быстрее и эффективнее чем на спринге. Но это так, к слову.
авторслишком уж spring ушел вперёд в плане DI, и похоже за ним уже никто не собирается гнаться,
И в чем спринг ушел далеко вперед именно в плане DI? На мой взгляд фишка спринга - это возможность интегрировать любую технологию с любой другой. Хотя опять же на мой взгляд спринг становится монстром, этаким God framework, и больше половины кода в любом проекте - это либы спринга.
авторкак хорошо выносить конфигурацию из кода
А еще лучше convention over configuration
авторGuice и J2EE и им подобные эту конфигурацию в код наоборот всячески заносят в виде аннотаций, чем серьёзно затрудняют повторное переиспользование компонентов и высокоуровневое осмысление архитектуры проекта,
Не забываем про проверки исходного кода во время компиляции и возможность безболезненного рефакторинга. Кроме того в Guice все завязано на интерфейсы - так что создаешь два модуля, и всего одной строкой кода можно переключить конфигурацию с тестовой на продакшен, если хранить все модули в папке config, все гораздо элегантнее чем полотно непонятных тегов в xml.
Ну про "высокоуровневое осмысление архитектуры проекта" вообще огонь.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37836497
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глава 19я из Spring Framework Reference Manual ничего не знает о том что она невозможна.
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/remoting.html

Это все без распределенных транзакций.
Patterns of Enterprise Application Architecture - Distribution Strategies - The Allure of Distributed Objects

Речь не об объектах - хотелось бы вызывать тупые процедуры.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37836519
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪГлава 19я из Spring Framework Reference Manual ничего не знает о том что она невозможна.
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/remoting.html

Это все без распределенных транзакций.

Во-первых это решаемо. Во-вторых кому нафиг впарлись распределенные транзакции между разными удаленными приложениями? Где вы видели удаленную интеграцию двух приложений с распределенной транзакцией. Это же смерть для нагруженой БД.



Йуный джавистЪЙуный джавистЪБизнес-логику, заключенную в спринг бинах, невозможно никак выставить наружу.Речь не об объектах - хотелось бы вызывать тупые процедуры.
Кто-то из вас двоих путается в показанияю.
"спринг бины" это "объекты". Сначала вопрос о них, потом не о них. Так просто "хочется вызывать тупые процедуры", или этому есть разумное объяснение?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37836646
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых это решаемо.

Как?
Во-вторых кому нафиг впарлись распределенные транзакции между разными удаленными приложениями? Где вы видели удаленную интеграцию двух приложений с распределенной транзакцией. Это же смерть для нагруженой БД.

Понятно, что лучше использовать очереди, но что делать если по бизнес-логике нужна именно синхронная интеграция?
Кто-то из вас двоих путается в показанияю.
"спринг бины" это "объекты". Сначала вопрос о них, потом не о них. Так просто "хочется вызывать тупые процедуры", или этому есть разумное объяснение?

Я имел в виду следующее. Настоящие распределенные объекты - это когда вызов метода распределенного объекта может возвращать распределенный объект. Такое не нужно. В яве для реализации процедурного по сути RPC все равно придется использовать объекты (потому что в языке единственный вид полиморфизма - через интерфейсы и наследование). То есть например какой нибудь OrderService с методом orderItem(long itemId) является по сути тупой процедурой, но в яве это будет объект.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37836693
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪВо-первых это решаемо.

Как?

Как бы реализации JTA не только в апп серверах есть.
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37836757
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪПонятно, что лучше использовать очереди, но что делать если по бизнес-логике нужна именно синхронная интеграция?
где именно она нужна?
Если нужна, то какая цель тогда бить 1 приложение на 2 "по живому".
Т.е. где вы видите, что данная проблема РЕШЕНА?
...
Рейтинг: 0 / 0
Флейм: что вам не нравится в EJB 3.x?
    #37837251
Фотография webus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот интересный у вас флейм получается. Сами недавно сталкивались с выбором, на чем писать. Конечно многие ответят, на том что хорошо знаешь. Нам нужно было написать учетную систему. За гуй взяли ваадин,а вот сервер сайд долго думали что брать. Томкат и всего понемножку, или Жбосс последний с ежб. Не скажу что в Жбосе ежб ведет себя предсказуемо, но все же. Если смотреть на тру вей то вроде все надо писать по стандарту. Раз у наз корпоративное ПО, то берем стек J2EE и пишем. А если у нас поделка, "сделать и забыть", которую поддерживать врядли придется то Томкат. Или я не прав ?
...
Рейтинг: 0 / 0
116 сообщений из 116, показаны все 5 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Флейм: что вам не нравится в EJB 3.x?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]