powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Флейм: что вам не нравится в EJB 3.x?
25 сообщений из 116, страница 3 из 5
Флейм: что вам не нравится в 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
25 сообщений из 116, страница 3 из 5
Форумы / Java [игнор отключен] [закрыт для гостей] / Флейм: что вам не нравится в EJB 3.x?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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