0

Spring Webflow 和 CDI 兼容吗?我在部署包含 beans.xml(CDI) 的应用程序时遇到问题。

我在 Jboss 7.1 上部署

如果我运行包含 /WEB-INF/beans.xml (CDI) 的应用程序,我会遇到以下异常:

org.springframework.web.util.NestedServletExceptio n:请求处理失败;嵌套异常是 org.springframework.webflow.execution.FlowExecutio nException:在流“comprar”的状态“modalidades”中引发异常 org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:894) org.springframework.web .servlet.FrameworkServlet.d oGet(FrameworkServlet.java:778) javax.servlet.http.HttpServlet.service(HttpServlet .java:734) javax.servlet.http.HttpServlet.service(HttpServlet .java:847) org.springframework。 security.web.FilterChainProxy$ VirtualFilterChain.doFilter(FilterChainProxy.java: 343) org.springframework.security.web.access.intercept。FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) org.springframework.security.web.access.intercept。doFilter(Abst ractAuthenticationProcessingFilter.java:187) org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter(FilterChainProxy.java: 355) org.springframework.security.web.authentication.lo gout.LogoutFilter.doFilter(LogoutFilter.java: 105) org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter(FilterChainProxy.java: 355) org.springframework.security.web.context.SecurityC ontextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) org.springframework.security。 web.FilterChainProxy$ VirtualFilterChain.doFilter(FilterChainProxy.java: 355) org.springframework.security.web.FilterChainProxy。doFilter(FilterChainProxy.java:149) org.springframework.web.filter.DelegatingFilterPro xy.invokeDelegate(DelegatingFilterProxy.java:346) org.springframework.web。

org.springframework.webflow.execution.FlowExecutio nException:在流“comprar”的状态“modalidades”中引发异常 org.springframework.webflow.engine.impl.FlowExecut ionImpl.wrap(FlowExecutionImpl.java:571) org.springframework.webflow。 engine.impl.FlowExecut ionImpl.resume(FlowExecutionImpl.java:262) org.springframework.webflow.executor.FlowExecutorI mpl.resumeExecution(FlowExecutorImpl.java:169) org.springframework.webflow.mvc.servlet.FlowHandle rAdapter.handle(FlowHandlerAdapter .java:183) org.springframework.faces.webflow.JsfFlowHandlerAd apter.handle(JsfFlowHandlerAdapter.java:48) org.springframework.web.servlet.DispatcherServlet。doDispatch(DispatcherServlet.java:923) org.springframework.web.servlet.DispatcherServlet。doService(DispatcherServlet.java:852) org.springframework.web.servlet。

javax.faces.FacesException:检查 jndi 的上次修改时出错:/default-host/webflow-primefaces-showcase/modalidades.xhtml com.sun.faces.facelets.impl.DefaultFaceletCache._g etLastModified(DefaultFaceletCache.java:175) com。 sun.faces.facelets.impl.DefaultFaceletCache.ac cess$000(DefaultFaceletCache.java:62) com.sun.faces.facelets.impl.DefaultFaceletCache$2。newInstance(DefaultFaceletCache.java:93) com.sun.faces.facelets.impl.DefaultFaceletCache$2。newInstance(DefaultFaceletCache.java:89) com.sun.faces.util.ExpiringConcurrentCache$1.call(ExpiringConcurrentCache.java:99) java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:334) java.util. concurrent.FutureTask.run(FutureTask.java:166) com.sun.faces.util.ExpiringConcurrentCache.get(ExpiringConcurrentCache.java:114)

java.io.FileNotFoundException org.apache.naming.resources.DirContextURLConnectio n.getInputStream(DirContextURLConnection.java:369) com.sun.faces.facelets.impl.DefaultFaceletCache._getLastModified(DefaultFaceletCache.java:172) com.sun.faces .facelets.impl.DefaultFaceletCache.ac cess$000(DefaultFaceletCache.java:62) com.sun.faces.facelets.impl.DefaultFaceletCache$2。newInstance(DefaultFaceletCache.java:93) com.sun.faces.facelets.impl.DefaultFaceletCache$2。newInstance(DefaultFaceletCache.java:89) com.sun.faces.util.ExpiringConcurrentCache$1.call(ExpiringConcurrentCache.java:99)

当我删除 beans.xml 时,应用程序工作正常。

4

1 回答 1

0

它们不是开箱即用的互操作,但您可以使用http://seamframework.org/Seam3/SpringModule之类的东西来桥接它们。

但是,万一项目的问题似乎与 JSF 相关(而 CDI 只是导致它出现)。我怀疑 Spring Webflow 的 JSF 处理与 JSF servlet 发生冲突,但在重现之前无法确定。

如果您能提供一种方法来重现它,那就太好了(即您是否在其中一个示例应用程序中看到它?)

于 2012-04-19T03:25:23.890 回答