Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Порядок загрузки контекста Spring в JSF / 4 сообщений из 4, страница 1 из 1
17.02.2015, 11:02
    #38881440
fender1989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок загрузки контекста Spring в JSF
Добрый день
Есть проект на JSF, сервер Glassfish 3.1.2.2

Я хочу вызвать в @ApplicationScoped бине контекст Spring:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@ManagedBean(name = "StartParamBean", eager = true)
@ApplicationScoped
public class StartParamBean implements Serializable {
@PostConstruct
    public void init() {
        ApplicationContext context = SpringContextManager.getContext();
       }
}



ApplicationContext context все время возвращает null, по поричине что контекст Spring еще не успел прогрузится.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class SpringContextManager implements ApplicationContextAware {

    private static ApplicationContext context;

    @Override
    public void setApplicationContext(ApplicationContext ac) throws BeansException {
        context = ac;
    }

    public static ApplicationContext getContext() {
        return context;
    }

}


Например если поставить дебагер на setApplicationContext и getContext, то можно увидеть что сперва идет вызов getContext(), который возвращает null. И только потом setApplicationContext куда пишется уже сам контекст Spring.

Когда то был проект на Tomcat7 c реализацией JSF Mojarra (что и на Glassfish), там порядок загрузки был правильным
В чем может быть проблема?
...
Рейтинг: 0 / 0
17.02.2015, 11:33
    #38881502
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок загрузки контекста Spring в JSF
fender1989,
в web.xml указана загрузка?:
Код: xml
1.
2.
3.
<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
...
Рейтинг: 0 / 0
17.02.2015, 11:36
    #38881508
fender1989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок загрузки контекста Spring в JSF
ivanra,

Да
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/application-context.xml</param-value>
    </context-param>   
<listener>
        <!-- add application context (applicationContext.xml)-->
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>


Все есть.
...
Рейтинг: 0 / 0
17.02.2015, 11:40
    #38881518
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок загрузки контекста Spring в JSF
В крайнем случае, можно и так:
Код: java
1.
  return context==null?ContextLoaderListener.getCurrentWebApplicationContext():context;
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Порядок загрузки контекста Spring в JSF / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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