Использование Spring бинов в Seam

19 views
Skip to first unread message

maratische

unread,
Feb 6, 2009, 9:16:11 AM2/6/09
to The Russia JBoss Seam user group
В нашем приложение для работы с данными использует Spring. Реализован
ранее другой группой разработчиков.

Соответственно в каждом action присутствует данная конструкция:
@In("#{documentTypeService}") DocumentTypeService
documentTypeService;
@In("#{campaignService}") CampaignService campaignService;
......

Родилась идея, а не будет ли быстрее работать, если создать один
action типа application, в котором будут храниться все инициализации
спринговых бинов
@Name("springPool")
@Scope(ScopeType.APPLICATION)
public class SpringPoolBean {
@Logger private Log log;
@In("#{documentTypeService}") DocumentTypeService
documentTypeService;
@In("#{campaignService}") CampaignService campaignService;
@In("#{languageManDao}") LanguageDAO languageDAO;


А для работы с бинами в наших action использовать конструкцию типа
List<Language> languages = springPool.getLanguageDAO
().getSupportedLanguages();

те не инициализировать в каждом action обращение к бину, а дергать его
из одного статичного action?
или все равно все спринговые бины находятся в единственном экземпляре
в куче и ничего не меняется? (я почему стал склоняться к второму
варианту)

ps: у нас просто есть ситуации, когда action типа SESSION имеет ссылку
на спринг

Sergey Kiselev

unread,
Feb 7, 2009, 10:09:13 AM2/7/09
to the-russia-jboss...@googlegroups.com
Родилась идея, а не будет ли быстрее работать, если создать один
action типа application, в котором будут храниться все инициализации
спринговых бинов
А профайлером узкие места смотреть пробовали?
А для работы с бинами в наших action использовать конструкцию типа
List<Language> languages = springPool.getLanguageDAO
().getSupportedLanguages();
Не очень хорошая идея, в архитектурном смысле. Так получается один мегакласс который может работать со спрингом.
те не инициализировать в каждом action обращение к бину, а дергать его
из одного статичного action?
или все равно все спринговые бины находятся в единственном экземпляре
в куче и ничего не меняется? (я почему стал склоняться к второму
варианту)
По умолчанию все спринговые бины имею тип синглтон, то есть один бин  на один апликатион контекст.

p/s
Очень многое зависит от реализации связи спринга к симу.
Reply all
Reply to author
Forward
0 new messages