Завершающий разговор боб области видимости и затем перенаправленный при нажатии кнопки команды - PullRequest
0 голосов
/ 03 марта 2011

У меня есть простая командная кнопка

<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)

1 Ответ

0 голосов
/ 04 марта 2011

эта проблема была решена в последней версии сварного шва, см. Соответствующий отчет об ошибке

https://issues.jboss.org/browse/WELD-833

...