У меня есть и CDI bean UserController, аннотированный как @ConversationScope с атрибутом, названным как пользователь с открытыми геттерами и сеттерами.Почему два контроллера с размахом разговора не видят друг друга?
@ConversationScoped
@Named("userController")
public class UserController implements Serializable {
private User user;
@PostConstruct
public void init() {
this.user = new User();
}
//getters and setters ommited...
}
У меня также есть второй класс с моими наблюдателями.
@ConversationScoped
public class UserObservers implements Serializable {
@Inject private UserController controller;
public void createObserver(@Observes @MyQualifier MyEvent event) {
this.controller.getUser().setName("Test Name");
}
}
Свойство пользователя заполняет мой интерфейс и я хочу, чтобы мой наблюдатель, чтобы изменить имя пользователя, но свойство пользователя всегда возвращает нуль.
Его как мой наблюдатель находится в другом разговоре.
Могу ли я иметь более одного разговора для одного сеанса пользователя?
Обновление: Когда я изменяю свое навигационное правило для перенаправления, код работает правильно.
Вы можете обновить свой вопрос с помощью кода, который инициализирует пользователя? –