|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
Имеется веб приложение: jdk1.8.0_171, GlassFish5, Primefaces 6.2, Spring framework 5.0.2, ManagedBeans. Т.к. @ManagedBean - deprecated, решил перейти на CDI, заменил: @javax.faces.bean.ManagedBean => @javax.inject.Named @javax.faces.bean.RequestScoped => javax.enterprise.context.RequestScoped @javax.faces.bean.ViewScoped => @org.omnifaces.cdi.ViewScoped @javax.faces.bean.SessionScoped => @javax.enterprise.context.SessionScoped Запускаю: все бины создаются как синглтоны при инициализации приложения, никакого управления бинами в соответствии с их областью видимости в веб-контейнере не происходит. Что надо еще сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2019, 17:21 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
publexus, У вас используется Mojarra + OmniFaces ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2019, 11:02 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
cossack5publexus, У вас используется Mojarra + OmniFaces ? Да: Mojarra 2.3.3.99.payara-p5 OmniFaces version 3.2 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2019, 12:02 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
publexus, Попробовал у себя, вроде работает из коробки (только у меня Mojarra 2.4). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2019, 13:00 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
cossack5publexus, Попробовал у себя, вроде работает из коробки (только у меня Mojarra 2.4). Mojarra 2.4 не рекомендуют , payara-5.183 был на 2.4, а затем в payara-5.184 откатились обратно на 3.9. Но это не по теме. Проект достаточно большой, поэтому не понятно, в чем загвоздка. Но а если по теории: в glassfish CDI-контейнер WELD, насколько я понимаю, в приложении еще spring-движок. Как они интегрируются? При указании @Component - создается spring bean, а при @Named - ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2019, 17:58 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
publexusНо а если по теории: в glassfish CDI-контейнер WELD, насколько я понимаю, в приложении еще spring-движок. Как они интегрируются? - сами по себе никак, надо делать дополнительные телодвижения, например навешивать на бины интерсепторы: Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2019, 10:31 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
KachalovpublexusНо а если по теории: в glassfish CDI-контейнер WELD, насколько я понимаю, в приложении еще spring-движок. Как они интегрируются? - сами по себе никак, надо делать дополнительные телодвижения, например навешивать на бины интерсепторы: Код: java 1.
Можно складывать CDI-бины в ApplicationContext через кастомный BeanFactoryPostProcessor ( пример ). Можно складывать спринговые бины в CDI ( пример ). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 15:26 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
Я еще вот такую тему нашел: Integrate JSF 2.2, CDI with Spring Framework . Буду пробовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 16:36 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
publexusЯ еще вот такую тему нашел: Integrate JSF 2.2, CDI with Spring Framework . Буду пробовать. Так у вас Spring все-таки ? и JSF-аннотации работают, а CDI нет ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 17:37 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
publexus, убедитесь, что у вас есть файлик beans.xml (где именно не помню, но скорее всего в META-INF, погуглите про него) Без этого файлика контейнер бинов CDI не будет сканировать модуль на наличие бинов. Т. е. в каждом модуле, где используете CDI, должен быть beans.xml ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2019, 11:24 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
cossack5publexusЯ еще вот такую тему нашел: Integrate JSF 2.2, CDI with Spring Framework . Буду пробовать. Так у вас Spring все-таки ? и JSF-аннотации работают, а CDI нет ? Да. JSF-аннотации (@ManagedBean) и spring (@Component, @Service, ...) работают в старой версии, разрешаются между собой через org.springframework.web.jsf.el.SpringBeanFacesELResolver. При замене ManagedBean => @Named эти бины доступны и в spring, но создаются все как синглтоны (RequestScoped, SessionScoped при указании не работает). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2019, 09:53 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
publexusЧто надо еще сделать? Самое правильное - не городить огород из "модных" технологий. А то вот оно, поддержание старых да дырявых штанов при помощи новых, но только носков. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2019, 12:40 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
alex55555publexusЧто надо еще сделать? Самое правильное - не городить огород из "модных" технологий. А то вот оно, поддержание старых да дырявых штанов при помощи новых, но только носков. нет ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2019, 14:04 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
Да кому нужен этот JSF. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2019, 20:17 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
publexusИмеется веб приложение: jdk1.8.0_171, GlassFish5, Primefaces 6.2, Spring framework 5.0.2, ManagedBeans. Что-то не понял. А зачем тут Spring? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 09:12 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
GarrickpublexusИмеется веб приложение: jdk1.8.0_171, GlassFish5, Primefaces 6.2, Spring framework 5.0.2, ManagedBeans. Что-то не понял. А зачем тут Spring? Более интересный вопрос - что у него стоит в вершине стека? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 11:36 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
GarrickpublexusИмеется веб приложение: jdk1.8.0_171, GlassFish5, Primefaces 6.2, Spring framework 5.0.2, ManagedBeans. Что-то не понял. А зачем тут Spring? А зачем вообще нужны фреймворки и библиотеки? Можно все написать самому, и не париться, в том числе и сервер приложений и самому слушать порт 80, зачем брать готовый... В приложении Spring используется для реализации технологий, не связанных с контейнером web, в частности Spring Data JPA, Spring Aspect и т.д. maytonGarrickпропущено... Что-то не понял. А зачем тут Spring? Более интересный вопрос - что у него стоит в вершине стека? Что в данном случае подразумевается под вершиной стека? Фабрика бинов Spring работает отдельно, ManagedBeans управляются web-контейнером. В процессе работы требуется из ManagedBeans обратиться к спринг-бину и наоборот. Это осуществляется через ссылку на контекст и org.springframework.web.jsf.el.SpringBeanFacesELResolver. Где должна быть вершина? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 09:28 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
Кто main ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 10:02 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
publexusА зачем вообще нужны фреймворки и библиотеки? Можно все написать самому, и не париться, в том числе и сервер приложений и самому слушать порт 80, зачем брать готовый... В приложении Spring используется для реализации технологий, не связанных с контейнером web, в частности Spring Data JPA, Spring Aspect и т.д. У меня такой "набор" вызывает ассоциации с Жигулями оттюненными в каком-то гараже, у которых теперь два руля и шесть педалей, причём один руль поворачивает только налево, а другой только направо. Зачем собирать такого монстра и потом плакаться что оно жутко неудобно и не совсем работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 10:11 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
publexusВ приложении Spring используется для реализации технологий, не связанных с контейнером web, в частности Spring Data JPA, Spring Aspect и т.д. Для persistence есть тот же хибер, ну и куча всего другого. Аспекты наверняка используете для задач, которые легко решаются простым наследованием. То есть весь спринг идёт лесом, вместе с его недокументированностью и замороченностью. publexusФабрика бинов Spring работает отдельно, ManagedBeans управляются web-контейнером. Ну и зачем два раза управлять одним и тем же? Это как раз те два руля? Типа "по пацански"? publexusВ процессе работы требуется из ManagedBeans обратиться к спринг-бину и наоборот. Один руль поворачивается, но обязательно должен зацепляться за второй, иначе машина не поедет... publexusГде должна быть вершина? С чего начался прожект? Чего в нём сначала не было, а потом появилось? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 11:28 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
alex55555publexusВ приложении Spring используется для реализации технологий, не связанных с контейнером web, в частности Spring Data JPA, Spring Aspect и т.д.Для persistence есть тот же хибер, ну и куча всего другого. Аспекты наверняка используете для задач, которые легко решаются простым наследованием. То есть весь спринг идёт лесом, вместе с его недокументированностью и замороченностью.Да есть хибер, и, да, есть надстройка над хибером - Spring Data JPA которая добавляет много нового и удобного функционала, в чем проблема его использования? Понятная и ясная модель, документации и примеров, кстати, предостаточно. alex55555publexusФабрика бинов Spring работает отдельно, ManagedBeans управляются web-контейнером.Ну и зачем два раза управлять одним и тем же? Это как раз те два руля? Типа "по пацански"? Абсолютно не логичный пример. Это не одно и то же, это разные системы, в вашей аналогии, - это руль и газ. alex55555publexusВ процессе работы требуется из ManagedBeans обратиться к спринг-бину и наоборот.Один руль поворачивается, но обязательно должен зацепляться за второй, иначе машина не поедет... Определенное взаимодействие должно быть, например по аналогии с рулем и акселератором: на большой скорости для безопасности руль должен крутиться туже. А по вашей идеологии монолитности все должно быть единым целым, т.е. колеса, рулевая колонка и педаль газа должны вращаться синхронно с коленвалом, чтобы одним рычагом можно было управлять всеми системами сразу) alex55555publexusГде должна быть вершина?С чего начался прожект? Чего в нём сначала не было, а потом появилось? А что в автомобиле главнее: рулевое управление, трансмиссия или тормоз. Еще раз повторюсь, что все прекрасно работает в проекте. Просто ManagedBeans в соответствии с новой спецификацией CDI являются deprecated. И захотелось привести приложение в соответствие, но с ходу по схеме описанной выше, к сожалению, не получилось. Поэтому хотелось бы все же послушать не критику по выбор средств, т.к. в этом сколько людей - столько и мнений, а какой-нибудь дельный совет по теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 15:36 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
alex55555Аспекты наверняка используете для задач, которые легко решаются простым наследованием Если вы не в курсе, то область аспектов лежит совсем в дугой плоскости нежели наследование. И их функционал используется в том числе для решения таких задач, которые нельзя решить наследованием. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 15:43 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
Запускаю: все бины создаются как синглтоны при инициализации приложения, никакого управления бинами в соответствии с их областью видимости в веб-контейнере не происходит. Можешь показать кусок исходника или макет где эта проблема воспроизводится? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 15:46 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
publexusАбсолютно не логичный пример. Это не одно и то же, это разные системы, в вашей аналогии, - это руль и газ. О том и разговор, что Spring MVC и JSF - это как раз два руля, а не руль и газ. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 15:54 |
|
CDI: @ManagedBean to @Named
|
|||
---|---|---|---|
#18+
GarrickpublexusАбсолютно не логичный пример. Это не одно и то же, это разные системы, в вашей аналогии, - это руль и газ. О том и разговор, что Spring MVC и JSF - это как раз два руля, а не руль и газ. Я, вроде писал, что в моем проекте Spring не используется в технологиях веб, в том числе Spring MVC. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 16:02 |
|
|
start [/forum/topic.php?fid=59&msg=39781164&tid=2121436]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
191ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 300ms |
0 / 0 |