0

我有一个简单的命令按钮

<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";
    }
}

所以基本上我想要一个按钮,点击后会结束对话,然后重定向到新页面......

这工作一次,然后每次在我的日志中看到以下内容后..(从用户的角度来看,一切正常..单击按钮时,重定向正常工作)

严重:java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) 处 java.util.HashMap$EntryIterator.next(HashMap.java:834) 处 java.util.HashMap$EntryIterator 处的 java.util.ConcurrentModificationException。 next(HashMap.java:832) at org.jboss.weld.context.AbstractConversationContext.deactivate(AbstractConversationContext.java:250) at org.jboss.weld.jsf.WeldPhaseListener.deactivateConversations(WeldPhaseListener.java:131) at org.jboss .weld.jsf.WeldPhaseListener.afterPhase(WeldPhaseListener.java:96) 在 com.sun.faces.lifecycle.Phase.handleAfterPhase(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.internalDoFilter(ApplicationFilterChain.java:343) 在 org.apache.catalina.core.ApplicationFilterChain .doFilter(ApplicationFilterChain.java:215) 在 net.balusc.http.multipart.MultipartFilter.doFilter(MultipartFilter.java:78) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 在 org. apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve. java:175) 在 org.apache.catalina.core.StandardPipeline。doInvoke(StandardPipeline.java:655) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98) at com.sun .enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java :326) 在 com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170) 在 com.sun 的 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)。 grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822) 在 com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:第719章) (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) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) at java.lang.Thread.run(Thread.java:662)

严重:WebModule [] PWC1322:在 ServletRequestListener org.jboss.weld.servlet.WeldListener java.lang.IllegalStateException 上调用 requestDestroyed 方法时出错:上下文在 org.jboss.weld.context.AbstractConversationContext.deactivate(AbstractConversationContext.java:263 ) 在 org.apache.catalina.core.StandardContext.fireRequestDestroyedEvent(StandardContext.java:4588) 在 org.apache.catalina.core.StandardHostValve 的 org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:125)。 postInvoke(StandardHostValve.java:243) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:328) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227) at com.sun .enterprise.v3.services.impl.ContainerMapper。com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822) com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719) com.sun 的服务(ContainerMapper.java:170) .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章)

4

1 回答 1

0

此问题已在最新版本的焊接中得到解决,请参阅相关错误报告

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

于 2011-03-04T17:38:04.583 回答