У меня есть простая командная кнопка
<h:commandButton value="Create Form Event" action="#{formEventController.createFormEvent}"/>
, которая вызывает следующий слушатель простых действий
@Named
@ConversationScoped
public class FormEventController implements Serializable
{
@Inject
private Conversation conversation;
...
public String createFormEvent()
{
conversation.end();
return "events?id=" + form.getId() + "&faces-redirect=true";
}
}
, поэтому в основном я хочу кнопку, которая при нажатии завершит разговор, а затемперенаправить на новую страницу ...
это работает ОДИН РАЗ, затем каждый раз, когда я вижу следующее в моих журналах .. (с точки зрения пользователей, все работало правильно .. когда нажата кнопка,перенаправление работает правильно)
SEVERE: java.util.ConcurrentModificationException в java.util.HashMap $ HashIterator.nextEntry (HashMap.java:793) в java.util.HashMap $ EntryIterator.next (HashM.java: 834) в java.util.HashMap $ EntryIterator.next (HashMap.java:832) в org.jboss.weld.context.AbstractConversationContext.deactivate (AbstractConversationContext.java:250) в org.jboss.weld.WeldPhaseListener.deactivateConversations (WeldPhaseListener.java:131) в org.jboss.weld.jsf.WeldPhaseListener.afterPhase (WeldPhaseListener.java:96) в com.sun.faces.lifecycle.Phase.handleAftere (Phase.java:189) на com.sun.faces.lifecycle.Phase.doPhase (Phase.java:107) на com.sun.faces.lifecycle.LifecycleImpl.execute (LifecycleImpl.java:118) на javax.faces.webapp.FacesServlet.service (FacesServlet.java:312) в org.apache.catalina.core.StandardWrapper.service (StandardWrapper.java:1534) в org.apache.catalina.core.ApplicationFilterChain.internalFilterF34 () в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:215) в net.balusc.http.multipart.MultipartFilter.doFilter (MultipartFilter.java:78) в org.apache.catalina.cil.Appin.internalDoFilter (ApplicationFilterChain.java:256) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:215) в org.apache.catalina.core.StandardWrapperValve.invoke27 (стандартный).catalina.core.StandardContextValve.invoke (StandardContextValve.java:175) в org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:655) на org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:595) на com.sun.enterprise.web.WebPipeline.invoke (WebPipeline.java:98) на com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke (PESessionLockingStandardPipeline.java:91) в org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:162) в org.apache.catoyinaapap.co.sery.coser) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:227) в com.sun.enterprise.v3.services.impl.ContainerMapper.service (ContainerMapper.java:170) в com.sun.grizzly.http.ProcessorTask.invokeAdapter (ProcessorTask.java:822) на com.sun.grizzly.http.ProcessorTask.doProcess (ProcessorTask.java:719) на com.sun.grizzly.http.ProcessorTask.process (ProcessorTask3.java):в com.sun.grizzly.http.DefaultProtocolFilter.execute (DefaultProtocolFilter.java:225) в com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter (DefaultProtocolChain.java:137) в com.sun.grizzly.DefaultProtocolChain.execute (DefaultProtocolChain.java:104) в com.sun.grizzly.DefaultProtocolChain.execute (DefaultProtocolChain.java:90) в com.sun.grizzly.http.HttpProtocolChain.execute: HttpProtocol:79) по адресу com.sun.grizzly.ProtocolChainContextTask.doCall (ProtocolChainContextTask.java:54) по адресу com.sun.grizzly.SelectionKeyContextTask.call (SelectionKeyContextTask.java:59) по адресу com.sun.grizzly.Conkava.: 71) at com.sun.grizzly.util.AbstractThreadPool $ Worker.doWork (AbstractThreadPool.java:532)на com.sun.grizzly.util.AbstractThreadPool $ Worker.run (AbstractThreadPool.java:513)
at java.lang.Thread.run (Thread.java:662)
SEVERE: WebModule [] PWC1322: Ошибка
вызывая метод requestDestroyed для
сервлета
org.jboss.weld.servlet.WeldListener
java.lang.IllegalStateException:
Контекст не активен
в org.jboss.weld.context.AbstractConversationContext.deactivate (AbstractConversationContext.java:263)
в org.jboss.weld.servlet.WeldListener.requestDestroyed (WeldListener.java:125)
в org.apache.catalina.core.StandardContext.fireRequestDestroyedEvent (StandardContext.java:4588)
в org.apache.catalina.core.StandardHostValve.postInvoke (StandardHostValve.java:243)
в org.apache.catalina.connector.CoyoteAdapter.doService (CoyoteAdapter.java:328)
в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:227)
на com.sun.enterprise.v3.services.impl.ContainerMapper.service (ContainerMapper.java:170)
в com.sun.grizzly.http.ProcessorTask.invokeAdapter (ProcessorTask.java:822)
на com.sun.grizzly.http.ProcessorTask.doProcess (ProcessorTask.java:719)
на com.sun.grizzly.http.ProcessorTask.process (ProcessorTask.java:1013)
на com.sun.grizzly.http.DefaultProtocolFilter.execute (DefaultProtocolFilter.java:225)
в com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter (DefaultProtocolChain.java:137)
на com.sun.grizzly.DefaultProtocolChain.execute (DefaultProtocolChain.java:104)
на com.sun.grizzly.DefaultProtocolChain.execute (DefaultProtocolChain.java:90)
на com.sun.grizzly.http.HttpProtocolChain.execute (HttpProtocolChain.java:79)
на com.sun.grizzly.ProtocolChainContextTask.doCall (ProtocolChainContextTask.java:54)
на com.sun.grizzly.SelectionKeyContextTask.call (SelectionKeyContextTask.java:59)
на com.sun.grizzly.ContextTask.run (ContextTask.java:71)
на com.sun.grizzly.util.AbstractThreadPool $ Worker.doWork (AbstractThreadPool.java:532)
на com.sun.grizzly.util.AbstractThreadPool $ Worker.run (AbstractThreadPool.java:513)
at java.lang.Thread.run (Thread.java:662)