Я пытаюсь использовать реализацию CDI Weld, на JBoss AS 7 и в приложении JSF 2. 0.Weld + JSF 2.0 @ConversationScoped не поддерживает состояние
Дело в том, что мой @ConversationSconed @Named bean, похоже, не сохраняет свое состояние, когда я начинаю разговор.
В ordre, чтобы увидеть это, я просто использую счетчик, который я увеличиваю каждый раз, когда нажимаю на кнопку команды, используя Primefaces и ajax.
Beans.xml присутствует в пути к классам (META-INF, WEB-INF ...), и я просто хочу уточнить это с помощью компонента @SessionScoped или @ManagedBean @ViewScoped, он работает очень хорошо!
Но я предпочитаю использовать @ConversationScoped и оставаться с @Named bean, вместо использования @ManagedBean.
Может быть, я должен сделать Additionaly конфигурацию JBoss AS 7 или в web.xml, я не знаю ...
Вот мой @ConversationScoped боб:
@Named
@ConversationScoped
public class ConversationTest implements Serializable {
private int counter;
@Inject
private Conversation conversation;
public void startConversation() {
System.out.println(counter);
counter++;
if(conversation.isTransient())
conversation.begin();
}
public void stopConversation() {
if (!conversation.isTransient())
conversation.end();
}
public int getCounter() {
return counter;
}
public void setCounter(int counter) {
this.counter = counter;
}
}
И здесь является содержанием моей страницы xhtml:
<h:form prependId="false">
<h:panelGroup id="tests">
<h:outputText value="#{conversationTest.counter}" /> <br/>
<h:outputText value="Test : #{conversationTest.testHello}" /> <br/><br/>
</h:panelGroup>
<p:commandButton
value="Start !"
actionListener="#{conversationTest.startConversation}"
update="tests" />
<br/>
<p:commandButton
value="Stop !"
actionListener="#{conversationTest.stopConversation}"
update="tests" />
</h:form>
Что я делаю неправильно? Я что-то забыл?
Большое спасибо за ваши ответы!
Я не уверен, что вы подразумеваете под «не удерживает состояние»? Каков результат, которого вы ожидаете и что происходит? –
Когда я нажимаю кнопку, я уверен, что число chatTest.counter увеличивается, но это не так. – Zarkus13