2011-07-31 8 views
2

웹 응용 프로그램에서 사용자 정의 오류 페이지를 사용하려고합니다.
그러나 Weld에서는 작동하지 않습니다. 내가 대신 점점 사용자 지정 오류 페이지의 내 응용 프로그램에 존재하지 않는 페이지로 이동하면 나는 용접에서 예외를 참조하십시오 그러나Weld & Tomcat7에서 사용자 정의 오류 페이지가 작동하지 않습니다.

https://issues.apache.org/bugzilla/show_bug.cgi?id=50789

:

SEVERE: Servlet.service() for servlet Faces Servlet threw exception 
java.lang.IllegalStateException: Must call associate() before calling activate() 
    at org.jboss.weld.context.AbstractConversationContext.activate(AbstractConversationContext.java:273) 
    at org.jboss.weld.jsf.WeldPhaseListener.activateConversations(WeldPhaseListener.java:110) 
    at org.jboss.weld.jsf.WeldPhaseListener.beforePhase(WeldPhaseListener.java:84) 
    at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:224) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:95) 
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:106) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:334) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:473) 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402) 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329) 
    at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:466) 
    at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:387) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:181) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

내가이 톰캣에 버그가 있다고 생각

: 내 web.xml을에서

발췌 v.7.0.9에서 수정되었습니다

Tomcat 7.0.19, JSF 2.0 및 Weld 1.1.2를 사용하고 있습니다.
어떤 아이디어가 발생합니까?

+0

아무것도가 활성화되지 않습니다. 나는 seam-wicket으로 비슷한 문제를 해결해 왔으며, 결국에는 seam-wicket을 다시 작성하여 @RequestScoped에 대한 지원을 내 앱에서 삭제했습니다. 그러나 이것이 JSF로하고 싶은 일이 아닐 것입니다. 그것은 weld + JSF 통합 개발자를위한 작업입니다. 혹시 클래스 패스에 weld-se-core를 추가하지 않으셨습니까? –

답변

0

는 용접의 맥락에서 유일한 용접-servlet.jar 파일을 클래스 패스에 존재하는, 내가 원인이 RequestScoped에 대한 그 상황에 맞는 생각