Компонент сессионной области CDI создается только один раз, если пользователь получает доступ из двух разных браузеров. - PullRequest
0 голосов
/ 30 июня 2011

У меня странное поведение, я вижу, что если пользователь получает доступ к сессионному компоненту из двух разных браузеров, срок действия сессионного компонента одинаков. На мой взгляд, это непредвиденное поведение. Кто-то решил ту же проблему? Я использую Jsf 2.0, Spring 3.0.5, Hibernate и, как WebServer Glassfish. Заранее спасибо.

Обновление

import model.entity.Utente;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;

/**
 *
 * @author 
 */
@Named
@SessionScoped
public class SessionBean implements Serializable {

так я объявляю сессионный компонент CDI

1 Ответ

4 голосов
/ 30 июня 2011

Я полагаю, что bean-компонент управляется Spring, а не CDI. (Если вы хотите использовать CDI со Spring, вам нужно проделать большую работу, только использование javax.inject.Named не достаточно.)

Весна знает javax.inject.Named, но не javax.enterprise.context.SessionScoped. Чтобы сделать область Spring Bean Scope необходимой, вам нужно @org.springframework.context.annotation.Scope("session").

@ см. Также: Spring Reference Глава 3.5.4 Область запросов, сеансов и глобальных сессий

...