2011-03-03 23 views
0

我有當點擊一個簡單的命令按鈕結束談話範圍的bean,然後重定向當命令按鈕按下

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

所以基本上我想有一個按鈕將結束一個對話,然後重定向到一個新的頁面...

這個作品ONCE,然後每次我在我的日誌中看到以下內容..(從用戶的角度來看,一切工作正常單擊該按鈕。當,重定向工作正常)

重度: java.util.ConcurrentModificationException 在java.util.HashMap中$ HashIterator.nextEntry(HashMap.java:793) 在java.util.HashMap $ EntryIterator.next(HashMap.java:834) at java.util.HashMap $ EntryIterator.next(HashMap.java:832) at org.jboss.weld.context.AbstractConversationContext.deactivate(AbstractConversationContext。的java:250) 在org.jboss.weld.jsf.WeldPhaseListener.deactivateConversations(WeldPhaseListener.java:131) 在org.jboss.weld.jsf.WeldPhaseListener.afterPhase(WeldPhaseListener.java:96 ) at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:189) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:107) at com.sun.faces.lifecycle .LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at net.balusc.http.multipart.MultipartFilter .doFilter(MultipartFilter.java:78) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicatio nFilterChain.java:256) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) 在有機apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 在org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) 在org.apache.catalina.core.StandardPipeline.invoke( (PESessionLockingStandardPipeline.java:91) at org。)。 apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227) at com.sun.enterprise.v3。 services.impl.ContainerMapper.service(ContainerMapper.java:170) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask。 java:719) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225) at com.sun。 grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) at 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)

SEVERE:W ebModule [] PWC1322:錯誤 上 ServletRequestListener org.jboss.weld.servlet.WeldListener java.lang.IllegalStateException調用requestDestroyed方法: 上下文不活躍 在org.jboss.weld.context.AbstractConversationContext.deactivate(AbstractConversationContext .java:263) at org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:125) at org.apache.catalina.core.StandardContext.fireRequestDestroyedEvent(StandardContext.java:4588) at org.apache .catalina.core.StandardHostValve.postInvoke(StandardHostValve.java:243) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:328) at org.apache.ca在com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170) com.sun.grizzly.http.ProcessorTask上的talina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227) 。 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) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain。 java:104) at 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) at com.sun.grizzly.ContextTask.run(ContextTask.java:71) at com.sun.grizzly.util.AbstractThreadPool $ Worker.doWork(AbstractThreadPool.java:532) at com。 sun.grizzly.util.AbstractThreadPool $ Worker.run(AbstractThreadPool.java:513) 在java.lang.Thread.run(Thread.java:662)

回答

0

這個問題一直在焊縫的最新版本解決,請參閱相關的錯誤報告

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

+0

多麼愚蠢有人可以是使這樣的錯誤虛焊?並影響到這麼多人。 – 2011-06-11 12:45:06

相關問題